>>> import pytgpt.phind as phind>>> bot = phind.PHIND()>>> bot.chat('bonjour')'Bonjour ! Comment puis-je vous aider aujourd'hui ?
à partir de pytgpt.imager import Imagerimg = Imager()generated_images = img.generate(prompt="Cyberpunk", montant=3, stream=True)img.save(generated_images)
Ce projet permet une interaction transparente avec plus de 45 fournisseurs LLM gratuits sans nécessiter de clé API ni générer d'images.
Le nom python-tgpt s'inspire de son projet parent tgpt, qui fonctionne sur Golang. Grâce à cette adaptation de Python, les utilisateurs peuvent interagir sans effort avec un certain nombre de LLM gratuits disponibles, favorisant une expérience d'interaction avec l'IA plus fluide.
? Paquet Python
FastAPI pour l'intégration Web
⌨️ Interface de ligne de commande
? Plusieurs prestataires LLM - 45+
? Réponse en flux et hors flux
Prêt à l'emploi (aucune clé API requise)
Génération et exécution de scripts personnalisables
? Prise en charge hors ligne des grands modèles linguistiques
? Capacités de génération d'images
? Capacités de conversion texte-audio
⛓️ Requêtes chaînées via proxy
?️ Expérience de chat conversationnelle améliorée
? Possibilité d'enregistrer des invites et des réponses (conversation)
Possibilité de charger les conversations précédentes
Passez facilement les invites géniales de chatgpt
? Bot télégramme - interface
Prise en charge asynchrone de toutes les opérations majeures.
Ce sont simplement les hôtes des LLM, ils comprennent :
Phind
Perplexité
Blackboxai
Koboldaï
Ai4chat
gpt4all (Hors ligne)
Poe - Poe|Quora (ID de session requis)
Groq (clé API requise)
OpenAI (clé API requise)
Plus de 41 fournisseurs fièrement proposés par gpt4free.
Pour répertorier les fournisseurs fonctionnels, exécutez :
$ pytgpt gpt4free test -y
Python>=3.10
Développeurs :
pip install --upgrade python-tgpt
Ligne de commande :
pip install --upgrade "python-tgpt[cli]"
Installation complète :
pip install --upgrade "python-tgpt[all]"
pip install -U "python-tgt[api]"
installera les dépendances de l'API REST.
Développeurs :
pip install --upgrade "python-tgpt[termux]"
Ligne de commande :
pip install --upgrade "python-tgpt[termux-cli]"
Installation complète :
pip install --upgrade "python-tgpt[termux-all]"
pip install -U "python-tgt[termux-api]"
installera les dépendances de l'API REST
Ce package offre une interface de ligne de commande pratique.
Note
phind
est le fournisseur par défaut.
Pour une réponse rapide :
python -m pytgpt générer "<Votre invite>"
Pour le mode interactif :
python -m pytgpt interactif "<Invite de lancement (mais pas obligatoire)>"
Utilisez flag --provider
suivi du nom du fournisseur de votre choix. par exemple --provider koboldai
Pour lister tous les fournisseurs proposés par gpt4free, utilisez les commandes suivantes :
pytgpt gpt4free list providers
Vous pouvez aussi simplement utiliser pytgpt
au lieu de python -m pytgpt
.
À partir de la version 0.2.7, exécuter $ pytgpt
sans aucune autre commande ou option passera automatiquement en mode interactive
. Sinon, vous devrez déclarer explicitement l'action souhaitée, par exemple en exécutant $ pytgpt generate
.
Générez une réponse rapide
from pytgpt.phind import PHINDbot = PHIND()resp = bot.chat('<Votre invite>')print(resp)# Sortie : Comment puis-je vous aider aujourd'hui ?
Récupérer l'intégralité de la réponse
from pytgpt.phind import PHINDbot = PHIND()resp = bot.chat('<Votre invite>')print(resp)# Output"""{'id' : 'chatcmpl-gp6cwu2e5ez3ltoyti4z', 'object' : 'chat. complétion.chunk', 'créé' : 1731257890, 'modèle' : 'phind-instant-llama-3_1-08-31-2024-checkpoint-1500', 'choices' : [{'index' : 0, 'delta' : {'content' : "Bonjour ! Je suis un assistant IA créé par Phind pour vous aider dans les tâches de programmation. Comment puis-je vous aider aujourd'hui ?"}, 'finish_reason' : Aucun}]}"""
Ajoutez simplement stream
de paramètres avec la valeur true
.
Texte généré uniquement
from pytgpt.phind import PHINDbot = PHIND()response = bot.chat('hello', stream=True)for chunk in réponse:print(chunk)# output"""BonjourBonjour !Bonjour ! CommentBonjour ! Comment puis-jeBonjour ! Comment puis-jeBonjour ! Comment puis-je vous aiderBonjour ! Comment puis-je vous aiderBonjour ! Comment puis-je vous aider aujourd'hui ?"""
Réponse complète
depuis pytgpt.phind import PHINDbot = PHIND()resp = bot.ask('<Your Prompt>', stream=True)pour la valeur dans resp:print(value)# Output"""{'id': 'chatcmpl-icz6a4m1nbbclw9hhgol ', 'objet' : 'chat.completion.chunk', 'créé' : 1731258032, 'model' : 'phind-instant-llama-3_1-08-31-2024-checkpoint-1500', 'choices' : [{'index' : 0, 'delta' : {'content' : 'Bonjour'}, 'finish_reason' : Aucun}]}{'id' : 'chatcmpl-icz6a4m1nbbclw9hhgol', 'objet' : 'chat.completion.chunk', 'créé' : 1731258032, 'modèle' : 'phind-instant-llama-3_1-08-31-2024-checkpoint-1500', 'choix' : [{'index ' : 0, 'delta' : {'content' : "Bonjour ! Je suis une IA"}, 'finish_reason' : Aucun}]}{'id' : 'chatcmpl-icz6a4m1nbbclw9hhgol', 'object' : 'chat.completion.chunk', 'created' : 1731258032, 'model' : 'phind-instant-llama-3_1-08-31-2024-checkpoint-1500', 'choices' : [{'index' : 0, 'delta' : {'content' : "Bonjour ! Je suis un assistant IA créé par Phind pour vous aider dans les tâches de codage et techniques. Comment"}, 'finish_reason' : Aucun}]}{'id' : 'chatcmpl-icz6a4m1nbbclw9hhgol', 'objet' : 'chat.completion.chunk', 'créé' : 1731258032, 'modèle' : 'phind-instant-llama-3_1-08-31-2024-checkpoint-1500', 'choices' : [{'index' : 0, 'delta' : {'content' : "Bonjour ! Je suis un assistant IA créé par Phind pour vous aider dans les tâches de codage et techniques. Comment puis-je vous aider aujourd'hui ?"}, 'finish_reason' : Aucun}]}"""
import pytgpt.auto import autobot = auto.AUTO()print(bot.chat("<Votre-invite>"))
importer pytgpt.openai comme openaibot = openai.OPENAI("<OPENAI-API-KEY>")print(bot.chat("<Votre-invite>"))
importer pytgpt.koboldai en tant que koboldaibot = koboldai.KOBOLDAI()print(bot.chat("<Votre-invite>"))
importer pytgpt.phind en tant que phindbot = phind.PHIND()print(bot.chat("<Votre-invite>"))
importer pytgpt.perplexity en tant que perplexitybot = perplexity.PERPLEXITY()print(bot.chat("<Votre-invite>"))
importer pytgpt.blackboxai en tant que blackboxaibot = blackboxai.BLACKBOXAI()print(bot.chat("<Votre-invite>"))
importer pytgpt.gpt4free en tant que gpt4freebot = gpt4free.GPT4FREE(provider="Koala")print(bot.chat("<Votre-invite>"))
La version 0.7.0 introduit l'implémentation asynchrone chez presque tous les fournisseurs, à l'exception de quelques-uns comme perplexity , qui s'appuie sur d'autres bibliothèques dépourvues d'une telle implémentation.
Pour faciliter les choses, il vous suffit de préfixer Async
au nom de la classe synchrone commune. Par exemple, PHIND
sera accessible en tant que AsyncPHIND
:
import asynciofrom pytgpt.phind import AsyncPHINDasync def main():async_ask = wait AsyncPHIND(False).ask("Critique selon laquelle python est cool.",stream=True)async pour streaming_response dans async_ask:print(streaming_response)asyncio.run(main () )
import asynciofrom pytgpt.phind import AsyncPHINDasync def main():async_ask = wait AsyncPHIND(False).chat("Critique selon laquelle python est cool.",stream=True)async pour streaming_text dans async_ask:print(streaming_text)asyncio.run(main () )
Pour obtenir des réponses plus personnalisées, envisagez d'utiliser des optimiseurs à l'aide du paramètre optimizer
. Ses valeurs peuvent être définies sur code
ou system_command
.
depuis pytgpt.phind import PHINDbot = PHIND()resp = bot.ask('<Votre invite>', optimiseur='code')print(resp)
Important
À partir de la version 0.1.0, le mode d'interaction par défaut est conversationnel. Ce mode améliore l'expérience interactive, offrant un meilleur contrôle sur l'historique des discussions. En associant les invites et réponses précédentes, il adapte les conversations pour une expérience plus engageante.
Vous pouvez toujours désactiver le mode :
bot = koboldai.KOBOLDAI(is_conversation=False)
Utilisez l'indicateur --disable-conversation
dans la console pour obtenir la même fonctionnalité.
Cela a été rendu possible grâce à pollinisations.ai.
$ pytgpt imager "<invite>"# par exemple pytgpt imager "Coding bot"
depuis pytgpt.imager import Imagerimg = Imager()generated_img = img.generate('Coding bot') # [bytes]img.save(generated_img)
à partir de pytgpt.imager import Imagerimg = Imager()img_generator = img.generate('Coding bot', montant=3, stream=True)img.save(img_generator)# RAM compatible
à partir de pytgpt.imager import Prodiaimg = Prodia()img_generator = img.generate('Coding bot', montant=3, stream=True)img.save(img_generator)
La fonctionnalité generate
a été améliorée à partir de la v0.3.0 pour permettre une utilisation complète de l'option --with-copied
et la prise en charge de l'acceptation des entrées canalisées. Cette amélioration introduit des espaces réservés, offrant des valeurs dynamiques pour des interactions plus polyvalentes.
Espace réservé | Représente |
---|---|
{{stream}} | L'entrée canalisée |
{{copied}} | Le dernier texte copié |
Cette fonctionnalité est particulièrement intéressante pour les opérations complexes. Par exemple:
$ git diff | pytgpt generate "Voici un fichier diff : {{stream}} Créez-en un message de validation concis, en l'alignant sur l'historique de mes messages de validation : {{copié}}" --new
Dans cette illustration,
{{stream}}
désigne le résultat de l'opération$ git diff
, tandis que{{copied}}
signifie le contenu copié à partir de la sortie de la commande$ git log
.
Ces invites sont conçues pour guider le comportement ou les réponses de l'IA dans une direction particulière, l'encourageant à présenter certaines caractéristiques ou comportements. Le terme « invite géniale » n'est pas un terme formel dans la littérature sur l'IA ou l'apprentissage automatique, mais il résume l'idée de créer des invites efficaces pour atteindre les résultats souhaités. Disons que vous voulez qu'il se comporte comme un terminal Linux , un interpréteur PHP ou simplement comme JAIL BREAK.
Instances :
$ pytgpt interactive --awesome-prompt "Linux Terminal"# Agit comme un terminal Linux$ pytgpt interactive -ap DAN# Jailbreak
Note
Les invites impressionnantes sont une alternative à --intro
. Exécutez $ pytgpt awesome whole
pour lister les invites disponibles ( 200+ ). Exécutez $ pytgpt awesome --help
pour plus d'informations.
RawDog est une fonctionnalité chef-d'œuvre qui exploite les capacités polyvalentes de Python pour commander et contrôler votre système selon vos besoins. Vous pouvez littéralement tout faire avec, puisqu'il génère et exécute des codes python, pilotés par vos invites ! Pour manger un morceau de rawdog, ajoutez simplement le drapeau --rawdog
shortform -rd
en mode génération/interactif . Cela introduit une fonctionnalité inédite dans l' écosystème tgpt . Merci à AbanteAI/rawdog pour l'idée.
Cela peut être utile à certains égards. Par exemple :
$ pytgpt generate -n -q "Visualisez l'utilisation du disque à l'aide d'un diagramme circulaire" --rawdog
Cela fera apparaître une fenêtre affichant l'utilisation du disque système, comme indiqué ci-dessous.
Pytgpt v0.4.6 introduit une manière conventionnelle de récupérer des variables de l'environnement. Pour y parvenir, définissez les variables d'environnement dans votre système d'exploitation ou votre script avec le préfixe PYTGPT_
suivi du nom de l'option en majuscule, en remplaçant les tirets par des traits de soulignement.
Par exemple, pour l'option --provider
, vous définirez une variable d'environnement PYTGPT_PROVIDER
pour fournir une valeur par défaut pour cette option. Le même cas s'applique aux indicateurs booléens tels que --rawdog
dont la variable d'environnement sera PYTGPT_RAWDOG
avec une valeur true/false
. Enfin, --awesome-prompt
prendra la variable d'environnement PYTGPT_AWESOME_PROMPT
.
Note
Ceci n'est limité à aucune commande
Les variables d'environnement peuvent être remplacées en déclarant explicitement une nouvelle valeur.
Conseil
Enregistrez les variables dans un fichier .env
dans votre répertoire actuel ou exportez-les dans votre fichier ~/.zshrc
. Pour charger des conversations précédentes à partir d'un fichier .txt
, utilisez l'indicateur -fp
ou --filepath
. Si aucun indicateur n'est passé, celui par défaut sera utilisé. Pour charger le contexte d'un fichier sans altérer son contenu, utilisez l'indicateur --retain-file
.
La version 0.4.6 introduit également un fournisseur dynamique appelé g4fauto
, qui représente le fournisseur basé sur g4f le plus rapide.
Conseil
Pour lancer l'interface Web pour les fournisseurs basés sur g4f, exécutez simplement $ pytgpt gpt4free gui
. $ pytgpt api run
démarrera l'API REST. Accédez respectivement à docs et redoc dans /docs et /redoc . Pour lancer l'interface Web pour les fournisseurs basés sur g4f, exécutez la commande suivante dans votre terminal :
$ pytgpt interface graphique gpt4free
Cette commande initialise l'interface utilisateur Web pour interagir avec les fournisseurs basés sur g4f.
Pour démarrer l'API REST :
$ pytgpt api exécuté
Cette commande démarre le serveur API RESTful, vous permettant d'interagir avec le service par programme.
Pour accéder à la documentation et à la redoc, accédez aux chemins suivants dans votre navigateur Web :
Documentation : /docs
ReDoc : /redoc
Pour activer la synthèse vocale des réponses, assurez-vous que le lecteur VLC est installé sur votre système ou, si vous êtes un utilisateur Termux, le package Termux:API.
Pour activer la synthèse vocale, utilisez l'indicateur --talk-to-me
ou son raccourci -ttm
lors de l'exécution de vos commandes. Par exemple:
$ pytgpt generate "Générer une histoire d'ogre" --talk-to-me
ou
$ pytgpt interactif -ttm
Ce drapeau demande au système d'audioliser les réponses de l'IA, puis de les lire, améliorant ainsi l'expérience utilisateur en fournissant un retour auditif.
La version 0.6.4 introduit un autre fournisseur dynamique, auto
, qui désigne globalement le fournisseur fonctionnel. Cela vous libère de la charge de travail liée à la vérification manuelle d'un fournisseur fonctionnel à chaque fois que vous lancez pytgpt. Cependant, auto
en tant que fournisseur ne fonctionne pas très bien avec les réponses en streaming, vous devrez donc probablement sacrifier les performances au profit de la fiabilité.
Si vous n'êtes pas satisfait des interfaces existantes, pytgpt-bot pourrait être la solution que vous recherchez. Ce bot est conçu pour améliorer votre expérience en offrant un large éventail de fonctionnalités. Que vous souhaitiez participer à des conversations basées sur l'IA, créer des images et du son à partir de texte ou explorer d'autres fonctionnalités innovantes, pytgpt-bot est équipé pour répondre à vos besoins.
Le bot est maintenu en tant que projet distinct, il vous suffit donc d'exécuter une commande pour l'installer :
$ pip install pytgpt-bot
Utilisation : pytgpt bot run <bot-api-token>
Ou vous pouvez simplement interagir avec celui qui s'exécute actuellement sous le nom de @pytgpt-bot
Pour plus d'informations sur l'utilisation, exécutez $ pytgpt --help
Usage: pytgpt [OPTIONS] COMMAND [ARGS]... Options: -v, --version Show the version and exit. -h, --help Show this message and exit. Commands: api FastAPI control endpoint awesome Perform CRUD operations on awesome-prompts bot Telegram bot interface control generate Generate a quick response with AI gpt4free Discover gpt4free models, providers etc imager Generate images with pollinations.ai interactive Chat with AI interactively (Default) utils Utility endpoint for pytgpt
Non. | API | Statut |
---|---|---|
1. | Lors du rendu | travail cron |
cible
gpt4gratuit