Intégrez le bot ChatGPT à Line. Tapez simplement du texte dans la zone de saisie pour commencer à interagir avec ChatGPT.
-
Complètement gratuit Bot ChatGPT
-
Informations horoscope hebdomadaire (en temps réel)
-
Notification programmée pour les chaînes de musique YouTube
-
Recherche d'images en ligne (en temps réel)
Note
Si vous avez des demandes de fonctionnalités, n'hésitez pas à soumettre un PR ou un ISSUE.
Python FastAPI
: Créer l'API de réponse ChatGPTgpt4free
: Utiliser l'API OpenAI gratuitementzhipuai
: Utiliser l'API GPT gratuitementLine messaging API channel
: Connecter l'API ChatGPTGitHub
: Dépôt de codereplit/render/ngrok
: Déployer votre propre FastAPI gratuitementCronJob
: Envoyer des requêtes programmées gratuitement, permettant des messages de notification programmés
Puisque g4f
dépend du reverse engineering pour appeler l'API d'OpenAI, il peut être instable. Par conséquent, l'auteur suggère une solution alternative utilisant la plateforme ouverte Zhipu AI pour accéder gratuitement à l'API GPT.
g4f
: Utiliser le reverse engineering pour appeler l'API OpenAIzhipuai
: La plateforme ouverte Zhipu AI offre une API GPT gratuite. Visitez le site officiel pour créer un compte sans nécessiter de carte de crédit ni frais. Ajoutez une clé API dans le Centre Personnel comme indiqué ci-dessous. Définissez cette clé API dans les variables d'environnement pour utiliser cette option GPT.
- Obtenir les Tokens Line :
- Connectez-vous à Line Developer
- Créer un bot :
- Créer un
Provider
-> Cliquez surCreate
- Créer un
Channel
-> SélectionnezCreate a Messaging API channel
- Remplissez les informations de base requises
- Après completion, allez dans
Basic Settings
-> SousChannel Secret
, cliquez surIssue
pour générer leLINE_CHANNEL_SECRET
(utilisé plus tard). - Sous
Messaging API
, cliquez surIssue
pour générer leChannel access token
(utilisé plus tard).
- Créer un
- Forker le Projet GitHub :
- Inscrivez-vous/Connectez-vous à GitHub
- Naviguez vers ChatGPT-Line-Bot
- Cliquez sur
Star
pour soutenir le développeur - Cliquez sur
Fork
pour copier tout le code dans votre dépôt
- Déploiement :
ngrok
: Utiliser un ordinateur local (ou Google Colab) comme serveur pour déployer l'API-
Téléchargez la version appropriée de
ngrok
pour votre OS -
Ajoutez le chemin de
ngrok.exe
aux variables d'environnement de votre système -
Lancer FastAPI dans le terminal :
$env:LINE_CHANNEL_SECRET="..."; $env:LINE_CHANNEL_ACCESS_TOKEN="..."; $env:SERPAPI_API_KEY="..."; $env:GPT_METHOD="..."; $env:GPT_API_KEY="..."; python main.py
GPT_METHOD
: Choisissezg4f
ouzhipuai
GPT_API_KEY
: Si vous utilisez la méthodezhipuai
, fournissez votre clé API
-
Exécutez :
ngrok config add-authtoken <token>
. Obtenez le token depuis votre tableau de bord personnel ngrok. -
Exécutez :
ngrok http 8080
. L'URL de transfert sera l'URL du webhook.
-
Enfin, remplacez l'URL du webhook dans la section Messaging API
de la console Line Developer. (Voir l'étape 2 dans la Configuration du Projet)
Revenez à la page d'accueil Line Developer, cliquez sur Add Friend Guide
, et scannez le QR code pour ajouter le Bot Line comme ami.
Page d'accueil -> Sélectionnez votre bot -> Outils d'ajout d'ami -> Créer un Code-barres d'Action d'Ami (https://manager.line.biz/account//gainfriends)
Félicitations ! Vous avez créé votre premier Bot Line. Essayez de lui parler - il vous répondra !
- Dans un chat en tête-à-tête, n'importe quel message déclenchera une réponse.
- Dans les chats de groupe, utilisez le préfixe
@chat
pour interagir avec le bot, par exemple,@chat hi~
.
Lorsque votre message contient une demande d'information sur l'horoscope, un crawler web récupérera l'horoscope hebdomadaire :
- Chat personnel :
Donne-moi l'horoscope du Scorpion
,Je veux connaître l'horoscope du Scorpion
, ... - Chat de groupe :
@chat Donne-moi l'horoscope du Scorpion
,@chat Je veux connaître l'horoscope du Scorpion
, ...
Lorsque votre message contient une demande d'image, un crawler web récupérera une image :
- Chat personnel :
Trouve une image de Lin Xiang fumer en ligne
,Donne-moi une image de Lin Xiang fumer en ligne
, ... - Chat de groupe :
@chat Trouve une image de Lin Xiang fumer en ligne
,@chat Donne-moi une image de Lin Xiang fumer en ligne
, ...
- En utilisant l'API
broadcast
, le Bot Line peut pousser des messages à tous les utilisateurs en même temps. - Cet exemple montre comment le Bot Line peut pousser 3 chansons YouTube sélectionnées au hasard chaque matin :
-
Créez le fichier
./data/favorite_videos.json
. Référez-vous au jeu de données de l'auteur.(Le jeu de données est généré en utilisant l'API
YouTube Data v3
pour récupérer les vidéos favorites. Ce guide ne couvre pas l'utilisation de l'API YouTube.) -
Utilisez
./ChatGPT_linebot/modules/youtube_recommend.py
pour sélectionner 3 chansons au hasard, formatées par GPT. -
Ajoutez une route
/recommend
dans./ChatGPT_linebot/urls.py
:videos = recommend_videos() # Obtenir 3 chansons if videos: line_bot_api.broadcast(TextSendMessage(text=videos)) # Diffuser aux utilisateurs # Pousser des messages aux groupes connus known_group_ids = [ 'C6d-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'Ccc-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'Cbb-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx', ] for group_id in known_group_ids: line_bot_api.push_message(group_id, TextSendMessage(text=videos))
Pour récupérer le
group_id
, affichez-le dans la console :elif event.source.type == 'group' and user_message.startswith('@chat'): group_id = event.source.group_id print(group_id) # Sortir group_id
-
Maintenant, appeler la route
/recommend
diffusera des messages à tous les utilisateurs et aux groupes spécifiés. -
Utilisez cron-job.org pour programmer des poussées quotidiennes à 8h00 :
- Inscrivez-vous/Connectez-vous à cron-job.org
- Cliquez sur
CREATE CRONJOB
dans le coin supérieur droit - Titre :
ChatGPT-Line-Bot
, URL : par exemple,https://ChatGPT-Line-Bot.jimmylin.repl.co/
- Définir pour s'exécuter toutes les
5 minutes
- Cliquez sur
CREATE
-
Vous pouvez personnaliser les réponses du Bot Line en utilisant des prompts. Définissez template
dans ./ChatGPT_linebot/prompts/template.py
, par exemple :
Entrée utilisateur : Que devrais-je prendre pour le petit-déjeuner ?
Réponse du bot : Chérie, es-tu déjà réveillée ? J'ai attendu au lit, en pensant à ta silhouette adorable. Que devrions-nous prendre pour le petit-déjeuner ? Et si on prenait quelque chose d'épicé, comme une omelette brûlante pour correspondre à ton charme ardent ? 😏🍳