当前模型的贡献者未提供更加详细的模型介绍。模型文件和权重,可浏览“模型文件”页面获取。
您可以通过如下git clone命令,或者ModelScope SDK来下载模型
SDK下载
#安装ModelScope
pip install modelscope
#SDK模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('dkgee8/Nous-Hermes-2-Mistral-7B-DPO')
Git下载
#Git模型下载
git clone https://www.modelscope.cn/dkgee8/Nous-Hermes-2-Mistral-7B-DPO.git
模型部署及调用
本模型主要针对CPU环境场景下的模型调用。
可以直接在服务器(没有GPU)上创建python脚本运行,例如 python Nous-Hermes-7b-api.py
第一步:配置运行环境
第二步:运行脚本(注意配置路径)
pip install fastapi uvicorn gpt4all
(1)Web服务器调用模型代码如下所示:
import uvicorn, json, datetime
from fastapi import FastAPI, Request
from gpt4all import GPT4All
app = FastAPI()
@app.post("/test")
async def create_item(request: Request):
"""
定义一个异步接口服务,通过全局变量将模型挂载到该接口,接收外部接口请求,并提供模型服务
"""
global model
json_post_raw = await request.json() # 原始http响应对象
json_post = json.dumps(json_post_raw) # 序列对象成一个字符串
json_post_list = json.loads(json_post) # 使用json加载字符串,解析成json对象
# 提取json对象中响应数据
prompt = json_post_list.get('prompt') # 提问语句
response = model.generate(prompt)
now = datetime.datetime.now()
time = now.strftime("%Y-%m-%d %H:%M:%S")
answer = {
"response": response,
"status": 200,
"time": time
}
# 记录日志并输出
log = "[" + time + "] " + '", prompt:"' + prompt + '", response:"' + repr(response) + '"'
print(log)
return answer
if __name__ == '__main__':
"""
启动命令: python chat_7b_api.py
可修改IP地址
"""
# 第一步:首先加载分词器和模型
model_name = 'Nous-Hermes-2-Mistral-7B-DPO.Q4_0.gguf'
model = GPT4All(model_name, model_path="/mnt/workspace/Nous-Hermes-2-Mistral-7B-DPO") # 根据实际情况调整模型配置路径
# 第二步:配置Web接口服务
uvicorn.run(app, host="0.0.0.0", port=8000, workers=1) # 测试可行
(2)HTTP请求客户端调用方式,这里以Python为例如下:
import requests, json
# 目标URL
url = 'http://localhost:8000/test'
# 要发送的数据,可以是字典、JSON字符串或其他类型
data = {
'prompt': 'why is the grass green?'
}
# 发送POST请求
response = requests.post(url, data=json.dumps(data), headers={'Content-Type': 'application/json;charset=utf-8'})
# 打印响应内容
print(response.text)
评论