angelxmoreno/prompt-classes

ChatGpt 可重复使用对象

1.0.0 2023-05-30 07:45 UTC

This package is auto-updated.

Last update: 2024-08-30 01:44:15 UTC


README

ChatGpt 可重复使用对象

安装

composer require angelxmoreno/prompt-classes

入门指南

开始之前,您需要获取一个 OpenAI API 密钥。

获取 OpenAI API 密钥

要开始,请访问官方 OpenAI 平台网站。如果您是新手,请按简单步骤创建一个账户。接下来,使用您的 OpenAI 账户邮箱和密码登录,或者使用您的 Google/Microsoft 账户。登录后,您会在 OpenAI 平台主页右上角找到您的名字和头像。要获取 API 密钥,点击右上角的名字以显示下拉菜单,然后选择“查看 API 密钥”。在结果页面上,找到页面中央的“创建新密钥”选项。如果您还没有 API 密钥,请点击此按钮以生成一个。请记住立即保存 API 密钥,因为一旦窗口关闭,您将无法检索它。

简单的 Hello 提示

  1. 创建一个 PromptClass

    <?php
    
    declare(strict_types=1);
    
    namespace YourNamespace\Prompts;
    
    use PromptClasses\Core\AbstractPrompt;
    
    class HelloPrompt extends AbstractPrompt
    {
        public string $promptTpl = 'Say "Hello {{name}}. Good {{time_of_day}}"';
        public array $promptParams = ['name', 'time_of_day'];
    }
  2. 实例化和发送

    $helloPrompt = new HelloPrompt($openaiApiKey);
    $response = $helloPrompt->send('John', 'Morning');
    // returns `Hello John. Good Morning`

    params 的顺序与 $promptParams 数组的顺序相同。这意味着,如果您将 HelloPrompt 类的 $promptParams 更改为 ['time_of_day','name'];,您需要像这样调用 ->send()

    $response = $helloPrompt->send('Morning', 'John');
    // still returns `Hello John. Good Morning`

SEO Meta DescriptionPrompt

  1. 创建一个 PromptClass

    <?php
    
    declare(strict_types=1);
    
    namespace YourNamespace\Prompts;
    
    use PromptClasses\Core\AbstractPrompt;
    
    class MetaDescriptionPrompt extends AbstractPrompt
    {
        public string $promptTpl = 'Write a meta description no longer than 160 characters including spaces for a product page with the title "{{title}}"';
        public array $promptParams = ['title'];
    }
  2. 实例化和发送

    $metaDescriptionPrompt = new MetaDescriptionPrompt($openaiApiKey);
    $response = $metaDescriptionPrompt->send('Supernatural Dean Winchester That was Scary Vintage Sunset T-Shirt');
    // returns `Get the Supernatural Dean Winchester 'That was Scary' Vintage Sunset T-Shirt. Show your love for the hit TV show with this iconic design.`

配置

在底层,该库使用 orhanerday/open-ai。调用 OpenAI Chat Completions 的默认配置如下

要发现更多可用的选项,请参阅 chat completions 端点 的官方文档。可以通过扩展 AbstractPrompt 类的 $openaiParams 属性来更新 PromptClass 的值

    <?php
    
    declare(strict_types=1);
    
    namespace YourNamespace\Prompts;
    
    use PromptClasses\Core\AbstractPrompt;
    
    class MetaDescriptionPrompt extends AbstractPrompt
    {
        public string $promptTpl = 'Write a meta description no longer than 160 characters including spaces for a product page with the title "{{title}}"';
        public array $promptParams = ['title'];
        
        protected array $openaiParams = [
            'model' => 'gpt-3.5-turbo',
            'temperature' => 0.2,
            'frequency_penalty' => 1.8
        ];
    }

要求

PHP 7.4+

支持

对于错误和功能请求,请使用此存储库的 问题 部分。

许可

MIT 许可证下许可。包含在此存储库中的源代码的再分配必须保留每个文件中找到的版权声明。