Skip to content

Este projeto tem como objetivo desenvolver um chatbot para ajudar alunos a navegarem pelos serviços oferecidos pela universidade. O chatbot utiliza as tecnologias LlamaIndex, Llama3 e RAG (Retrieval-Augmented Generation) para fornecer respostas precisas e contextualizadas, integrando informações institucionais de maneira eficiente.

License

Notifications You must be signed in to change notification settings

USP-Open-Code/icmc-open-chatbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bot de Notícias

Python Docker MongoDB LangChain FastAPI LangGraph ChromaDB Llama OpenAI C++

Sobre o Projeto

É aplicação conversacional baseada em um grafo que utiliza a técnica de Retrieval-Augmented Generation (RAG), com um nó adicional de correção. Antes de gerar uma resposta com base em um documento semanticamente semelhante, o sistema avalia seu contexto, garantindo maior precisão e coerência.

O sistema adota uma arquitetura em camadas (Layered Architecture), utilizando FastAPI como framework principal para a API REST. O armazenamento é dividido entre ChromaDB, responsável pela gestão dos arquivos usados no RAG, e MongoDB, que armazena os logs da aplicação.

O processamento de linguagem natural é realizado por meio do LangChain e LangGraph, que orquestram os agentes e implementam a lógica baseada em grafos. Toda a infraestrutura é containerizada com Docker e Docker Compose, garantindo facilidade de implantação e escalabilidade.

A API e os containers já estão configurados. Para iniciar a aplicação, basta executar:

# BUILDAR E EXECUTAR O PROJETO
docker-compose -f docker/docker-compose.yml --env-file .env up --build

PS: Não se esqueça de alterar os Prompts.

O grafo

```mermaid
graph TD
	__start__([

__start__

]):::first find_references(find_references) agent(agent) tools(tools) crag(crag) generate(generate) __end__([

__end__

]):::last crag -->generate; find_references --> generate; generate --> __end__; tools --> crag; __start__ -.  general  .-> agent; __start__ -.  specific  .-> find_references; agent -. continue  .-> tools; agent -.  end  .-> __end__ ```

Autor

@CuriousGu 🇧🇷

Docs

  1. Estrutura
  2. Instalação
  3. Configurações
  4. API
  5. Contribuição

Licença

Este projeto está sob a licença MIT, sinta-se a vontade para usar.

Veja o arquivo LICENSE para mais detalhes.

Contatos

About

Este projeto tem como objetivo desenvolver um chatbot para ajudar alunos a navegarem pelos serviços oferecidos pela universidade. O chatbot utiliza as tecnologias LlamaIndex, Llama3 e RAG (Retrieval-Augmented Generation) para fornecer respostas precisas e contextualizadas, integrando informações institucionais de maneira eficiente.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published