【LLM】基于ollama 实现模型多轮对话
·
基于ollama 实现模型多轮对话
ollama 下载安装
Download Ollama on Windows](https://ollama.com/download) Ollama官网
下载安装后,ollama在c盘模型安装路径也默认为c盘,如需更改可以更新环境变量

在ollama安装路径下启动cmd ollama run qwen2.5:7B 即可自动下载并运行

python 使用ollama
安装ollama库: pip install ollama
-
代码实现
- 方式一
import ollama # 聊天式 response = ollama.chat(model='qwen2.5:7b', messages=[{'role': 'user', 'content': '你认识时崎狂三吗', }]) print(response) print(response['message']['content']) # ⽣成式 response = ollama.generate(model='qwen2.5:7b', prompt='为什么天空是蓝⾊的?') print(response) messages = [] messages.append({'role': 'user', 'content': '你知道桐人吗'}) response = ollama.chat(model='qwen2.5:7b', messages=messages) print(response['message']['content']) messages.append({'role': 'assistant', 'content': response['message']['content']}) messages.append({'role': 'user', 'content': '他有什么成就'}) response = ollama.chat(model='qwen2.5:7b', messages=messages) print(response['message']['content'])- 方式二
# 可以远程调⽤ollama from ollama import Client # client = Client(host='http://192.168.1.100:11434') client = Client(host='http://127.0.0.1:11434') response = client.chat(model='qwen2:1.5b', messages=[ { 'role': 'user', 'content': '为什么天空是蓝⾊的?', }, ]) print(response['message']['content'])- 方式三
- 可以通过设置 stream=True 启⽤响应流,使函数调⽤返回⼀个 Python ⽣成器,其中 每个部分都是流中的⼀个对象。
import ollama stream = ollama.chat( model='qwen2:1.5b', messages=[{'role': 'user', 'content': '为什么天空是蓝⾊的?'}], stream=True, ) for chunk in stream: print(chunk['message']['content'], end='', flush=True)
longChain使用
安装langchain库: pip install langchain
安装langchain_community库: pip install langchain_community
from langchain_community.llms import Ollama
model = Ollama(model='qwen2.5:7b')
res = model.invoke('你好啊')
print(res)
requests 使用
安装requests库: pip install requests
host="xxx"
port="xxx"
url = f"http://{host}:{port}/api/chat"
model = "qwen2:1.5b"
1
2
3
4
本节⼩结
本章节主要介绍了⼤模型;并对接下来的项⽬实现进⾏环境配置⼯作。
headers = {"Content-Type": "application/json"}
data = {
"model": model, #模型选择
"options": {
"temperature": 0. #为0表示不让模型⾃由发挥,输出结果相对较固定,
>0的话,输出的结果会⽐较放⻜⾃我
},
"stream": False, #流式输出
"messages": [{
"role": "system",
"content":"你是谁?"
}] #对话列表
}
response=requests.post(url,json=data,headers=headers,timeout=60)
res=response.json()
print(res)
更多推荐



所有评论(0)