Pastikan perbualan mengalir dengan OpenAI API PHP SDK
P粉426906369
P粉426906369 2023-11-01 09:04:15
0
1
704

Saya cuba menggunakan kaedah penyelesaian() OpenAI PHP SDK untuk mengekalkan perbualan.

  • Petua #1: “Apa khabar?”
  • Prompt #2: “Apa yang saya tanya awak sebelum ini?”

Tetapi AI seolah-olah terlupa soalan yang saya ajukan sebelum ini. Ia akan menjawab gesaan kedua secara rawak.

Kod yang saya gunakan untuk kedua-dua panggilan ini adalah seperti berikut:

$call1 = $open_ai->completion([
            'model' => 'text-davinci-003', 
            'prompt' => 'How Are You?',

        ]);


        $call2 = $open_ai->completion([
            'model' => 'text-davinci-003', 
            'prompt' => 'What i asked you before?',
        ]);

Apa yang saya terlepas? Bagaimanakah saya boleh memastikan sesi aktif antara kedua-dua panggilan ini supaya AI mengingati apa yang saya tanya sebelum ini?

P粉426906369
P粉426906369

membalas semua(1)
P粉316890884

Jawapan kedua kerana jawapan pertamatidak menjawab soalan OP.


Berdasarkan contoh OpenAI Playground ini, "perbualan" hanya boleh "ditanya" dengan menghantar dua arahan kepada API.

Jangan fikir ada cara untuk meneruskan perbualan selepas menerima balasan.


Pertimbangkan contoh ini, kami menghantar teks berikut:

The following is a conversation with an AI assistant.

Human: Hello
Human: What is 3 * 3?
AI:
Human: What did I just asked?
AI:

Jawapan yang saya dapat ialah:

You asked me what 3 * 3 is. The answer is 9.

Kod untuk tujuan ini:

completion([
        'model' => $model,
        'prompt' => $question,
        'temperature' => 0.9,
        'max_tokens' => 150,
        'frequency_penalty' => 0,
        'presence_penalty' => 0.6,
        'stop' => ["\nHuman:", "\nAI:"]
    ]);
    try {
        $json = @json_decode($res);
        foreach ($json->choices as $choice) {
            echo $choice->text . PHP_EOL;
        }
    } catch (Exception $e) {
        var_dump($e);
        return NULL;
    }
}

$text = 

Perhatikan susunan stop, yang dipetik daripada dokumentasi:

Ini seolah-olah membiarkan AI tahu di mana untuk "membaca" dan di mana untuk "menulis"

Jika anda mengalih keluar parameter itu daripada permintaan, ia akan kembali tanpa mengembalikan jawapan:

You asked what 3 times 3 is.
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!