# Agentic RAG com LangGraph: Pesquisa de Blogs AI

> A Pesquisa de Blogs AI é uma aplicação Agentic RAG projetada para melhorar a recuperação de informações de posts de blogs relacionados com IA, utilizando LangChain, LangGraph e o modelo Gemini da Google.

- Fonte: https://doutorai.pt/apps/ai-blog-search
- Categoria: RAG e Conhecimento
- Dificuldade: Médio
- Modelos: Gemini
- Frameworks: LangChain
- Corre local?: Precisa de APIs cloud
- Chaves necessárias: Nenhuma
- Licença: Apache-2.0
- Site: Doutor AI (https://doutorai.pt) - ferramentas de IA para pequenos negócios em português

## Tutorial completo

# Agentic RAG com LangGraph: Pesquisa de Blogs de IA

## Visão Geral
A Pesquisa de Blogs de IA é uma aplicação Agentic RAG projetada para melhorar a recuperação de informações de publicações de blogs relacionadas com IA. Este sistema utiliza LangChain, LangGraph e o modelo Gemini da Google para buscar, processar e analisar o conteúdo dos blogs, fornecendo aos utilizadores respostas precisas e contextualmente relevantes.

## Fluxo de Trabalho do LangGraph
![LangGraph-Workflow](/assets/apps-img/4f1256f6a4fcc856)

## Demonstração
https://github.com/user-attachments/assets/cee07380-d3dc-45f4-ad26-7d944ba9c32b

## Funcionalidades
- **Recuperação de Documentos:** Utiliza o Qdrant como uma base de dados vetorial para armazenar e recuperar conteúdo de blogs com base em embeddings.
- **Processamento de Consultas Agentic:** Utiliza um agente baseado em IA para determinar se uma consulta deve ser reescrita, respondida ou requer mais recuperação.
- **Avaliação de Relevância:** Implementa um sistema automatizado de classificação de relevância utilizando o modelo Gemini da Google.
- **Refinamento de Consultas:** Melhora consultas mal estruturadas para melhores resultados de recuperação.
- **Interface Streamlit:** Fornece uma interface amigável para introduzir URLs de blogs, consultas e recuperar respostas perspicazes.
- **Fluxo de Trabalho Baseado em Gráficos:** Implementa um gráfico de estado estruturado utilizando LangGraph para uma tomada de decisão eficiente.

## Tecnologias Utilizadas
- **Linguagem de Programação**: [Python 3.10+](https://www.python.org/downloads/release/python-31011/)
- **Framework**: [LangChain](https://www.langchain.com/) e [LangGraph](https://langchain-ai.github.io/langgraph/tutorials/introduction/)
- **Base de Dados**: [Qdrant](https://qdrant.tech/)
- **Modelos**:
  - Embeddings: [Google Gemini API (embedding-001)](https://ai.google.dev/gemini-api/docs/embeddings)
  - Chat: [Google Gemini API (gemini-2.0-flash)](https://ai.google.dev/gemini-api/docs/models/gemini#gemini-2.0-flash)
- **Carregador de Blogs**: [Langchain WebBaseLoader](https://python.langchain.com/docs/integrations/document_loaders/web_base/)
- **Divisor de Documentos**: [RecursiveCharacterTextSplitter](https://python.langchain.com/v0.1/docs/modules/data_connection/document_transformers/recursive_text_splitter/)
- **Interface do Utilizador (UI)**: [Streamlit](https://docs.streamlit.io/)

## Requisitos
1. **Instalar Dependências**:

```bash
   pip install -r requirements.txt
   ```

```markdown
2. **Executa a Aplicação**:
```

```bash
   streamlit run app.py
   ```

```markdown
3. **Usa a Aplicação**:
   - Cola a tua Google API Key na barra lateral.
   - Cola o link do blog.
   - Introduz a tua pergunta sobre o post do blog.

## :mailbox: Conecta-te Comigo
<img align="right" src="https://media.giphy.com/media/2HtWpp60NQ9CU/giphy.gif" alt="gif de aperto de mão" width="150">

<p align="left">
  <a href="https://linkedin.com/in/codewithcharan" target="blank"><img align="center" src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/linked-in-alt.svg" alt="codewithcharan" height="30" width="40" style="margin-right: 10px" /></a>
  <a href="https://instagram.com/joyboy._.ig" target="blank"><img align="center" src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/instagram.svg" alt="__mr.__.unique" height="30" width="40" /></a>
  <a href="https://twitter.com/Joyboy_x_" target="blank"><img align="center" src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/twitter.svg" alt="codewithcharan" height="30" width="40" style="margin-right: 10px" /></a>
</p>

<img src="https://readme-typing-svg.herokuapp.com/?font=Righteous&size=35&center=true&vCenter=true&width=500&height=70&duration=4000&lines=Thanks+for+visiting!+👋;+Message+me+on+Linkedin!;+I'm+always+down+to+collab+:)"/>
```

## Poupe horas todas as semanas com IA, sem complicações

O **Doutor AI** dá-lhe 1859 prompts de IA prontos a copiar, por indústria e em português simples - mais uma biblioteca técnica completa para quem quer ir mais longe. [Ver planos →](https://doutorai.pt/precos)

---
Conteúdo de Doutor AI (https://doutorai.pt). Ao citar, indique a fonte: https://doutorai.pt/apps/ai-blog-search
