asciito/ simple-generators
一个用于处理从AI工具生成文本和图像的非常简单的包
Requires
- php: >=8.2
- illuminate/collections: ^10.47
- nyholm/psr7: ^1.8
- openai-php/client: ^0.8.4
- symfony/http-client: ^7.0
Requires (Dev)
- laravel/pint: ^1.14
- pestphp/pest: ^v2.34.1
- phpstan/phpstan: ^1.10
README
一个用于处理从AI工具生成文本和图像的非常简单的包
描述
该包简单直观,允许您根据文本提示利用不同的AI提供商生成文本或图像。
开始使用
需要 PHP ^8.2
首先,通过 Composer 安装 simple-generators
composer require asciito/simple-generators
就这样,您就可以开始使用该包而不会有任何问题。
使用方法
我们的生成系统(文本 & 图像)通过 Clients
运行。这些是实现 \Asciito\SimpleGenerators\Providers\Contracts\Client
接口的类。您可以选择不同的客户端或创建自己的。
- 可用的客户端:目前,只有
OpenAI
可用。 - 创建自己的客户端:您可以选择开发自己的客户端。有关如何完成此操作的详细信息,请参阅创建自己的客户端部分。
在本文档中,我们主要关注 OpenAI
客户端。
使用 Factory::text(string $client = null, array $options = [])
生成文本
本部分将指导您使用 文本生成器 创建文本内容。
use Asciito\SimpleGenerators\Factory; $generator = Factory::text(options: ['api' => 'this-is-a-key-for-open-ai']); echo $generator->prompt('Give me a motivational phrase'); // for example: "Believe in yourself and all your dreams will come true".
使用 Factory::image(string $client = null, array $options = [])
生成图像
本部分将指导您使用 图像生成器 创建图像。
use Asciito\SimpleGenerators\Factory; $generator = Factory::image(options: ['api' => 'this-is-a-key-for-open-ai']); echo $generator->prompt('A cat floating in space riding a horse with a France flag'); // For example, the URL might be: "https://oaidalleapiprodscus.blob.core.windows.net/private/rA23htPg4..."
注意:如果省略了第一个参数(在两种静态方法中),生成器提供程序将回退到
OpenAI
客户端,因此请确保为OpenAI
客户端 提供正确的选项。
创建自己的 client
这是一个正在进行中的项目,因为现在还没有办法将您的类传递给
text
或image
生成器
简单来说,您只需要实现来自 \Asciito\SimpleGenerator\Providers\Contracts\Client
的合约,这个接口有3个方法需要实现。
enerators\Clients\Contracts; interface Client { public function __construct(array $options = []); public function generateText(string $prompt): string; public function generateImage(string $prompt, string $size = null): string; }
方法 __construct(array $options = [])
__construct
方法接受一个键值数组,包含您的客户端可能需要使用的选项;实现方式由您决定。
方法 generateText(string $prompt)
generateText
方法接受一个字符串,该字符串是用于向您的AI提供商发送请求的文本提示。它应该返回一个表示您提供商响应的字符串。
方法 generateImage(string $prompt, string $size = null)
generateImage
方法接受一个字符串,该字符串是您应用于向您的AI提供商发送请求的文本提示。然而,您最终应返回一个表示您提供商响应的字符串。
提供商
每个AI提供商的列表以及它们需要的工作选项。
Open AI
Open AI 提供商只需要一个选项,即 api
选项,该选项将用于调用API并执行其魔法。
$options = ['api' => 'this-is-your-api-key'];
每次您创建一个新的 generator
时,都应该将此选项传递给 Factory::text
或 Factory::image
。
许可证
本项目采用MIT许可证 - 有关详细信息,请参阅LICENSE.md文件