Skip to content

DaviSantiago01/Perplexity-Clone-LangGraph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Clone Perplexity - Motor de Busca Inteligente

Sistema de busca com IA + autenticação multi-usuário

🔗 Demo Online

📋 Sobre

Motor de busca que transforma perguntas em pesquisas paralelas, sintetizando informações em respostas completas.

Recursos:

  • 🔄 Busca paralela em múltiplas fontes
  • ⚡ LLMs: GPT-20B (queries/resumos) + GPT-120B (síntese)
  • 👤 Autenticação com email/senha (bcrypt)
  • 💾 Histórico de conversas por usuário (Supabase)
  • 📚 Citações automáticas

🚀 Por que LangGraph?

LangGraph é um dos frameworks que mais cresce para desenvolvimento de agentes de IA:

Adoção empresarial:

  • Usado por LinkedIn, Uber, Replit, Elastic, Klarna em produção
  • ~400 empresas usando LangGraph Platform (2025)
  • LangChain (empresa-mãe) é unicórnio com valuation de $1.25B

Investimentos:

  • $25M Series A em 2024
  • $125M Series B em 2025 (liderado por IVP, Sequoia, Benchmark)

Por que neste projeto:

  • Execução paralela real (múltiplas queries simultâneas)
  • Controle total sobre fluxo de dados
  • Estado compartilhado com reducers (operator.add)

Se fosse apenas fluxo linear, LangChain seria suficiente. O paralelismo justifica o uso de grafos.


⚙️ Instalação (Opcional)

Deploy online: https://perplexity-clone.streamlit.app/

Para rodar localmente:

git clone https://github.com/DaviSantiago01/perplexity-clone.git
cd perplexity-clone
pip install -r requirements.txt

Configure .env (use .env.example):

GROQ_API_KEY=sua_chave
TAVILY_API_KEY=sua_chave
SUPABASE_URL=seu_url
SUPABASE_KEY=sua_key

Execute:

streamlit run src/app.py

📁 Estrutura

perplexity-clone/
├── src/
│   ├── app.py       # Interface Streamlit
│   ├── graph.py     # Grafo LangGraph
│   ├── prompts.py   # Templates de prompts
│   └── database.py  # Autenticação + BD
├── docs/            # Documentação técnica
├── requirements.txt
├── .env
└── README.md

🏗️ Como Funciona

flowchart TB
    A[📝 Pergunta] --> B[🔍 Gera Queries]
    B --> |GPT-20B: 3-5 queries| C[🌐 Busca Paralela]
    
    C --> C1[Tavily 1]
    C --> C2[Tavily 2]
    C --> C3[Tavily 3]
    
    C1 --> D[📄 Resumo]
    C2 --> D
    C3 --> D
    
    D --> |GPT-20B| E[📊 Consolida]
    E --> |GPT-120B| F[🧠 Síntese]
    F --> G[✅ Resposta + Fontes]
Loading

Fluxo: Pergunta → Queries (20B) → Busca Paralela → Resumos (20B) → Síntese (120B) → Resposta


💡 Exemplo

Input: "Como fazer café expresso?"

Processamento:

flowchart LR 
    A["☕ Como fazer café expresso?"] --> B["🔍 GPT-20B gera queries"]
    
    B --> C1["temperatura água café"]
    B --> C2["moagem grãos expresso"]
    B --> C3["tempo extração"]
    
    C1 --> D1["🌐 Tavily busca 1"]
    C2 --> D2["🌐 Tavily busca 2"]
    C3 --> D3["🌐 Tavily busca 3"]
    
    D1 --> E1["📄 Resumo: 90-96°C"]
    D2 --> E2["📄 Resumo: moagem fina"]
    D3 --> E3["📄 Resumo: 25-30 seg"]
    
    E1 --> F["🧠 GPT-120B sintetiza tudo"]
    E2 --> F
    E3 --> F
    
    F --> G["✅ Resposta completa + fontes"]
Loading
  1. Sistema gera 3 queries otimizadas
  2. Busca paralela em cada uma
  3. Resume resultados individuais (GPT-20B)
  4. Sintetiza resposta completa (GPT-120B)

Output:

Para café expresso perfeito:
- Moagem fina e uniforme [1]
- Água a 90-96°C [2]
- Dose: 18-20g de café
- Extração: 25-30 segundos [3]

Resultado: crema dourada e sabor equilibrado.

[1] barista-institute.com/guia-expresso
[2] coffeeresearch.org/temperature
[3] specialtycoffee.com/timing

Créditos

Projeto inspirado no tutorial da Asimov Academy. Vídeo original: Crie um Clone do Perplexity AI com LangGraph. Esta versão foi atualizada para LangGraph v1.0 e LangChain v1.0.

About

Clone do Perplexity AI com LangGraph, Ollama e Tavily - Sistema de busca inteligente com IA

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages