欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > deepseek本地调用

deepseek本地调用

2025/2/23 7:34:18 来源:https://blog.csdn.net/LNN0212/article/details/145688323  浏览:    关键词:deepseek本地调用

目录

1.介绍

2.开始调用

2.1模型检验

 2.2 通过url调用

3.总结


1.介绍

这篇博客用来教你如何从本地调用ollama中deepseek的模型接口,直接和deepseek进行对话。

2.开始调用

2.1模型检验

首先要保证ollama已经安装到本地,并且已经下载了deepseek模型。可以使用下面的命令检验:

ollama list

 2.2使用subprocess

使用subprocess直接与模型进行对话,使用ollama命令中的pullrun选项来调用模型。

import subprocessdef ollama_deepseek_conversation(prompt):try:# 通过命令行使用 ollama run deepseek-r1:7b 模型,注意这里的模型名字,可以使用ollama list可以看见模型名字result = subprocess.run(['ollama', 'run', 'deepseek-r1:7b'], input=prompt,stdout=subprocess.PIPE, text=True)# 获取模型响应并返回return result.stdout.strip()except Exception as e:return f"Error occurred: {e}"if __name__ == "__main__":print("开始对话,输入'quit'退出")while True:# 获取用户输入user_input = input("你: ")if user_input.lower() == 'quit':print("对话结束")break# 调用deepseek模型获取响应response = ollama_deepseek_conversation(user_input)print(f"deepseek: {response}")

 

 2.2 通过url调用

1.创建一个本地的服务来将命令行调用转化为 REST API 请求

from flask import Flask, request, jsonify
import subprocessapp = Flask(__name__)# 定义一个路由来处理POST请求
@app.route('/deepseek', methods=['POST'])
def deepseek_conversation():data = request.get_json()  # 获取用户的 JSON 输入prompt = data.get('prompt', '')  # 从 JSON 中获取 'prompt'try:# 运行 ollama 命令并将用户输入传给 deepseek-r1:7bresult = subprocess.run(['ollama', 'run', 'deepseek-r1:7b'], input=prompt,stdout=subprocess.PIPE, text=True)# 获取模型的响应response = result.stdout.strip()return jsonify({"response": response})  # 返回 JSON 格式的响应except Exception as e:return jsonify({"error": str(e)}), 500  # 捕获错误并返回500状态码if __name__ == "__main__":app.run(host="0.0.0.0", port=5000)  # 启动 Flask 服务,监听5000端口

2.使用 requests 库来向这个本地服务发送 HTTP 请求,并获得 deepseek 模型的响应。

import requestsdef ollama_deepseek_conversation(prompt):try:url = "http://localhost:5000/deepseek"  # Flask API 地址response = requests.post(url, json={"prompt": prompt})  # 发送 POST 请求if response.status_code == 200:return response.json().get("response", "无响应")  # 解析返回的 JSON 数据else:return f"Error: {response.status_code} {response.text}"except Exception as e:return f"Error occurred: {e}"if __name__ == "__main__":print("开始对话,输入'quit'退出")while True:user_input = input("你: ")if user_input.lower() == 'quit':print("对话结束")break# 调用 deepseek 模型并获取响应response = ollama_deepseek_conversation(user_input)print(f"deepseek: {response}")

3.总结

和deepseek对话,可行的方式不仅仅只有命令窗口或webui等等,还可以使用url调用,这样一来,你就可以使用一些硬件接入deepseek(例如使用ESP32接入自己的本地deepseek制作一个本地聊天机器人)。

希望这一片博客可以为你的思路提供新的参考。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com