我们训练后的模型,经评估符合预期,即可发布模型为服务。
一、准备工作
首先将模型发布为服务,创建“我的服务”,后续才能通过SDK或者API调用,创建服务如下:
填写内容,注意选择自己训练好的模型及其版本,API地址需要自己填后缀(mymodel),如下:
提交订单,等待服务发布成功。
二、SDK方式
调用示例,使用了Flask提供API接口,流式输出,通过user_input参数传入问题,代码如下:
from flask import Flask, request, jsonify,Response
import os
import qianfan
app = Flask(__name__)
# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.environ["QIANFAN_ACCESS_KEY"] = "ALTAKqk85NxpKjl315******cS3"
os.environ["QIANFAN_SECRET_KEY"] = "3416b7f7271b48d39b******c61757ae50"
chat_comp = qianfan.ChatCompletion()
@app.route('/chat_with_mymodel', endpoint='chat_with_mymodel', methods=['POST'])
def chat_with_qianfanSDK():
user_input = request.args.get('user_input')
# 使用自行发布的模型
resp = chat_comp.do(endpoint="lydc22fv_mymodel", messages=[{
"role": "user",
"content": user_input
}], stream=True)
# 可以通过resp["body"]获取接口返回的内容
def sse_output():
for r in resp:
yield f"data: {r['body']['result']}\n\n" # SSE 要求每条消息后有两个换行符
return Response(sse_output(), mimetype='text/event-stream')
######使用qianfan SDK调用大模型流式返回示例-end#######
if __name__ == '__main__':
app.run(debug=True)
注意:上述代码中的endpoint是如下地址的最后面部分,不是全部url。
上传代码,在Linux服务器上启动代码:
# 服务工作进程数
SERVER_WORKER_AMOUNT=1
# 服务工作进程启动方式
SERVER_WORKER_CLASS=gevent
# 服务超时时间
GUNICORN_TIMEOUT=60
gunicorn --bind "0.0.0.0:5000" --workers ${SERVER_WORKER_AMOUNT} --worker-class ${SERVER_WORKER_CLASS} --timeout ${GUNICORN_TIMEOUT} "api_sftmodel:app"
启动成功后,在终端可以看到如下信息:
使用Postman提交请求:
http://114...35:5000/chat_with_mymodel
参数:user_input
参数内容:
你是一个从合同中提取关键信息的智能助手。你的任务是分析【合同文本】并提取【关键信息】。
你需要向我汇报的内容是:
1.汇报合同是否缺失劳动合同必备条款;
2.汇报【关键信息】有没有在合同中缺失;
3.汇报你提取的关键信息,以{"要求提取的关键信息":"你提取的关键信息内容"}的json格式汇报。
4.按照上述顺序连续汇报一段字符串,并且不用输出顺序号和任何多余信息。
下面是你要分析的【合同文本】和要提取的【关键信息】:
【合同文本】
甲方(用人单位)
名称:上海瑞丽科技有限公司
统一社会信用代码:91310105MA1FW69D0P
地址:上海市徐汇区田林路123号
联系人:张华
联系方式:13800138000
乙方(劳动者)
姓名:李明
身份证号码:320582199002147890
住所:江苏省苏州市吴江区盛泽镇东方路233号
联系人:李明
联系方式:13900139000
本合同各方经平等自愿协商,根据《中华人民共和国民法典》《中华人民共和国劳动合同法》及相关法规,签订本合同以共同遵守。
法定代表人(签字):
乙方(签字):李明
签订日期:2023年04月01日
【关键信息】
工作地点, 如果没有回答无
返回流式结果:
三、API方式调用
首先获取access_token:https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Ilkkrb0i5
步骤二,调用本文API,使用步骤一获取的access_token,替换下列示例中的”调用接口获取的access_token“;在Linux服务器上执行:
curl -XPOST 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/imyowpg3_guo?access_token=24.3d7202219f9c21c772c80eace6759**********.282335-114240861' -d '{ "messages": [ {"role":"user","content":"介绍一下北京"} ]}' | iconv -f utf-8 -t utf-8
返回结果:
网友评论