Nouvelle fonctionnalité: envoyer des images en chat

Il s'agit d'un client PHP non officiel pour Bing AI , y compris le chat (GPT-4) et le créateur d'images (Dall-E) .
composer require maximerenou/bing-ai
Ce programme de démonstration utilise à la fois le CHAT et le créateur d'images:

Source: examples/multi.php .
Tout d'abord, vous devez vous connecter sur bing.com et obtenir votre cookie _U .
❗ Assurez-vous d'envoyer un premier message à Bing Chat avant d'utiliser votre cookie (contournement CAPTCHA)
use MaximeRenou BingAI BingAI ;
// $cookie - your "_U" cookie from bing.com
$ ai = new BingAI ( $ cookie );
$ valid = $ ai -> checkCookie (); Demo : clone ce dépôt, modifier et exécuter 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 " ));
$cardscontient tous les "messages" échangés avec Bing AI. Il peut s'agir de texte (invite ou de réponse), signaux, suggestions, demandes de génération d'images, etc. VérifiezMessage.phppour en savoir plus sur son format.
Vous pouvez joindre une image à votre message:
$ prompt = new Prompt ( " How cute is this animal? " );
$ prompt -> withImage ( ' /path/to/panda.png ' );
//or: $prompt->withImage($raw_image_data, true);
$ conversation -> ask ( $ prompt , ...);Essayez-le! Tapez
$imageà la fin de votre message avecexamples/chat.php.
Vous pouvez passer une fonction comme deuxième argument pour obtenir une progression en temps réel:
// $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::PreciseSi vous souhaitez reprendre une conversation précédente, vous pouvez récupérer ses identifiants:
// 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 (), ...)Pour éviter des réponses comme "J'ai déjà écrit [...]", vous pouvez désactiver le cache pour votre invite avec
withoutCache().
Bing limite le nombre de messages par conversations. Vous pouvez le surveiller en appelant getRemainingMessages() après chaque interaction.
$ remaining = $ conversation -> getRemainingMessages ();
if ( $ remaining === 0 ) {
// You reached the limit
}Après chaque interaction, vous devez également vérifier si vous avez été expulsé de la conversation:
if ( $ conversation -> kicked ()) {
// You have been kicked, you should start a new conversation
}Vous pouvez combiner les deux chèques avec:
if ( $ conversation -> ended ()) {
// You reached the limit or have been kicked
} Demo : clone ce dépôt, modifier et exécuter 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 ();
}La génération d'images peut devenir plus lente après avoir consommé tous vos "boosts". Vérifiez la section ci-dessous pour rester conscient de vos augmentations restantes.
$ 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 ());L'utilisation de Bing AI en dehors de Bing.com peut violer les termes de Bing. Utilisez-le à vos propres risques. Bing est une marque de commerce de Microsoft.