人工智能语言模型API调用 —— “通义千问“

本地化API调用

这里应用阿里云的"通义千问"

官方教程:如何快速开始通义千问_模型服务灵积(DashScope)-阿里云帮助中心

API获取链接:如何开通DashScope并创建API-KEY_模型服务灵积(DashScope)-阿里云帮助中心

代码解析

官方代码

from http import HTTPStatus
import dashscope

dashscope.api_key='your-dashscope-api-key'
messages = [{'role': 'system', 'content': 'You are a helpful assistant.'},
            {'role': 'user', 'content': '如何做西红柿鸡蛋?'}]

response = dashscope.Generation.call(
    model='qwen-turbo',
    messages=messages,
    result_format='message',  # set the result to be "message" format.
)

if response.status_code == HTTPStatus.OK:
    print(response)
else:
    print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
        response.request_id, response.status_code,
        response.code, response.message
    ))
输出格式为:
{'status_code': 200, 
'request_id': 'b8a454a3-ec0b-9064-b2fa-024d03bcb894', 
'code': '', 
'message': '', 
'output': {'text': 'Hello! How can I help you today?', 
'finish_reason': 'stop', 
'choices': None}, 
'usage': {'input_tokens': 20, 
'output_tokens': 9, 
'total_tokens': 29}
}

根据官方的介绍

output.token_ids: 本次输入文本对应的token_ids
output.tokens: 本次输入文本对应的tokens
usage.input_tokens: 输入文本对应的token数目
request_id: 本次请求的系统唯一码
output.text:内容返回结果

详细内容链接:异步任务管理接口和设置_模型服务灵积(DashScope)-阿里云帮助中心

我自己的代码只要实现输出结果就行了,顺便再复习一下

# For prerequisites running the following sample, visit https://help.aliyun.com/document_detail/611472.html
from http import HTTPStatus
import dashscope

dashscope.api_key = 'sk-3b7ee4b516c84264bdf5744f3d837d83'  # 填入第一步获取的APIKEY


def call_with_messages(problem):
    # Define system messages and user messages
        messages = [
        # 这句话是系统角色发送给用户的一条消息,它的作用是向用户确认他们正在和一个有帮助的助手进行对话。这种提示信息可以让用户知道他们得到了有效的支持和指导,并增加对话的友好性和透明度。
        {'role': 'system', 'content': 'You are a helpful assistant.'},  # 可用于给定语言模型预设定的作用。
        # 用于提问
        {'role': 'user', 'content': f'{problem}'}
    ]

    # 调用Dashscope API生成响应
    response = dashscope.Generation.call(
        dashscope.Generation.Models.qwen_plus,
        messages=messages,
        result_format='qwen-plus',  # set the result to be "message" format.
    )
    if response.status_code == HTTPStatus.OK:
        return response
    else:
        # print error code
        print('Request id: %s\n Status code: %s\n error code: %s\n error message: %s' % (
            response.request_id, response.status_code,
            response.code, response.message))


if __name__ == '__main__':
    problem = input()
    result = call_with_messages(problem)
    text_content = result['output']['text']
    print(text_content)

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值