提交 10d471e2 作者: martin

ollama调用的封装客户端及调用示例

上级 d8c61815
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2024/7/4 09:51
# @Author : Martin
"""
功能描述:
"""
from chat_cli import ChatCli
content = '介绍下阿基米德这个人'
# a = ChatCli(model='qwen2', url='http://116.63.135.219:11434/api/generate')
# a.chat(content, stream=True)
b = ChatCli(url='http://116.63.135.219:11434/api/generate')
res = b.chat(content, stream=True)
print(type(res))
if res:
for i in res:
print(i, end='')
import requests
import json
class ChatCli:
def __init__(self, url='http://192.168.1.149:11434/api/generate', model='gemma2'):
self.url = url
self.model = model
def chat(self, chat_content, stream=False):
data = {
"model": self.model,
"prompt": chat_content,
"stream": stream
}
response = requests.post(self.url, data=json.dumps(data),
headers={'Content-Type': 'application/json'}, stream=stream)
# 检查请求状态码
if response.status_code == 200:
print(f"**Reply form {self.model}**")
# 请求成功,打印响应内容
if stream:
for line in response.iter_lines():
# print(json.loads(line.decode())['response'], end='')
yield json.loads(line.decode())['response']
else:
res = response.json()['response']
yield res
else:
# 请求失败,打印错误信息
print(f"请求失败,状态码:{response.status_code}")
yield ''
if __name__ == '__main__':
a = ChatCli(url='http://116.63.135.219:11434/api/generate', model='gemma2')
cc = """你好"""
a.chat(cc, stream=True)
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论