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 学编程💞

### 配置和使用 PyCharm 中的本地 DeepSeek 模型 #### 准备工作 确保已经安装了 PyCharm 社区版,可以从官方下载页面获取并完成安装[^3]。 #### 安装 OllamaDeepSeek Coder 插件 为了使 PyCharm 支持 DeepSeek 模型,在 IDE 内部需集成特定插件。通过访问 PyCharm 的设置菜单 (`File` -> `Settings`) 并导航到 `Plugins` 来查找名为 "Ollama" 或者与之相关的插件进行安装。同样地,“DeepSeek Coder”也是必要的组件之一,用于增强代码理解和生成能力[^1]。 #### 下载和配置 DeepSeek R1 模型 按照官方文档指示下载适合版本的 DeepSeek-R1 模型文件,并将其放置于指定目录下以便后续调用。此过程可能涉及环境变量设定或其他形式的路径配置来告知应用程序模型的具体位置。 #### 创建 Python 脚本以加载模型 创建一个新的 `.py` 文件作为入口点,例如命名为 `deepseek_chat.py` 。在此脚本内部编写初始化逻辑以及定义交互接口函数,从而实现DeepSeek API 的封装。下面是一个简单的例子: ```python from transformers import AutoModelForCausalLM, AutoTokenizer def load_model(model_name='path/to/deepseek-r1'): tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name) return model, tokenizer if __name__ == "__main__": model, tokenizer = load_model() while True: prompt = input("Enter your message: ") inputs = tokenizer(prompt, return_tensors="pt") outputs = model.generate(**inputs) response = tokenizer.decode(outputs[0], skip_special_tokens=True) print(f"Response from model: {response}") ``` 这段代码展示了如何利用 Hugging Face Transformers 库加载预训练的语言模型实例,并提供了一个简易命令行界面让用户可以输入消息并与模型对话。 #### 运行项目 保存上述修改后的 Python 文件后,在 PyCharm 的项目视图里找到该文件(即 `deepseek_chat.py`),右键单击它并选择选项 `"Run 'deepseek_chat'"` 即可启动程序执行流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值