Skill de LLM / RAG
Padrões de aplicativos de recuperação e agentes - uma Skill de Agente para serviços RAG/LLM em Python 3.14.
O Que Esta Skill Faz
Produz um checklist de aplicação RAG: carregadores de documentos, estratégia de divisão, pipeline de incorporação, adaptador de armazenamento vetorial, API de recuperação, orquestração de LLM (stubs LangChain/LlamaIndex/LangGraph), harness de avaliação e observabilidade (latência, uso de tokens, taxa de acerto de recuperação).
Quando Invocar
- Novo chat de base de conhecimento interna sobre documentos Confluence/S3
- Revisão de PR sobre tamanho do chunk, filtros de metadados ou citações ausentes
- Adicionar loop de agente de uso de ferramenta com portão de aprovação humana
- Endurecimento pós-incidente após injeção de prompt ou vazamento de dados
Entradas
| Entrada | Por quê |
|---|---|
| Fonte do Corpus | PDF, HTML, tickets, repositórios de código |
| Orçamento de latência | Meta p95 para chat voltado ao usuário |
| Provedor de modelo | OpenAI, Anthropic, vLLM local |
| Banco de dados vetorial | pgvector, Pinecone, Chroma |
| Conformidade | Redação de PII, retenção, log de auditoria |
Saídas
- Módulos
ingest/eretrieval/com configuração tipada - Parâmetros de chunking documentados (tamanho, sobreposição, divisor)
- JSON de Avaliação com pergunta, expected_doc_id, min_score
- Modelos de prompt com formato de citação obrigatório
- Registro de ferramentas com escopos de autenticação para skills de agente
- Verificação:
uv run pytest tests/test_retrieval.py
Salvaguardas
- Fundamentar respostas em chunks recuperados - mostrar citações ou recusar.
- Sanitizar uploads - sem execução de código arbitrário de macros de PDF analisadas.
- Separar prompts do sistema e do usuário - resistir à injeção através do conteúdo do documento.
- Limitar taxa e registrar prompts - redigir segredos e PII em traces.
- Incorporações de versão - reindexar quando o modelo mudar.
- Aprovação humana para ferramentas destrutivas - excluir, cobrar, enviar e-mail externo.
Receita
uv run python -m rag.ingest --source data/docs/
uv run python -m rag.index --rebuild
uv run pytest tests/test_golden.py -q
uv run python -m rag.chat --question "Qual é a política de reembolso?"Exemplo de Trabalho (stub de recuperação)
from dataclasses import dataclass
@dataclass
class Chunk:
doc_id: str
text: str
score: float
def retrieve(query: str, store, k: int = 5) -> list[Chunk]:
hits = store.similarity_search_with_score(query, k=k)
return [Chunk(doc_id=h[0].metadata["doc_id"], text=h[0].page_content, score=h[1]) for h in hits]FAQs
LangChain ou LlamaIndex?
Siga o ADR da equipe - as saídas da skill produzem stubs de interface que ambos podem implementar; a documentação humana em ai-agents-rag é a autoridade.
Quando adicionar agentes vs RAG de tiro único?
Agentes quando ferramentas multi-etapas são necessárias - comece apenas com RAG até que a qualidade da recuperação se estabilize.
Relacionados
- Noções Básicas de RAG - cookbook
- Chunking e Ingestão - profundidade
- Avaliação e Salvaguardas - segurança
- Bancos de Dados Vetoriais - armazenamento
Versões da Stack: Esta página foi escrita para Python 3.14.0 (estável 3.14, manutenção 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+, e uv 0.6+.