阿里云通义万相 PHP SDK

近日,因想试试阿里云的通义万相 AI 生成图片功能,在 github 和 packagist.org 都未能找到相应的包,所以利用五一空隙时间自己写了一个并发布出来。现分享出来:github.com/icetalker/dashscope-php
欢迎大家指导!

安装

通过 Composer 安装此包:

composer require icetalker/dashscope-php

用法

生成图片

示例如下:

use Dashscope\Dashscope;

$api_key = 'your-dashscope-api-key';

$parameters = [
    'api_key' => $api_key,
    'prompt' => 'Hello World!',
];

$response = Dashscope::imageSynthesis($parameters)->call();

return $response->getBody()->getContents();

查询作业结果

$api_key = 'your-dashscope-api-key';

$task_id = '******';

$response = Dashscope::fetchTask($task_id, $api_key);

return $response->getBody()->getContents();
本作品采用《CC 协议》,转载必须注明作者和本文链接
Laravel Filament 中文站站长
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 5

简单看了下你的包,有几点建议:

  1. composer.json 限定最低版本是php7.4,但是包里引入了enum ,该特性是php8.1的
  2. api_key可以作为固定配置值底层直接无感读取,不用每次调用都当参数传入
  3. 目前两个异常都是继承的\Exception根异常,建议再拉个自己的根异常,然后继承这个。方便统一接管
  4. 请求阿里接口时没有日志记录,建议加个日志记录请求参数及响应结果(基于guzzle的中间件可以实现),当然这里可以以配置形式开启/关闭日志

以上纯属闲聊 :sweat_smile:

1周前 评论
Marden (楼主) 1周前

简单看了下你的包,有几点建议:

  1. composer.json 限定最低版本是php7.4,但是包里引入了enum ,该特性是php8.1的
  2. api_key可以作为固定配置值底层直接无感读取,不用每次调用都当参数传入
  3. 目前两个异常都是继承的\Exception根异常,建议再拉个自己的根异常,然后继承这个。方便统一接管
  4. 请求阿里接口时没有日志记录,建议加个日志记录请求参数及响应结果(基于guzzle的中间件可以实现),当然这里可以以配置形式开启/关闭日志

以上纯属闲聊 :sweat_smile:

1周前 评论
Marden (楼主) 1周前

用过 Dashscope 文本生成,直接用 HTTP API 做的。还没试过图片生成,不晓得效果/价格如何。

1周前 评论
Marden (楼主) 1周前
xuchunyang (作者) 1周前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!