¿Código para un bot de telegrama? Especializado en Pytorch LLM Powered
Este proyecto tiene como objetivo simular un texto Mesagge Chatbot para charlar sobre Pytorch
En esta arquitectura simplificada, la historia del chatbot sirve como el repositorio central del historial de interacción, que respalda tanto la recuperación del contexto histórico como el registro de nuevas interacciones, incluidas las respuestas completas de la LLM. La interfaz de usuario de chatbot, el retriever, la base de datos Vector, el almacenamiento de inmediato y el LLM juegan roles en un bucle de conversación fluida, proporcionando al usuario una experiencia de chat sin problemas.
+--------+--------+ (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) |
| |
+--------------------+
Antes de comenzar, asegúrese de tener los siguientes requisitos previos:
.env , no se ignora en el repositorio Siga estos pasos para configurar y ejecutar el proyecto:
Clon el repositorio:
git clone [email protected]:DLesmes/torchbot.git
cd torchbot
Configure el entorno virtual de Python con los requisitos.txt:
python3 -m venv venv
source venv/bin/activate
python3 -m pip install -r requirements.txt
Ejecute el servidor:
python3 main.py
También puede depurarlo en su IDE preferido.
Por defecto, se creará un archivo History.json que simula una base de datos sin SQL que se puede desarrollar para las próximas versiones de este archivo para que sea así:
{
"<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
}
]
}
]
}
Por defecto, se creará un archivo de solicitud.json que simula una base de datos sin SQL que se puede desarrollar para las próximas versiones de este archivo para que sea así:
{
"<reply_id>": [
{
"user_id": srt, // reply id
"prompt": srt, // message content
"response": int, // timestamp in milliseconds
"timestamp": int, // timestamp in milliseconds
}
]
}
¡Siéntase libre de contribuir y hacer que este proyecto de chatbot sea aún mejor! ¡Agradecemos las contribuciones de la comunidad! Si desea contribuir, siga estos pasos:
git checkout -b feature/YourFeatureNamegit commit -am 'Add some feature'git push origin feature/YourFeatureNamePara cualquier pregunta o sugerencia, no dude en comunicarse aquí es mi perfil