NCERT Books Rag System
Este projeto implementa um sistema de geração de recuperação de recuperação (RAG) para livros NCERT usando o Ollama para incorporação de texto e banco de dados de vetores e API GROQ para a resposta do modelo de idioma.
Características
- Usa o modelo de incorporação de texto nomic via Ollama para criar incorporações de vetor
- Armazenamento em Chromadb
- Utiliza a API Groq com o modelo LLAMA 3 8B para gerar respostas
- Fornece um back -end de FASTAPI e o frontend simplit para interação do usuário
Interface simplit
Abaixo está uma captura de tela da interface Streamlit para o nosso sistema de trapos de livros NCERT:

Arquitetura do sistema
Aqui está uma visão geral da arquitetura do sistema de trapos do NCERT Books:

A arquitetura do sistema consiste nos seguintes componentes:
- Ingestão de dados : os livros do NCERT são processados e preparados para incorporação.
- Incorporação de geração : ollama com o modelo de incorporação de texto nomic cria incorporações vetoriais para o texto processado.
- Armazenamento vetorial : O Chromadb armazena as incorporações geradas para recuperação eficiente.
- Processamento de consultas : as consultas do usuário são processadas e as incorporações relevantes são recuperadas do Chromadb.
- Modelo de idioma : API GROQ com o modelo LLAMA 3 8B gera respostas com base no contexto recuperado e na consulta do usuário.
- Back -end : O FASTAPI lida com a comunicação entre o front -end e os vários componentes do sistema.
- Frontend : o streamlit fornece uma interface de usuário interativa para consultar o sistema e exibir resultados.
Pré -requisitos
Antes de começar, verifique se você atendeu aos seguintes requisitos:
- Python 3.7+
- Ollama instalou e configurou
- Conta da API Groq e chave da API
Instalação
Clone o repositório:
git clone https://github.com/yourusername/ncert-rag-system.git
cd ncert-rag-system
Instale as dependências necessárias:
pip install -r requirements.txt
Faça o download e configure o ollama:
- Siga as instruções no site oficial de Ollama para instalar o Ollama
- Baixe o modelo de incorporação de texto nomic:
ollama pull nomic-embed-text
Configure sua tecla API Groq:
- Crie um arquivo
.env na raiz do projeto - Adicione sua tecla API Groq:
GROQ_API_KEY=your_api_key_here
Uso
Inicie o back -end do FASTAPI:
uvicorn main:app --reload
Inicie a interface do usuário do streamlit:
streamlit run streamlit_app.py
Abra seu navegador da web e navegue até o URL do aplicativo StreamLit (normalmente http://localhost:8501 )
Use a interface para interagir com o NCERT Books Rag System
Avaliação de pano

Licença
Este projeto está licenciado sob a licença do MIT - consulte o arquivo de licença para obter detalhes.
Contribuindo
As contribuições são bem -vindas! Sinta -se à vontade para enviar uma solicitação de tração.
Agradecimentos
- Ollama por fornecer o modelo de incorporação
- Groq para sua API LLM
- FASTAPI e RECLHIT para as estruturas de back -end e front -end