asciito/simple-generators

一个用于处理从AI工具生成文本和图像的非常简单的包

v0.4.1 2024-03-15 21:26 UTC

This package is auto-updated.

Last update: 2024-09-15 22:42:21 UTC


README

一个用于处理从AI工具生成文本和图像的非常简单的包

Badge of the supported PHP versions Badge for licence Badge of current version Badge to show if the test passed

描述

该包简单直观,允许您根据文本提示利用不同的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

这是一个正在进行中的项目,因为现在还没有办法将您的类传递给 textimage 生成器

简单来说,您只需要实现来自 \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::textFactory::image

许可证

本项目采用MIT许可证 - 有关详细信息,请参阅LICENSE.md文件