1.写在前面
上一节演示了在本地部署了基于DeepSeek R1的大模型,由于只能在控制台里交互,对于业务操作极不方便,本节展示实现DeepSeek模型的远程交互。
2.开启Ollama
打开Ollama,确保服务正常运行:
ollama serve
如果出现端口占用,表示服务已经在正常运行中。可以通过命令的方式查看11434端口是否正常监听。
开放0.0.0.0监听,添加一个环境变量。OLLAMA_HOST值为0.0.0.0:11434
重新启动Ollama后,监听已经变为0.0.0.0:11434
3.安装Chatbox
安装Chatbox是一款开源免费、跨平台的桌面客户端,支持 Windows、Mac、Linux 以及移动端的 iOS 和 Android 系统,也有网页版。它可以调用 ChatGPT、Claude、Google Gemini Pro 等大语言模型,还支持本地数据存储、多语言模型集成、图像生成等功能,可用于日常聊天、代码调试、文档生成、图像创作等。
下载安装Chatbox,登录到官方网站:
chatboxai.app/zh
下载完成后使用默认方式安装即可,安装后运行Chatbox主程序。
4.配置Chatbox
选择使用自己的API Key或本地模型。
image
选择Ollama API
选择API域名,使用本机的Ollama API地址,模型选择32B。
image
image
我这里仅将新对话的默认显示修改为DeepSeek,其它配置保持默认,点击保存。
可以正常的对话,对于一些需要本地化测试的实验数据、个人隐私数据等,可以通过此方式避免数据泄露。
5.Python远程调用
在进行远程调用时,需要将Ollama的API接口地址扩展至局域网访问,此处需要在防火墙中放行11434的tcp端口。
可以使用以下cmd命令,以管理员身份运行一键放行。
netsh advfirewall firewall add rule name=”放行11434端口” dir=in action=allow protocol=TCP localport=11434
或者手动放行
安装requests,使用pip安装
pip3 install requests
粘贴脚本,存至test.py
import requests
import json
项目参数
API_BASE_URL = ‘http://localhost:11434’
API_PATH = ‘/api/generate’
def get_next_chapter(prompt):
“””
向 Ollama 模型发送请求并获取内容
:param prompt: 输入的提示信息
:return: 模型生成的响应内容
"""
# 替换为你使用的模型名称
model_name = 'deepseek-r1:32b'
data = {
"model": model_name,
"prompt": prompt,
"stream": False
}
response = requests.post(
f"{API_BASE_URL}{API_PATH}",
json=data
)
if response.status_code == 200:
# 使用 response.json() 来解析 JSON 数据
response_data = response.json()
# 从解析后的字典中获取 "response" 字段的值
return response_data["response"]
else:
raise ValueError(f"请求失败,状态码:{response.status_code}")
def main():
try:
# 定义一个示例提示信息,你可以根据需求修改
prompt = “请生成一个小故事。”
result = get_next_chapter(prompt)
print(“模型生成的内容:”)
print(result)
except ValueError as e:
print(f”发生错误:{e}”)
except requests.RequestException as e:
print(f”网络请求出现问题:{e}”)
if name == “main“:
main()
将API_BASE_URL修改为你的Ollama地址,main函数里的prompt修改为你的问题,然后保存文件至test.py,运行脚本:
python3 test.py
可以看到,此Demo已经由DeepSeek将问题回答出来了。后续可以将此示例代码扩展至其它应用中集成使用。
声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/424943.html