Code für einen Telegrammbot? Spezifisch auf Pytorch LLM angetrieben
Dieses Projekt zielt darauf ab, einen Text -Mesagge -Chatbot zu simulieren, um über Pytorch zu chatten
In dieser optimierten Architektur dient die Chatbot -Geschichte als zentrales Repository der Interaktionsgeschichte und unterstützt sowohl das Abrufen des historischen Kontextes als auch die Protokollierung neuer Interaktionen, einschließlich der vollständigen Antworten aus dem LLM. Die Chatbot -UI, Retriever, Vector -Datenbank, ein promptierter Speicher und LLM spielen alle in einer flüssigen Konversationsschleife und bieten dem Benutzer ein nahtloses Chat -Erlebnis.
+--------+--------+ (11)
| |
| Chatbot UI |
| |
+--------+--------+
^
|
(2) input|(10) output
v
+--------+-----------+
| | (9) response content
| Chatbot History +<-------------------------------+
| | |
+--------+-----------+ |
| |
| (3) message |
v ^
+-------------------+ +---------+------------+ (4) +---------+-----------+
| | | | | |
|Vector Database ? +---------->| Retriever ? | | requests History ? |
| | | | | |
+-------------------+ +---------+------------+ +---------+-----------+
| ^
| (5) Augmented message |
v |
+--------+---------+ (6) |
| | |
|Prompt Storage | |
| | |
+--------+---------+ |
| |
| (7) Augmented prompt with LLM params |
| |
v |
+--------+-----------+ |
| | |
| LLM ? | (8) Generated response |
| (Large Language +--------------------------------+
| Model) |
| |
+--------------------+
Stellen Sie vor Beginn sicher, dass Sie die folgenden Voraussetzungen haben:
.env -Datei festzulegen, die auf dem Repo nicht ignoriert wird Befolgen Sie diese Schritte, um das Projekt einzurichten und auszuführen:
Klonen Sie das Repository:
git clone [email protected]:DLesmes/torchbot.git
cd torchbot
Richten Sie die virtuelle Python -Umgebung mit den Anforderungen ein.txt:
python3 -m venv venv
source venv/bin/activate
python3 -m pip install -r requirements.txt
Führen Sie den Server aus:
python3 main.py
Sie können es auch in Ihrer bevorzugten IDE debuggen.
Standardmäßig wird eine History.json-Datei erstellt, die eine No-SQL-Datenbank simuliert, die für die nächsten Versionen entwickelt werden kann. Diese Datei ist so eingestellt, dass sie wie folgt sind:
{
"<user_id>": [
{
"full_chat": [
{
"reply_id": srt, // reply id
"role": "system", // by default the first reply role is the "system"
"content": srt, // message content
"timestamp": int, // timestamp in milliseconds
},
{
"reply_id": str, // reply id
"role": "user", // by default the second reply role is the "user"
"content": srt, // message content
"timestamp": int, // timestamp in milliseconds
},
{
"reply_id": str, // reply id
"role": "assitant", // by default the third reply role is the "assistant"
"content": srt, // message content
"timestamp": int, // timestamp in milliseconds
},
{
"reply_id": str, // reply id
"role": str, // role of the user
"content": srt, // message content
"timestamp": int, // timestamp in milliseconds
}
]
}
]
}
Standardmäßig wird eine Anregung.JSON-Datei erstellt, die eine No-SQL-Datenbank simuliert, die für die nächsten Versionen entwickelt werden kann. Diese Datei ist so eingestellt, dass sie wie folgt sind:
{
"<reply_id>": [
{
"user_id": srt, // reply id
"prompt": srt, // message content
"response": int, // timestamp in milliseconds
"timestamp": int, // timestamp in milliseconds
}
]
}
Fühlen Sie sich frei zu beitragen und dieses Chatbot -Projekt noch besser zu machen! Wir begrüßen Beiträge aus der Community! Wenn Sie einen Beitrag leisten möchten, befolgen Sie bitte die folgenden Schritte:
git checkout -b feature/YourFeatureNamegit commit -am 'Add some feature'git push origin feature/YourFeatureNameFür Fragen oder Vorschläge ist es mein Profil, hier zu erreichen