当前位置:   article > 正文

通义千文大模型API调用示例(python)_fail to access model(qwen-max-1201) using this api

fail to access model(qwen-max-1201) using this api key.**error**: access den

API详情
通义千问是阿里云自主研发的大语言模型,能够在用户自然语言输入的基础上,通过自然语言理解和语义分析,理解用户意图,在不同领域、任务内为用户提供服务和帮助。您可以通过提供尽可能清晰详细的指令,来获取更符合您预期的结果。

模型具备的能力包括但不限于:

创作文字,如写故事、写公文、写邮件、写剧本、写诗歌等
编写代码
提供各类语言的翻译服务,如英语、日语、法语、西班牙语等
进行文本润色和文本摘要等工作
扮演角色进行对话
制作图表
通义千问以用户以文本形式输入的指令(prompt)以及不定轮次的对话历史(history)作为输入,返回模型生成的回复作为输出。在这一过程中,文本将被转换为语言模型可以处理的token序列。Token是模型用来表示自然语言文本的基本单位,可以直观的理解为“字”或“词”。对于中文文本来说,1个token通常对应一个汉字;对于英文文本来说,1个token通常对应3至4个字母或1个单词。例如,中文文本“你好,我是通义千问”会被转换成序列[‘你’, ‘好’, ‘,’, ‘我’, ‘是’, ‘通’, ‘义’, ‘千’, ‘问’],而英文文本"Nice to meet you."则会被转换成[‘Nice’, ’ to’, ’ meet’, ’ you’, ‘.’]。

目前(2023-12-15)API调用免费,具体截止时间还没有通知,大家赶快尝试一下!!!
官网文档:点击查看

模型概览

开通DashScope并创建API-KEY
API-KEY创建说明
说明:需要通过阿里云主账号或者得到主账号AliyunDashScopeFullAccess授权的子账号进行DashScope模型服务的开通及API-KEY的创建。

开通DashScope灵积模型服务
访问DashScope管理控制台:前往控制台。

创建API-KEY
访问DashScope管理控制台API-KEY管理页面:前往API-KEY管理,然后点击“创建新的API-KEY”。

API-KEY添加至系统变量
新建用户变量
输入变量名(可以自定义):DASHSCOPE_API_KEY
输入变量值(API-KEY):直接复制

Python调用示例

  1. import os
  2. import time
  3. import json
  4. import random
  5. from http import HTTPStatus
  6. import dashscope
  7. from dashscope import Generation
  8. from dashscope.api_entities.dashscope_response import Role
  9. # 两种方式调用api-key
  10. key = os.getenv("DASHSCOPE_API_KEY") # 调用时需要手动添加key
  11. dashscope.api_key = os.getenv("DASHSCOPE_API_KEY") # 不需要手动添加key

流式输出

  1. def call_with_stream(question):
  2. messages = [
  3. {'role': 'user', 'content': f'{question}'}]
  4. responses = Generation.call(
  5. model='qwen-max-1201',
  6. max_tokens=1500,
  7. messages=messages,
  8. result_format='message',
  9. stream=True,
  10. incremental_output=True
  11. )
  12. full_content = ''
  13. for response in responses:
  14. if response.status_code == HTTPStatus.OK:
  15. full_content += response.output.choices[0]['message']['content']
  16. api_reports(response, question)
  17. else:
  18. print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
  19. response.request_id, response.status_code,
  20. response.code, response.message
  21. ))
  22. print(f'{question}:\n\n' + full_content)
  23. def api_reports(output_response, text):
  24. time_now = time.strftime('%Y年%m月%d日%H点%M分%S秒', time.localtime())
  25. f = open(f'大模型调用记录/通义千文/{text}_{time_now}.json', 'w')
  26. output_json = json.dumps(output_response)
  27. f.write(output_json)
  28. f.close()
  1. text = '为什么我保存response的json文件,content为空'
  2. call_with_stream(text)
  3. 1
  4. 2
  5. 简单多模态
  6. def simple_multimodal_conversation_call(img,question):
  7. messages = [
  8. {
  9. "role": "user",
  10. "content": [
  11. {"image": f"{img}"},
  12. {"text": f"{question}"}
  13. ]
  14. }
  15. ]
  16. response = dashscope.MultiModalConversation.call(model='qwen-vl-plus',
  17. messages=messages)
  18. if response.status_code == HTTPStatus.OK:
  19. print(response.output.choices[0]['message']['content'][0]['text'])
  20. else:
  21. print(response.code)
  22. print(response.message)
  1. img = 'https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg'
  2. text = '这是什么?'
  3. simple_multimodal_conversation_call(img, text)

参考
官网文档:如何使用通义千问API_模型服务灵积(DashScope)-阿里云帮助中心

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明vb.net教程C#教程python教程icon-default.png?t=N7T8https://www.xin3721.com/eschool/pythonxin3721/

原文链接:通义千文大模型API调用示例(python)_通义千问api上下文 python-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/681219
推荐阅读
相关标签
  

闽ICP备14008679号