Fitur baru: Kirim gambar dalam obrolan

Ini adalah klien PHP tidak resmi untuk Bing AI , termasuk obrolan (GPT-4) dan pencipta gambar (Dall-E) .
composer require maximerenou/bing-ai
Program demo ini menggunakan obrolan dan pencipta gambar:

Sumber: examples/multi.php .
Pertama, Anda harus masuk di Bing.com dan mendapatkan cookie _U Anda.
❗ Pastikan Anda mengirim pesan pertama ke Bing Chat sebelum menggunakan cookie Anda (captcha bypass)
use MaximeRenou BingAI BingAI ;
// $cookie - your "_U" cookie from bing.com
$ ai = new BingAI ( $ cookie );
$ valid = $ ai -> checkCookie (); Demo : Kloning repo ini, edit dan jalankan examples/chat.php .
use MaximeRenou BingAI BingAI ;
use MaximeRenou BingAI Chat Prompt ;
// $cookie - your "_U" cookie from bing.com
$ ai = new BingAI ( $ cookie );
$ conversation = $ ai -> createChatConversation ();
// $text - Text-only version of Bing's answer
// $cards - Message objects array
list ( $ text , $ cards ) = $ conversation -> ask ( new Prompt ( " Hello World " ));
$cardsberisi semua "pesan" yang dipertukarkan dengan Bing AI. Ini bisa berupa teks (prompt atau jawaban), sinyal, saran, permintaan pembuatan gambar, dll. PeriksaMessage.phpuntuk mempelajari lebih lanjut tentang formatnya.
Anda dapat melampirkan gambar ke pesan Anda:
$ prompt = new Prompt ( " How cute is this animal? " );
$ prompt -> withImage ( ' /path/to/panda.png ' );
//or: $prompt->withImage($raw_image_data, true);
$ conversation -> ask ( $ prompt , ...);Cobalah! Ketik
$imagedi akhir pesan Anda denganexamples/chat.php.
Anda dapat melewati suatu fungsi sebagai argumen kedua untuk mendapatkan perkembangan real-time:
// $text - Incomplete text version
// $cards - Incomplete messages fleet
list ( $ final_text , $ final_cards ) = $ conversation -> ask ( $ prompt , function ( $ text , $ cards ) {
echo $ text ;
}); $ conversation = $ ai -> createChatConversation ()
-> withLocation ( $ latitude , $ longitude , $ radius ) // Optional
-> withPreferences ( ' fr-FR ' , ' fr-FR ' , ' FR ' ); // Optional use MaximeRenou BingAI Chat Tone ;
$ conversation = $ ai -> createChatConversation ()
-> withTone (Tone::Creative); // Optional
// Choices:
// Tone::Balanced (default)
// Tone::Creative
// Tone::PreciseJika Anda ingin melanjutkan percakapan sebelumnya, Anda dapat mengambil pengidentifikasinya:
// Get current identifiers
$ identifiers = $ conversation -> getIdentifiers ();
// ...
// Resume conversation with $identifiers parameter, and number of previous questions asked
$ conversation = $ ai -> resumeChatConversation ( $ identifiers , 1 ); $ subject = " Internet memes " ;
$ tone = ' funny ' ;
$ type = ' blog post ' ;
$ length = ' short ' ;
$ prompt = new Prompt ( " Please write a * $ length * * $ type * in a * $ tone * style about ` $ subject `. Please wrap the $ type in a markdown codeblock. " );
$ conversation -> ask ( $ prompt -> withoutCache (), ...)Untuk mencegah jawaban seperti "Saya sudah menulis [...]", Anda dapat menonaktifkan cache untuk prompt Anda dengan
withoutCache().
Bing membatasi jumlah pesan per percakapan. Anda dapat memantau dengan menelepon getRemainingMessages() setelah setiap interaksi.
$ remaining = $ conversation -> getRemainingMessages ();
if ( $ remaining === 0 ) {
// You reached the limit
}Setelah setiap interaksi, Anda juga harus memeriksa apakah Anda telah ditendang dari percakapan:
if ( $ conversation -> kicked ()) {
// You have been kicked, you should start a new conversation
}Anda dapat menggabungkan kedua cek dengan:
if ( $ conversation -> ended ()) {
// You reached the limit or have been kicked
} Demo : Kloning repo ini, edit dan jalankan examples/images.php .
use MaximeRenou BingAI BingAI ;
// $cookie - your "_U" cookie from bing.com
$ ai = new BingAI ( $ cookie );
$ creator = $ ai -> createImages ( " A 3D teddy bear " );
$ creator -> wait ();
// Finally, get images URLs
if (! $ creator -> hasFailed ()) {
$ images = $ creator -> getImages ();
}Generasi gambar dapat menjadi lebih lambat setelah mengonsumsi semua "boost" Anda. Periksa bagian di bawah ini agar tetap mengetahui sisa dorongan Anda.
$ creator = $ ai -> getImageCreator ();
$ remaining_boosts = $ creator -> getRemainingBoosts (); $ prompt = " A 3D teddy bear " ;
$ creator = $ ai -> createImages ( $ prompt );
$ generation_id = $ creator -> getGenerationId ();
// ...
$ creator = $ ai -> getImageCreator ();
$ creator -> resume ( $ generation_id , $ prompt ); do {
sleep ( 1 );
} while ( $ creator -> isGenerating ());Menggunakan Bing AI di luar Bing.com dapat melanggar persyaratan Bing. Gunakan dengan risiko Anda sendiri. Bing adalah merek dagang dari Microsoft.