Código para um bot de telegrama? Specialied em Pytorch LLM alimentado
Este projeto tem como objetivo simular um texto Mesagge Chatbot para conversar sobre Pytorch
Nesta arquitetura simplificada, a história do chatbot serve como o repositório central do histórico de interação, apoiando a recuperação do contexto histórico e o registro de novas interações, incluindo respostas completas do LLM. A interface do usuário do chatbot, retriever, banco de dados vetorial, armazenamento rápido e llm todos desempenham funções em um loop de conversa fluida, fornecendo ao usuário uma experiência de bate -papo perfeita.
+--------+--------+ (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 começar, verifique se você tem os seguintes pré -requisitos:
.env que não é ignorado no repositório Siga estas etapas para configurar e executar o projeto:
Clone o repositório:
git clone [email protected]:DLesmes/torchbot.git
cd torchbot
Configure o ambiente virtual do Python com os requisitos.txt:
python3 -m venv venv
source venv/bin/activate
python3 -m pip install -r requirements.txt
Execute o servidor:
python3 main.py
Você também pode depurar no seu IDE preferido.
Por padrão, um arquivo history.json será criado simulando um banco de dados NO-SQL que pode ser desenvolvido para as próximas versões que este arquivo é assim como é assim:
{
"<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 padrão, o arquivo A requests.json será criado simulando um banco de dados NO-SQL que pode ser desenvolvido para as próximas versões que este arquivo é assim como é assim:
{
"<reply_id>": [
{
"user_id": srt, // reply id
"prompt": srt, // message content
"response": int, // timestamp in milliseconds
"timestamp": int, // timestamp in milliseconds
}
]
}
Sinta -se à vontade para contribuir e tornar este projeto de chatbot ainda melhor! Congratulamo -nos com contribuições da comunidade! Se você quiser contribuir, siga estas etapas:
git checkout -b feature/YourFeatureNamegit commit -am 'Add some feature'git push origin feature/YourFeatureNamePara qualquer dúvida ou sugestão, sinta -se à vontade para alcançar aqui o meu perfil