函数计算中, 使用 通义千问模型, 客户端如何通过http接口调用呢?在什么地方能有文档。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在函数计算中使用通义千问模型并通过HTTP接口调用,可以按照以下步骤进行操作。以下是详细的配置和调用方法:
在开始之前,请确保完成以下准备工作: - 获取API-KEY:登录阿里云百炼控制台,进入“我的API-KEY”页面,获取或创建API-KEY。 - 部署函数:通过函数计算控制台创建Web函数,并将API-KEY配置为环境变量DASHSCOPE_API_KEY
。
DASHSCOPE_API_KEY
,值为您的API-KEY。以下是一个基于Python的示例代码,展示如何通过HTTP接口调用通义千问模型:
import dashscope
from flask import Flask, request
from http import HTTPStatus
app = Flask(__name__)
def call_with_messages(content):
messages = [
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': content}
]
response = dashscope.Generation.call(
model='qwen-turbo', # 指定模型名称
messages=messages,
result_format='message' # 设置返回结果格式为message
)
if response.status_code == HTTPStatus.OK:
return response
else:
return {
'error': {
'request_id': response.request_id,
'status_code': response.status_code,
'code': response.code,
'message': response.message
}
}
@app.route("/invoke", methods=['POST'])
def index():
payload = request.get_data(as_text=True) # 获取请求体内容
return call_with_messages(payload)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=9000)
客户端可以通过HTTP请求调用函数,具体步骤如下:
http://<http-trigger-id>.<region-id>.fcapp.run/invoke
http://my-function.cn-hangzhou.fcapp.run/invoke
以下是一个使用curl
命令调用函数的示例:
curl -X POST \
-H "Content-Type: application/json" \
-d '{"content": "Find the value of x that satisfies the equation 4x+5 = 6x+7."}' \
http://my-function.cn-hangzhou.fcapp.run/invoke
成功调用后,返回结果如下:
{
"choices": [
{
"message": {
"role": "assistant",
"content": "The value of x is -1."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 42,
"completion_tokens": 331,
"total_tokens": 373
}
}
usage
字段查看Token使用情况。更多详细信息可参考以下文档: - 通义千问API参考 - HTTP触发器调用函数 - 使用函数计算部署通义千问大模型实现AI对话
通过以上步骤,您可以成功通过HTTP接口调用通义千问模型,并实现AI对话功能。