为了账号安全,请及时绑定邮箱和手机立即绑定

通义千问API入门教程-阿里云开发者社区

标签:
杂七杂八
概述

快速入门通义千问API的指南主要包含以下关键点:

安装SDK

首先,你需要安装最新版的DashScope SDK,该SDK支持Python和Java两种语言环境。安装步骤如下:

Python:

git clone https://github.com/AlibabaCloudDocs/llm_learning.git
cd llm_learning
pip install -r requirements.txt

Java:

git clone https://atomgit.com/alibabaclouddocs/llm_learning.git
cd llm_learning
pip install -r requirements.txt

获取API密钥

开通服务并获取API密钥是API使用的第一步。推荐将API密钥配置到环境变量中以增加安全性,降低密钥泄漏的风险。同时,如果在代码中配置API密钥,虽然更方便,但会增加密钥泄漏的风险。

API密钥配置

通过环境变量管理API密钥:

import os

os.environ['DASHSCOPE_API_KEY'] = 'your_api_key'

推荐的API密钥存储方式:

import java.util.HashMap;
import java.util.Map;

Map<String, String> envVars = new HashMap<>();
envVars.put("DASHSCOPE_API_KEY", "your_api_key");

API兼容性与调用方式

DashScope提供与OpenAI接口兼容的服务,方便用户进行迁移和集成。API调用支持两种方式:

通过messages调用(推荐):

import dashscope

def ask_conversation():
    service = dashscope.Service('qwen1.5-72b-chat')
    messages = [{"role": "user", "content": "请问如何制作番茄炒蛋?"}]
    response = service.invoke(messages=messages)
    print(response)

通过prompt调用

import dashscope

def ask_prompt():
    prompt = "制作番茄炒蛋的方法"
    response = dashscope.invoke(prompt=prompt, model='qwen1.5-72b-chat')
    print(response)

示例代码实践

以下代码展示了如何通过Python和Java调用通义千问API:

Python示例代码

def ask_conversation():
    import dashscope

    service = dashscope.Service('qwen1.5-72b-chat')
    messages = [{"role": "user", "content": "制作番茄炒蛋的方法"}]
    response = service.invoke(messages=messages)
    _parse_response_info(response)

def _parse_response_info(response):
    print(f'Status Code: {response["status_code"]}')
    print(f'Request ID: {response["request_id"]}')
    print(f'Output Content: {response["output"]["text"]}')
    print(f'Usage Info: {response["usage"]}')

if __name__ == '__main__':
    ask_conversation()

Java示例代码

import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.aigc.generation.GenerationResult;

public class AskPromptExample {
    public static void main(String[] args) {
        try {
            Generation gen = new Generation();
            Message userMsg = Message.builder().role(Role.USER.getValue()).content("如何做土豆炖猪脚?").build();
            GenerationResult result = gen.invoke(QwenParam.builder().model("qwen1.5-72b-chat").messages(Arrays.asList(userMsg)).resultFormat(QwenParam.ResultFormat.MESSAGE).build());
            _parse_response_info(result);
        } catch (Exception e) {
            System.out.println("Error: " + e.getMessage());
        }
    }

    private static void _parse_response_info(GenerationResult result) {
        System.out.println("Status Code: " + result.getStatus().getStatus());
        System.out.println("Request ID: " + result.getId());
        System.out.println("Output Content: " + result.getText());
        System.out.println("Usage Info: " + result.getUsage());
    }
}

调用结果解析

成功调用后,返回结果包括状态码、请求ID、错误码、错误消息以及输出内容。以Python示例结果为例:

{
    "status_code": 200,
    "request_id": "b3d8bb75-05a2-9042-8e9e-ec8c87689a5e",
    "code": "",
    "message": "",
    "output": {
        "text": "制作土豆炖猪脚的方法如下:\n\n材料:\n- 猪脚:500克\n- 土豆:300克\n- 姜:适量\n- 大葱:1根\n- 蒜:3瓣\n- 酱油:适量\n- 盐:适量\n- 糖:适量\n- 老抽:适量\n- 料酒:适量\n- 清水:适量\n\n做法:\n\n1. 猪脚洗净,切成块状;土豆去皮,切成块状。\n2. 烧热锅,加入适量的油,放入猪脚块炒至表面微焦,取出备用。\n3. 锅中留下底油,加入姜片、蒜末、大葱段爆香。\n4. 倒入炒好的猪脚块,加入适量的料酒、生抽、老抽、糖和盐,翻炒均匀。\n5. 加入适量的清水,大火烧开后转小火慢炖。\n6. 稍微炖煮至猪脚熟透,土豆软烂即可取出。\n7. 最后根据口味调整盐分,关火,出锅。\n\n注意:炖煮过程中汤汁要保持一定量,避免烧干。\n\n希望这个食谱对您有帮助。祝您烹饪愉快!",
        "finish_reason": "stop",
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": "制作土豆炖猪脚的方法如下:\n\n材料:\n- 猪脚:500克\n- 土豆:300克\n- 姜:适量\n- 大葱:1根\n- 蒜:3瓣\n- 酱油:适量\n- 盐:适量\n- 糖:适量\n- 老抽:适量\n- 料酒:适量\n- 清水:适量\n\n做法:\n\n1. 猪脚洗净,切成块状;土豆去皮,切成块状。\n2. 烧热锅,加入适量的油,放入猪脚块炒至表面微焦,取出备用。\n3. 锅中留下底油,加入姜片、蒜末、大葱段爆香。\n4. 倒入炒好的猪脚块,加入适量的料酒、生抽、老抽、糖和盐,翻炒均匀。\n5. 加入适量的清水,大火烧开后转小火慢炖。\n6. 稍微炖煮至猪脚熟透,土豆软烂即可取出。\n7. 最后根据口味调整盐分,关火,出锅。\n\n注意:炖煮过程中汤汁要保持一定量,避免烧干。\n\n希望这个食谱对您有帮助。祝您烹饪愉快!"
                }
            }
        ]
    },
    "usage": {
        "input_tokens": 23,
        "output_tokens": 283
    }
}

通过以上步骤和示例代码的介绍,开发者可以快速掌握如何使用通义千问API进行文本生成、问答等任务,并将大模型API应用到工作中以提升效率。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
51
获赞与收藏
178

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消