快速接入通义千问

引言

在探索大型语言模型的使用时,我注意到阿里巴巴推出的"通义千问"不仅提供了强大的功能,还配备了详尽的 SDK 文档,极大地简化了二次开发的过程。

"通义千问"的API文档简洁明了,使得学习曲线平缓,通过简单的API调用即可将先进的语言处理技术集成到自己的项目中。

步骤一:获取API-KEY

首先,你需要在阿里百炼大平台开通服务:

  • 访问阿里百炼控制台 https://bailian.console.aliyun.com/
  • 按照指引完成注册或登录流程。
  • 创建并获取你的 API-KEY,这是接入服务的关键。

步骤二:选择模型

"通义千问"提供了多种模型,例如:

  • 通义千问-Max:适用于处理1M token长度的文本,支持中文和英文等多种语言。
  • Qwen-Long:专为超长上下文设计,支持长达1000万tokens的输入,约合1500万字或1.5万页文档,并支持多种文档格式。

步骤三:PHP接入示例

下面是一个PHP代码示例,展示了如何封装一个方法来调用"通义千问"模型:

php 复制代码
public function dashscope($prompt, $model = "qwen-max") {
    $openai_api_key = '你的API-KEY'; // 替换为你的API-KEY

    $data = [
        'model' => $model,
        'input' => ['messages' => []],
        'parameters' => new stdClass(),
    ];
    array_push($data['input']['messages'], [
        'role' => 'user',
        'content' => $prompt
    ]);

    $curl = curl_init();
    curl_setopt_array($curl, [
        CURLOPT_URL => 'https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation',
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POSTFIELDS => json_encode($data),
        CURLOPT_HTTPHEADER => [
            'Authorization: Bearer ' . $openai_api_key,
            'Content-Type: application/json'
        ],
    ]);

    $response = curl_exec($curl);
    $response = json_decode($response, true);
    curl_close($curl);

    if ($model == 'qwen-max') {
        $content = $response['output']['text'] ?? '未找到模型';
    } elseif ($model == 'qwen-long') {
        $content = $response['output']['choices'][0]['message']['content'] ?? '未找到模型';
    } else {
        $content = '未找到模型';
    }
    return $content;
}

步骤四:简单尝试AI对话

通过上述封装的方法,你可以轻松地在你的应用程序中实现AI对话功能。

以下是请求接口结果的例子。

结论

本文介绍了如何使用PHP调用"通义千问"的API,包括使用curl发送HTTP请求、编写API调用程序以及进行基本的错误处理。

通过这些步骤,你可以将AI技术应用到各种场景中,提升你的项目智能化水平。

-- 欢迎点赞、关注、转发、收藏【我码玄黄】,gonghao同名

相关推荐
爱学堂IT分享5 分钟前
鹤翔老师pmp项目管理培训认证考试课 (直播录播题库送学时证明)【共58课时】-51CTO学堂
后端
王的宝库17 分钟前
Go 项目结构:从单文件到标准工程布局
开发语言·后端·golang
全栈弄潮儿1 小时前
30 天 AI 编程入门总结:接下来应该学什么
aigc·openai·ai编程
码事漫谈1 小时前
类型即世界:一个 C++ 程序员的本体论入门
后端
Rain的Java大神之路2 小时前
JavaWeb开发如何解决跨域问题
java·前端·后端·nginx·web安全·面试·运维开发
Figo_Cheung2 小时前
Figo基于RNC理论的宇宙演化第七纪元猜想
开发语言·php
Dawson Zhu2 小时前
知识图谱与 Palantir Ontology:同一套「实体—关系」表象下,两种截然不同的工程范式
人工智能·语言模型·架构·aigc·agi
xierui1231233 小时前
给内容 Agent 接平台账号前,先设计四层权限:读、写、预填、提交
人工智能·网络安全·aigc·软件工程
AIGC大时代3 小时前
评 AI 论文工具的 6 个可复核指标:文献能否打开、大纲能否拖拽、检测是否限次…(千笔-AIWritePaper)
aigc·论文·ai写作·评测·千笔-aiwritepaper
WWJA王文举4 小时前
FreeRTOS事件组和任务通知详解:为什么任务通知比队列更轻量?
开发语言·php