maximerenou / pi-chat
Pi client
Requires
- php: >=7.1
- ext-curl: *
- eislambey/eventsource: ^0.1.0
README
This is an unofficial PHP client for Pi chatbot (from Inflection AI). It doesn't require authentication.
This package isn't actively maintained and may be unstable due to Inflection AI's Cloudflare configuration.
This package is stricly meant for educational purpose. Use at your own risks.
Installation
composer require maximerenou/pi-chat
Demo
Clone this repo, run composer install
and run examples/chat.php
to test it.
Usage
use MaximeRenou\PiChat\Client as PiChat; use MaximeRenou\PiChat\Prompt; $chatbot = new PiChat(); $conversation = $chatbot->createConversation(); // $answer - full answer $answer = $conversation->ask(new Prompt("Hello World"));
Real-time / progressive answer
You may pass a function as second argument to get real-time progression:
// $current_answer - incomplete answer // $tokens - last tokens received $final_answer = $conversation->ask($prompt, function ($current_answer, $tokens) { echo $tokens; });
Resume a conversation
If you want to resume a previous conversation, you can retrieve its identifiers:
// Get current identifiers $identifiers = $conversation->getIdentifiers(); // ... // Resume conversation with $identifiers parameter $conversation = $chatbot->resumeConversation($identifiers);
Error handling
The code throws exceptions when it receives an error from Pi. You can therefore use a try/catch block to handle errors.
Disclaimer
This code is for educational purpose only. Using Pi outside pi.ai may violate Inflection AI terms.