默认使用Ollama部署完AI大模型后,即可通过终端进行交互式对话,但如何与其他应用进行集成呢?比如给对话加个聊天窗口?使用Python即可轻松实现,话不多说,上实例!
💞更多内容,可关注公众号“ 一名程序媛 ”,我们一起从 0 - 1 学编程💞
1 安装ollama模块
完成上述功能,即是借助ollama
在python
下的模块实现,直接使用pip
包管理器安装即可
pip install ollama
2 引入模块后,调用generate()方法即可接收回复消息
model
用来选择已安装的大模型名称prompt
即是输入的提示词
从返回信息中即可提取大模型回复的消息内容
import ollama
response = ollama.generate(
model="deepseek-r1:1.5b", # 模型名称
prompt="你是谁?" # 提示文本
)
print(response)
3 使用对话模式进行交互
from ollama import chat
response = chat(
model="deepseek-r1:1.5b",
messages=[
{"role": "user", "content": "你好?你叫什么名字?"}
]
)
print(response.message.content)
4 访问指定Ollama服务器
以上的访问都是在本机部署,本机调用的情况下使用,如果是在服务器部署,给局域网内其他电脑访问,就要加些动作了
首先是设置环境变量,允允许外部访问
export OLLAMA_HOST=0.0.0.0 # 允许的有IP访问
export OLLAMA_ORIGINS=* # 允许浏览器跨域访问
敲黑板,网上很多教程都是直接如上设置,此处为了测试也是允许所有IP访问,但如果你要想隐私不被泄露,最好还是再添加一层防火墙设置,只允许特定IP可访问
(本打算测试直接在OLLAMA_HOST
中指定特定IP,但都报错cannot assign requested address
,不知道是我的问题,还是Bug)
继续,给ollama
客户端绑定服务器IP和端口,后续调用client.chat()
方法进行对话即可
from ollama import Client
host = '192.168.220.50'
port = '11434'
client = Client(host=f'http://{host}:{port}')
5 完整实例
from ollama import Client
host = '192.168.220.50'
port = '11434'
client = Client(host=f'http://{host}:{port}')
model = 'deepseek-r1:1.5b'
messages = [{
"role": 'user',
"content": '你好?你叫什么名字?'
}]
options = {
"temperature": 0
}
res = client.chat(model=model, messages=messages, options=options)
print(res.message.content)
6 多说一句
上面实现了调用ollama
运行DeepSeek
大模型的对话功能,但没有加入GUI的代码,因为这块见人见智,就自由发挥吧,总之就是把prompt
或content
的内容绑定到输入框,把上述print()
打印的内容显示到结果框即可
💞更多内容,可关注公众号“ 一名程序媛 ”,我们一起从 0 - 1 学编程💞