An example of writing a chatgpt3.5 model in php language

sure! Use the PHP language to call the OpenAI API to interact with the ChatGPT-3.5 model. First, make sure you have PHP 7.2 or newer installed and have an OpenAI API key available.

Below is a basic PHP example showing how to use the OpenAI API to talk to the ChatGPT-3.5 model:

```php
<?php

// 函数用于向OpenAI API发送请求
function openaiChat($messages) {
    $apiKey = 'YOUR_OPENAI_API_KEY';
    $url = 'https://api.openai.com/v1/engines/davinci-codex/completions';

    $headers = array(
        'Content-Type: application/json',
        'Authorization: Bearer ' . $apiKey
    );

    $data = array(
        'messages' => $messages
    );

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

    $response = curl_exec($ch);
    curl_close($ch);

    return $response;
}

// 设置用户和AI的初始对话
$chat = array(
    array('role' => 'system', 'content' => 'You are a helpful assistant.'),
    array('role' => 'user', 'content' => 'Who won the world series in 2020?'),
    array('role' => 'assistant', 'content' => '')
);

// 与AI进行对话
while (true) {
    // 调用OpenAI API发送请求
    $response = openaiChat($chat);

    // 处理API响应
    $json = json_decode($response, true);
    $message = end($json['choices']);
    $chat[] = array('role' => 'user', 'content' => ''); // 准备用户输入的占位符

    if ($message['role'] == 'assistant') {
        // 显示AI的回复
        echo 'AI: ' . $message['message']['content'] . "\n";

        // 获取用户输入
        $userInput = trim(fgets(STDIN));

        // 更新对话
        $chat[count($chat) - 1]['content'] = $userInput;
    } else {
        // AI已经完成对话,退出循环
        break;
    }
}
```

The above is a basic example, you can modify and extend it according to your needs. Remember to replace `YOUR_OPENAI_API_KEY` with your own OpenAI API key.

This code will implement a simple dialogue loop until the AI ​​finishes the dialogue. In each loop, it sends a request to the OpenAI API, gets a reply from the AI, and then waits for the user to enter the next line of dialogue. The AI's reply is extracted by `$message['message']['content']`.

Note that user input in this example is obtained on the command line using `fgets(STDIN)`. If you use your code in other contexts such as a web application, you may need to use a different method for getting user input.

Hope this example can help you! Feel free to ask if further guidance is needed.

Guess you like

Origin blog.csdn.net/qq_26429153/article/details/132230611