{"id":30158612,"url":"https://github.com/ronierisonmaciel/askrag","last_synced_at":"2025-08-11T14:52:25.253Z","repository":{"id":306816638,"uuid":"1027305750","full_name":"RonierisonMaciel/AskRAG","owner":"RonierisonMaciel","description":"Este projeto permite realizar perguntas em linguagem natural sobre o conteúdo de arquivos PDF. Utiliza a abordagem RAG (Retrieval-Augmented Generation)","archived":false,"fork":false,"pushed_at":"2025-07-27T18:57:12.000Z","size":317,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-27T20:53:34.516Z","etag":null,"topics":["aiagent","faiss-cpu","pdf-document-processor","python","rag-chatbot"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RonierisonMaciel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-27T18:39:48.000Z","updated_at":"2025-07-27T18:57:15.000Z","dependencies_parsed_at":"2025-07-27T20:53:37.397Z","dependency_job_id":"8d464342-ff6e-4143-a453-48e93f5cf1e2","html_url":"https://github.com/RonierisonMaciel/AskRAG","commit_stats":null,"previous_names":["ronierisonmaciel/askrag"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/RonierisonMaciel/AskRAG","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RonierisonMaciel%2FAskRAG","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RonierisonMaciel%2FAskRAG/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RonierisonMaciel%2FAskRAG/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RonierisonMaciel%2FAskRAG/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RonierisonMaciel","download_url":"https://codeload.github.com/RonierisonMaciel/AskRAG/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RonierisonMaciel%2FAskRAG/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269906436,"owners_count":24494330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aiagent","faiss-cpu","pdf-document-processor","python","rag-chatbot"],"created_at":"2025-08-11T14:52:24.223Z","updated_at":"2025-08-11T14:52:25.209Z","avatar_url":"https://github.com/RonierisonMaciel.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PDF Chat com Groq\n\nEste projeto permite realizar perguntas em linguagem natural sobre o conteúdo de arquivos PDF. Utiliza a abordagem **RAG (Retrieval-Augmented Generation)**, que combina técnicas de recuperação de informação com geração de texto para fornecer respostas precisas. A aplicação usa as seguintes tecnologias principais:\n\n* **LangChain** para gerenciamento do fluxo do chat.\n* **FAISS** para armazenamento e busca rápida dos embeddings (representações vetoriais dos textos).\n* **Groq** como provedor do modelo de linguagem LLM para geração de respostas.\n\n---\n\n## Captura de tela da aplicação\n\nAbaixo, um exemplo visual da interface após o upload do PDF e uma pergunta realizada:\n\n![Screenshot da aplicação](img/screen.png)\n\n## Como funciona?\n\nO fluxo básico da aplicação é:\n\n1. Upload do arquivo PDF.\n2. Extração e divisão do texto em pequenos trechos.\n3. Transformação desses textos em embeddings vetoriais usando modelos pré-treinados.\n4. Armazenamento dos embeddings num banco vetorial (FAISS).\n5. Ao fazer uma pergunta, a aplicação recupera automaticamente os trechos mais relevantes do PDF e usa o modelo de linguagem da Groq para gerar respostas contextualizadas.\n\n---\n\n## Requisitos do projeto\n\n* Python **3.9** ou superior.\n* Uma conta gratuita na [Groq Cloud](https://groq.com/).\n* Chave (API Key) da Groq.\n\n---\n\n## Instalação passo a passo\n\n### 1. Clone este repositório\n\n```bash\ngit clone https://github.com/ronierisonmaciel/AskRAG.git\ncd AskRAG\n```\n\n### 2. Crie e ative um ambiente virtual\n\n**macOS ou Linux:**\n\n```bash\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\n**Windows (CMD ou PowerShell):**\n\n```cmd\npython -m venv .venv\n.venv\\Scripts\\activate\n```\n\n### 3. Instale as dependências necessárias\n\n```bash\npip install -r requirements.txt\n```\n\n---\n\n## Configurando a chave da Groq API\n\nSiga estes passos para obter e configurar sua chave:\n\n1. Acesse a página: [https://console.groq.com/keys](https://console.groq.com/keys).\n2. Faça login ou crie uma nova conta gratuita.\n3. Clique em **\"Create API Key\"** para gerar uma nova chave.\n4. Copie a chave gerada, que começa com `gsk_live_...`.\n5. Crie um arquivo `.env` na raiz do projeto e adicione sua chave assim:\n\n```env\nGROQ_API_KEY=gsk_live_sua_chave_aqui\n```\n\n**Importante:** Não compartilhe sua chave pública ou suba esse arquivo `.env` em repositórios públicos.\n\n---\n\n## Executando o aplicativo localmente\n\nExecute o seguinte comando para iniciar a aplicação Streamlit:\n\n```bash\nstreamlit run app.py\n```\n\nO aplicativo será aberto automaticamente em seu navegador padrão. Caso contrário, acesse a URL informada no terminal, geralmente:\n[http://localhost:8501](http://localhost:8501).\n\n---\n\n## Estrutura dos arquivos do projeto\n\n```bash\nAskRAG/\n│\n├── app.py                 # Código principal da aplicação\n├── uploaded/              # Pasta temporária para PDFs carregados\n├── requirements.txt       # Dependências Python\n├── .env                   # Arquivo contendo sua chave Groq API (você deve criar)\n├── README.md              # Instruções detalhadas do projeto\n└── LICENSE                # Licença do projeto\n```\n\n**Observação:**\nA pasta `uploaded/` é utilizada temporariamente apenas para processar arquivos. Após o processamento, os PDFs são automaticamente removidos.\n\n---\n\n## Tecnologias utilizadas\n\n* [LangChain](https://www.langchain.com/)\n* [Groq API](https://groq.com/)\n* [HuggingFace Embeddings (intfloat/e5-small-v2)](https://huggingface.co/intfloat/e5-small-v2)\n* [FAISS](https://github.com/facebookresearch/faiss)\n* [Streamlit](https://streamlit.io/)\n\n---\n\n## Exemplo prático de uso\n\nSiga os passos abaixo para testar o aplicativo:\n\n1. Após rodar o aplicativo, utilize a barra lateral para enviar um ou mais arquivos PDF.\n2. Aguarde o processamento terminar.\n3. Agora você pode fazer perguntas diretamente sobre o conteúdo carregado. Por exemplo:\n\n   * Qual o objetivo principal deste documento?\n   * Quais tópicos são abordados no texto?\n\n---\n\n## Licença\n\nEste projeto está sob a licença **MIT**.\nUtilize à vontade, desde que mantenha os créditos originais.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fronierisonmaciel%2Faskrag","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fronierisonmaciel%2Faskrag","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fronierisonmaciel%2Faskrag/lists"}