jiten14/jitone-ai

jitone-ai 是一个强大的 FilamentPHP 插件,它可以将 AI 功能直接集成到您的 Filament 表单中。

v0.1.3 2024-09-26 14:47 UTC

README

jitone-ai 是一个强大的 FilamentPHP 插件,它可以将 AI 功能直接集成到您的 Filament 表单中。

Latest Version on Packagist GitHub Tests Action Status Total Downloads

Jitone AI v0.1.1 的新功能

  1. 支持多个 OpenAI 端点:

    • 包括 gpt-4gpt-3.5-turbo 在内的最新 OpenAI 模型现在使用 Chat API 端点,提高了性能和响应灵活性。
    • gpt-3.5-turbo-instruct 模型将继续使用 Completion API 端点
  2. Completion 模型现在被视为旧版:

    • 请注意,使用 Completion 端点的模型,如 gpt-3.5-turbo-instruct,现在被视为 旧版模型
    • 我们强烈建议您尝试最新的模型以获得更好的结果并确保未来的兼容性。您可以在以下位置探索它们:[OpenAI 模型文档](https://platform.openai.com/docs/models)。

安装

composer require jiten14/jitone-ai

用法

  1. 下载后,运行包安装命令
php artisan jitone-ai:install

此命令将

  • 发布 Jitone AI 设置的配置文件。
  • 发布 openai-php/laravel 设置的配置文件。
  • 创建存储的符号链接
  1. 我们使用 openai-php/laravel 包来连接到 OpenAI API。OpenAI API 密钥和组织 ID 的空白环境变量已经附加到您的 .env 文件中,请在此处添加您的 API 密钥。
OPENAI_API_KEY=sk-...
OPENAI_ORGANIZATION=org-...

配置

config/jitone-ai.php 文件允许您设置默认值和模板

  • 设置默认 AI 模型、最大令牌和温度
  • 配置图像生成设置
  • 添加自定义内容模板

开发者使用方法

将 AI 添加到内置 Filament 表单字段

您可以使用 withAI() 方法将 AI 生成功能添加到 TextInputTextareaRichEditor 字段。

无选项

use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Textarea;
use Filament\Forms\Components\RichEditor;

TextInput::make('title')
    ->withAI()

Textarea::make('description')
    ->withAI()

RichEditor::make('content')
    ->withAI()

有选项

TextInput::make('title')
    ->withAI([
        'model' => 'gpt-4',
        'max_tokens' => 100,
        'temperature' => 0.7,
    ])

Textarea::make('description')
    ->withAI([
        'model' => 'gpt-3.5-turbo',
        'max_tokens' => 200,
        'temperature' => 0.5,
    ])

RichEditor::make('content')
    ->withAI([
        'model' => 'gpt-4',
        'max_tokens' => 500,
        'temperature' => 0.8,
    ])

使用专用 AI 字段

AITextField

该包提供专门的 AITextField 以增强内容生成

无选项
use Jiten14\JitoneAi\Forms\Components\AITextField;

AITextField::make('content')->withAI()
有选项
AITextField::make('content')
    ->withAI([
        'model' => 'gpt-4',
        'max_tokens' => 300,
        'temperature' => 0.6,
    ])

AIFileUpload 用于图像生成

使用 AIFileUpload 字段和 imageAI() 方法启用 AI 图像生成

无选项
use Jiten14\JitoneAi\Forms\Components\AIFileUpload;

AIFileUpload::make('image')
    ->imageAI()
有选项
AIFileUpload::make('image')
    ->imageAI([
        'size' => '1024x1024',
    ])

终端用户使用方法

生成内容

  1. 在启用 AI 字段的表单中,用户将在字段右上角看到“使用 AI 生成”链接。
  2. 点击此链接将打开一个模态窗口,用户可以
    • 输入自定义提示
    • 从预定义的模板中选择(如果已配置)
    • 使用现有内容进行修改
  3. 如果修改现有内容,用户可以选择
    • 精炼:改进现有文本
    • 扩展:添加更多细节到现有文本
    • 缩短:总结现有文本
  4. 在输入提示、选择模板或选择修改选项后,点击“生成”以创建或修改内容。
  5. 生成的或修改的内容将被插入到表单字段中。

生成图像

  1. 对于具有 AI 图像生成的字段,用户将在上传字段右上角看到“使用 AI 生成”链接。
  2. 点击此链接将打开一个模态窗口,用户可以
    • 描述他们想要生成的图像
    • 从预定义的图像提示中选择(如果已配置)
    • 选择所需的图像大小(如果提供了多个选项)
  3. 在输入描述、选择模板和选择大小后,点击“生成”以创建图像。
  4. 生成的图像将被上传并关联到表单字段。

高级功能

  • 该软件包会自动检查所需的依赖项及其版本,如果缺少或版本过旧,则会记录警告。
  • 开发者可以通过配置文件添加自定义模板和提示。

变更日志

Jitone AI 遵循语义化版本控制

  • v0.1.0:初始版本。
  • v0.1.1:增加了对多个 OpenAI 端点的支持。
  • v0.1.3:为 Ai 提示字段添加了占位符。

请查看变更日志获取最近更改的更多信息。

贡献

请查看贡献指南获取详细信息。

常见问题解答

  1. 在生成图片后文件上传预览未加载。
    • 答。- 确保您 .env 文件中的 APP_URL 变量与您访问应用的域名匹配,包括协议(http 或 https)。

安全漏洞

如果您发现任何安全漏洞或错误,请告诉我们,以便我能够及时处理。

支持

如有关于此软件包的支持或问题报告,请随时联系Jitendriya Tripathy。我很乐意帮助您!

致谢

许可协议

MIT 许可协议(MIT)。有关更多信息,请参阅许可文件