4mesolutions / php-auto-prompt
PHPAutoPrompt是一个使用OpenAI API或Anthropic API生成提示的PHP类。
dev-main
2024-10-01 07:10 UTC
Requires
- php: >=8.2
- guzzlehttp/guzzle: ^7.0
This package is auto-updated.
Last update: 2024-10-01 07:10:24 UTC
README
OpenAIPromptDataGenerator是一个PHP库,用于根据提供的配置和提示,使用AI语言模型(OpenAI GPT或Anthropic Claude)生成数据示例。此工具用于创建数据集、测试提示以及为各种自然语言处理任务生成多样化的示例。
目录
功能
- 使用OpenAI GPT或Anthropic Claude模型生成示例
- 可配置示例数量、模型和输出格式
- 支持单次和多次生成
- 可选多样化生成的示例
- API请求自动重试,使用指数退避
- 进度条跟踪生成过程
- 输出为序列化PHP数组或CSV文件
要求
- PHP 7.4或更高版本
- Composer(用于管理依赖项)
- OpenAI API密钥或Anthropic API密钥
安装
-
克隆存储库
git clone https://github.com/yourusername/OpenAIPromptDataGenerator.git
-
安装依赖项
composer install
-
设置API密钥
- 对于OpenAI:设置
OPENAI_API_KEY
环境变量 - 对于Anthropic:设置
ANTHROPIC_API_KEY
环境变量
- 对于OpenAI:设置
使用
- 创建一个包含所需设置的配置数组。
- 使用配置实例化
Config
类。 - 使用配置创建
OpenAIPromptDataGenerator
实例。 - 调用
generateExamples()
方法生成数据。
配置
Config
类接受以下选项的关联数组
api_key
:您的API密钥(如果已作为环境变量设置,则为可选)prompt
:用于生成的提示input_function
:描述输入函数及其参数的数组number_of_examples
:要生成的示例数量(默认:5)model_name
:要使用的AI模型名称(默认:'gpt-3.5-turbo')output_path
:保存序列化输出的路径(可选)output_csv_path
:保存CSV输出的路径(可选)single_shot
:是否使用单次生成(默认:false)diversify
:是否多样化生成的示例(默认:false)expected_param_name
:输出中期望的参数名称fixed_input
:添加到所有生成的示例中的固定输入(可选)api_type
:要使用的API类型('openai'或'anthropic',默认:'openai')
类概述
OpenAIPromptDataGenerator
:协调示例生成过程的主要类。Config
:处理生成器的配置设置。APIClient
:管理与OpenAI或Anthropic的API交互,包括错误处理和重试。DataProcessor
:准备API请求的消息并处理输出。Utilities
:提供用于将数据保存到文件的实用函数。Example
:表示单个生成的示例。ProgressBar
:在生成过程中显示进度条。
示例
<?php require_once 'vendor/autoload.php'; $config = new Config([ 'prompt' => 'Generate a random person's name and age.', 'input_function' => [ 'name' => 'generate_person', 'parameters' => [ 'min_age' => 'int', 'max_age' => 'int', ], ], 'number_of_examples' => 10, 'model_name' => 'gpt-3.5-turbo', 'output_csv_path' => 'output.csv', 'expected_param_name' => 'person', 'api_type' => 'openai', ]); $generator = new OpenAIPromptDataGenerator($config); $examples = $generator->generateExamples(); print_r($examples);
此示例将使用OpenAI GPT-3.5-turbo模型生成10个随机的姓名和年龄,并将结果保存到output.csv
中。