muhammetsafak/openai-client

1.0 2023-12-17 15:54 UTC

This package is auto-updated.

Last update: 2024-09-17 17:28:09 UTC


README

这个库是为了简化使用PHP与OpenAI服务通信而创建的。

安装

composer require muhammetsafak/openai-client

要求

  • PHP 7.4或更高版本
  • cURL扩展

用法

补全

use MuhammetSafak\OpenAI\OpenAI;
use MuhammetSafak\OpenAI\Services\Completions;
const SECRET_KEY = "";

$openai = new OpenAI(SECRET_KEY);
$openai->setPrompt($_GET['prompt'])
    ->setTemperature(0.7);

$res = (new Completions($openai))->get();

echo $res['response']['choices'][0]['text'];

$res变量确切的等效应该类似于以下内容。

[
    'status'        => true,
    'message'       => '',
    'response'      => [
        "id" => "cmpl-8WlS2x6looAGlj8Z182D3M...",
        "object" => "text_completion",
        "created" => 1702819590,
        "model" => "davinci-002",
        "choices" => [
            0 => [
                "text" => "...",
                "index" => 0,
                "logprobs" => null,
                "finish_reason" => "stop",
            ],
        ],
        "usage" => [
                "prompt_tokens" => 1,
                "completion_tokens" => 81,
                "total_tokens" => 32,
        ],
    ]
]

聊天

use MuhammetSafak\OpenAI\OpenAI;
use MuhammetSafak\OpenAI\Services\Chat;
const SECRET_KEY = "";

$openai = new OpenAI(SECRET_KEY);
$openai->setPrompt($systemMessage)
    ->setTemperature(0.7);
    
$res = (new Chat($openai))
    ->setUserMessage($userMessage)
    ->get();

echo $res['response']['choices'][0]['message']['content'];

$res变量确切的等效应该类似于以下内容。

[
    'status'        => true,
    'message'       => '',
    'response'      => [
        "id" => "chatcmpl-8WmzZ2uCDqBZ83BFWbAaifeDNHmlG",
        "object" => "chat.completion",
        "created" => 1702825513,
        "model" => "gpt-3.5-turbo-0613",
        "choices" => [
            0 => [
                "index" => 0,
                "message" => [
                    "role" => "assistant",
                    "content" => "",
                ],
                "logprobs" => null,
                "finish_reason" => "stop",
            ],
        ],
        "usage" => [
                "prompt_tokens" => 121,
                "completion_tokens" => 8,
                "total_tokens" => 129,
        ],
        "system_fingerprint" => null,
    ]
]

获取帮助

如果您有任何问题、担忧、错误报告等,请在本存储库的问题跟踪器中提交问题。

参与

对本项目的所有贡献都将根据MIT许可证发布。通过提交拉取请求或提交错误、问题或功能请求,您同意遵守本版权放弃声明。

帮助的主要方式有两种

  • 使用问题跟踪器,
  • 更改代码库。

使用问题跟踪器

使用问题跟踪器提出功能请求、报告错误和提问。这也是与项目开发者以及其他对此解决方案感兴趣的人建立联系的好方法。

使用问题跟踪器寻找贡献方式。找到错误或功能,在问题中说明您将承担这项工作,然后遵循以下更改代码库的指导。

更改代码库

一般来说,您应该分支此存储库,在自己的分支中进行更改,然后提交拉取请求。所有新代码都应具有相关的单元测试,以验证实现的功能和缺陷的存在或不存在。此外,代码应遵循项目规定的任何风格和架构指南。如果没有此类指南,则模仿现有代码库中的样式和模式。

致谢

许可证

版权所有 © 2023 MIT许可证