美文网首页
通过SDK或API调用训练后的模型

通过SDK或API调用训练后的模型

作者: 梅西爱骑车 | 来源:发表于2024-09-25 15:41 被阅读0次

我们训练后的模型,经评估符合预期,即可发布模型为服务。

一、准备工作

首先将模型发布为服务,创建“我的服务”,后续才能通过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
返回结果:

四、官方文档

https://cloud.baidu.com/doc/WENXINWORKSHOP/s/wlzuncwb7#%E8%B0%83%E7%94%A8%E7%A4%BA%E4%BE%8B%EF%BC%88%E6%B5%81%E5%BC%8F%EF%BC%89

相关文章

网友评论

      本文标题:通过SDK或API调用训练后的模型

      本文链接:https://www.haomeiwen.com/subject/thmcrjtx.html