Spaces:
Running
Running
| [ | |
| { | |
| "query": "O que e RAG?", | |
| "ground_truth": "RAG (Retrieval-Augmented Generation) e uma tecnica que combina busca de informacoes relevantes (retrieval) com geracao de texto por um LLM. O sistema primeiro busca documentos relevantes e depois usa esses documentos como contexto para gerar uma resposta mais precisa e fundamentada.", | |
| "contexts": [ | |
| "RAG combina retrieval com generation usando LLMs", | |
| "O sistema busca documentos relevantes e usa como contexto" | |
| ], | |
| "difficulty": "easy", | |
| "topic": "basics" | |
| }, | |
| { | |
| "query": "Como funciona hybrid search?", | |
| "ground_truth": "Hybrid search combina busca vetorial semantica com busca por palavras-chave (BM25). A busca vetorial encontra documentos semanticamente similares, enquanto BM25 encontra correspondencias exatas de termos. Os resultados sao combinados usando um parametro alpha que controla o peso de cada metodo.", | |
| "contexts": [ | |
| "Hybrid search usa BM25 e busca vetorial", | |
| "Alpha controla o peso entre os dois metodos", | |
| "BM25 encontra termos exatos, vetorial encontra semantica" | |
| ], | |
| "difficulty": "medium", | |
| "topic": "search" | |
| }, | |
| { | |
| "query": "Qual a diferenca entre chunking fixo e semantico?", | |
| "ground_truth": "Chunking fixo divide o texto em pedacos de tamanho fixo (ex: 500 caracteres), podendo quebrar no meio de sentencas. Chunking semantico respeita limites naturais do texto como paragrafos, preservando coerencia semantica, mas pode gerar chunks de tamanhos variaveis.", | |
| "contexts": [ | |
| "Chunking fixo usa tamanho fixo de caracteres", | |
| "Chunking semantico respeita paragrafos e sentencas", | |
| "Semantico preserva coerencia mas tem tamanhos variaveis" | |
| ], | |
| "difficulty": "medium", | |
| "topic": "chunking" | |
| }, | |
| { | |
| "query": "Para que serve reranking?", | |
| "ground_truth": "Reranking melhora a ordem dos resultados apos a busca inicial. Usa um cross-encoder que avalia a relevancia de cada par (query, documento) de forma mais precisa que a busca vetorial inicial. Tipicamente recupera-se mais documentos (ex: 20) e reordena-se para selecionar os melhores (ex: top 5).", | |
| "contexts": [ | |
| "Reranking melhora a ordem dos resultados de busca", | |
| "Cross-encoder avalia pares query-documento", | |
| "Recupera mais docs inicialmente e seleciona os melhores" | |
| ], | |
| "difficulty": "medium", | |
| "topic": "reranking" | |
| }, | |
| { | |
| "query": "Quais sao os LLM providers suportados?", | |
| "ground_truth": "O sistema suporta 4 providers de LLM: HuggingFace Inference API (modelos como Mistral), OpenAI (GPT-3.5, GPT-4), Anthropic (Claude 3 Haiku/Sonnet/Opus) e Ollama (modelos locais). A selecao e feita via variavel LLM_PROVIDER no arquivo .env.", | |
| "contexts": [ | |
| "Suporta HuggingFace, OpenAI, Anthropic e Ollama", | |
| "Configuracao via LLM_PROVIDER no .env", | |
| "Cada provider tem suas proprias API keys" | |
| ], | |
| "difficulty": "easy", | |
| "topic": "llm" | |
| }, | |
| { | |
| "query": "Como configurar o Supabase?", | |
| "ground_truth": "Para configurar Supabase: 1) Crie conta e projeto, 2) Habilite extensao pgvector em Database > Extensions, 3) Copie connection string em Settings > Database, 4) Configure DATABASE_URL no .env com formato postgresql://postgres:PASSWORD@db.PROJECT_REF.supabase.co:5432/postgres", | |
| "contexts": [ | |
| "Crie projeto no Supabase e habilite pgvector", | |
| "Connection string em Settings > Database", | |
| "Configure DATABASE_URL no .env" | |
| ], | |
| "difficulty": "medium", | |
| "topic": "database" | |
| }, | |
| { | |
| "query": "Qual a diferenca entre temperature 0.1 e 0.9?", | |
| "ground_truth": "Temperature controla a criatividade do LLM. Temperature baixa (0.1-0.3) gera respostas mais deterministicas e focadas, ideal para RAG onde queremos respostas precisas baseadas no contexto. Temperature alta (0.7-1.0) gera respostas mais criativas e variadas, mas pode desviar do contexto.", | |
| "contexts": [ | |
| "Temperature controla criatividade do LLM", | |
| "Baixa (0.1-0.3) = mais focado e deterministico", | |
| "Alta (0.7-1.0) = mais criativo mas pode desviar" | |
| ], | |
| "difficulty": "medium", | |
| "topic": "llm" | |
| }, | |
| { | |
| "query": "O que e query expansion?", | |
| "ground_truth": "Query expansion gera multiplas variantes da pergunta original para aumentar recall. Existem 3 metodos: LLM (gera variantes contextuais), Template (templates predefinidos) e Paraphrase (sinonimos). Busca com todas variantes e combina resultados.", | |
| "contexts": [ | |
| "Query expansion gera variantes da pergunta", | |
| "3 metodos: LLM, Template, Paraphrase", | |
| "Aumenta recall combinando resultados" | |
| ], | |
| "difficulty": "hard", | |
| "topic": "search" | |
| }, | |
| { | |
| "query": "Como funciona o cache de embeddings?", | |
| "ground_truth": "O cache armazena embeddings ja calculados para evitar reprocessamento. Usa SHA-256 do texto + model_id como chave. Tem cache em memoria (LRU) e em disco (persistente). Acelera significativamente quando processa documentos repetidos ou queries similares.", | |
| "contexts": [ | |
| "Cache armazena embeddings ja calculados", | |
| "Chave: hash SHA-256 de texto + model_id", | |
| "Cache em memoria (LRU) e disco (persistente)" | |
| ], | |
| "difficulty": "hard", | |
| "topic": "performance" | |
| }, | |
| { | |
| "query": "Quantos documentos o sistema suporta?", | |
| "ground_truth": "O sistema foi testado e suporta mais de 100.000 documentos. Performance de busca vetorial fica abaixo de 100ms mesmo com essa quantidade. Para escalabilidade maior, pode-se usar indices HNSW ou particionar por session_id.", | |
| "contexts": [ | |
| "Testado com 100k+ documentos", | |
| "Busca em <100ms mesmo com muitos docs", | |
| "Indices HNSW para ainda mais escala" | |
| ], | |
| "difficulty": "easy", | |
| "topic": "performance" | |
| } | |
| ] | |