之前将ChatGLM6B模型下载到本地运行起来了:ChatGLM3-6B上手体验;如果想要用在项目中,那么可以使用API调用的方式进行操作,尤其当你的项目还是不同语言的异构的场景下,其他服务需要调用的时候就可以直接通过请求服务来获取了。
1.运行API模式
ChatGLM3-6B的官方代码里有运行API的bat文件,可以直接点击运行即可,如果在Linux系统或者通过docker部署的方式运行,可以运行openai_api_demo目录下的 openai_api.py文件。
模型默认运行在8000端口
2.接口介绍
接口url :http://127.0.0.1:8000/v1/chat/completions
请求参数:
"functions": functions, # 函数定义
"model": model, # 模型名称
"messages": messages, # 会话历史
"stream": use_stream, # 是否流式响应
"max_tokens": 100, # 最多生成字数
"temperature": 0.8, # 温度
"top_p": 0.8, # 采样概率
请求的方式有流式和非流式请求,对应请求参数中stream的True和False,请求方式的处理可以参照官方给出的方法
import requests
import json
base_url = "http://127.0.0.1:8000"
def create_chat_completion(model, messages, functions, use_stream=False):
data = {
"functions": functions, # 函数定义
"model": model, # 模型名称
"messages": messages, # 会话历史
"stream": use_stream, # 是否流式响应
"max_tokens": 100, # 最多生成字数
"temperature": 0.8, # 温度
"top_p": 0.8, # 采样概率
}
response = requests.post(f"{
base_url}/v1/chat/completions", json=data, stream=use_stream)
if response.status_code == 200: