使用gradio和ollama实现LLM对话功能
关键字:gradio、ollama、chatinterface、对话、llm
时间:2024年07月
准备
1、ollama已经安装成功
2、qwen2:7b模型已经下载
安装依赖
$ pip install ollama
$ pip install gradio
代码
import gradio as gr
from ollama import Client
client = Client(host="192.168.1.100:11434")
def chat_fn(message, history):
messages = []
msg = {'role': 'system', 'content': 'You are a helpful assistant.'}
messages.append(msg)
for m in history:
msg = {'role': 'assistant', 'content': m[0]}
messages.append(msg)
msg = {'role': 'user', 'content': m[1]}
messages.append(msg)
msg = {'role': 'user', 'content': message}
messages.append(msg)
response = client.chat(model='qwen2:7b', messages=messages, stream=True)
m = ''
for chunk in response:
m += chunk['message']['content']
yield m
if chunk['done'] == True:
print("\n")
print(f"total_duration : {chunk['total_duration']/1000000000:.6f} s")
print(f"load_duration : {chunk['load_duration']/1000000000:.6f} s")
print(f"prompt_eval_count : {chunk['prompt_eval_count']} Tokens")
print(f"prompt_eval_duration : {chunk['prompt_eval_duration']/1000000000:.6f} s")
print(f"eval_count : {chunk['eval_count']} Tokens")
print(f"eval_duration : {chunk['eval_duration']/1000000000:.6f} s")
gr.ChatInterface(fn=chat_fn).launch()
编辑于 2024-07-09 17:34・IP 属地重庆