Python调用Ollama实现本地应用接入DeepSeek模型对话

默认使用Ollama部署完AI大模型后,即可通过终端进行交互式对话,但如何与其他应用进行集成呢?比如给对话加个聊天窗口?使用Python即可轻松实现,话不多说,上实例!

更多内容,可关注公众号“ 一名程序媛 ”,我们一起从 0 - 1 学编程

1 安装ollama模块

完成上述功能,即是借助ollamapython下的模块实现,直接使用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的代码,因为这块见人见智,就自由发挥吧,总之就是把promptcontent的内容绑定到输入框,把上述print()打印的内容显示到结果框即可

更多内容,可关注公众号“ 一名程序媛 ”,我们一起从 0 - 1 学编程

你可能感兴趣的:(AI,编程入门,计算机,python,ollama,deepseek,ai)