pinecone-rag
Ajuda seu agente a criar sistemas de busca e memória para IA usando um banco de dados especial. Ele permite que a IA lembre informações e encontre dados relevantes.
O que ela faz
Esta ferramenta ajuda a criar sistemas que permitem que inteligências artificiais (agentes) lembrem de informações importantes ou pesquisem em grandes quantidades de documentos. Ela usa o Pinecone, um banco de dados especial para buscas rápidas de informações parecidas.
Quando usar
- ✓Quando você quer que um agente de IA se lembre de conversas passadas.
- ✓Quando você tem muitos documentos (como PDFs ou páginas da web) e quer que a IA encontre as partes mais relevantes.
- ✓Quando você quer que a IA responda perguntas usando informações específicas de um conjunto de documentos.
Exemplo do que pedir para a IA
“Quero que a IA responda perguntas sobre meus documentos de trabalho, lembrando do que já conversamos.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Primeiro, você configura um 'banco de dados' no Pinecone. Depois, transforma seus documentos ou informações em um formato que a IA entende e os envia para o Pinecone. Por fim, a IA pode buscar e usar essas informações para responder perguntas ou lembrar de coisas.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add github/awesome-copilot --skill pinecone-ragOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/pinecone-rag/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Skill RAG do Pinecone
Esta skill te guiará na construção de um pipeline RAG de produção ou um sistema de memória persistente para agentes usando Pinecone. Siga o fluxo de trabalho do início ao fim — não pule etapas nem vá direto para o código antes de entender o que o usuário realmente precisa.
Antes de começar — faça uma pergunta
Antes de escrever qualquer código, identifique qual destes dois casos de uso se aplica:
A — RAG sobre documentos: O usuário quer indexar um corpus (PDFs, documentos, código, páginas da web) e recuperar trechos relevantes para fundamentar as respostas do LLM.
B — Memória de agente: O usuário quer que um agente se lembre de fatos, decisões ou contexto entre sessões ou entre múltiplos agentes que compartilham uma base de conhecimento.
A configuração é semelhante, mas a estratégia de namespace e os padrões de recuperação diferem. Se o usuário não disse, pergunte: "Isso é para recuperação de documentos, memória de agente, ou ambos?" Em seguida, siga o fluxo de trabalho relevante abaixo.
Etapa 1 — Escolha a configuração do seu índice
Escolha o tipo de índice antes de escrever qualquer código. Errar aqui significa recriar o índice mais tarde.
Serverless (recomendado para a maioria dos casos)
from pinecone import Pinecone, ServerlessSpec
pc = Pinecone(api_key="PINECONE_API_KEY")
if "my-index" not in pc.list_indexes().names():
pc.create_index(
name="my-index",
dimension=1536, # must match your embedding model exactly
metric="cosine",
spec=ServerlessSpec(cloud="aws", region="us-east-1")
)
index = pc.Index("my-index")
Baseado em Pods (para produção de alto rendimento consistente)
from pinecone import PodSpec
pc.create_index(
name="my-index-prod",
dimension=1536,
metric="cosine",
spec=PodSpec(environment="us-east1-gcp", pod_type="p1.x1")
)
Referência rápida de dimensão — combine isso exatamente com seu modelo de embedding:
| Modelo | Dimensão |
|---|---|
text-embedding-3-small |
1536 |
text-embedding-3-large |
3072 |
voyage-3 / voyage-multimodal-3 |
1024 |
BAAI/bge-large-en-v1.5 |
1024 |
intfloat/multilingual-e5-large (Árabe, Malaio, Chinês) |
1024 |
Checkpoint: Índice existe, dimensão corresponde ao modelo de embedding,
index.describe_index_stats()retorna sem erro.
Etapa 2 — Crie embeddings e insira documentos
Sempre agrupe as inserções — nunca insira um vetor por vez.
from openai import OpenAI
client = OpenAI()
def embed(texts: list[str]) -> list[list[float]]:
res = client.embeddings.create(model="text-embedding-3-small", input=texts)
return [r.embedding for r in res.data]
def upsert_docs(index, docs: list[dict], namespace: str = "default"):
"""docs = [{"id": "...", "text": "...", "metadata": {...}}]"""
BATCH = 100
for i in range(0, len(docs), BATCH):
batch = docs[i:i + BATCH]
vecs = [
{
"id": d["id"],
"values": emb,
"metadata": {**d.get("metadata", {}), "text": d["text"]}
}
for d, emb in zip(batch, embed([d["text"] for d in batch]))
]
index.upsert(vectors=vecs, namespace=namespace)
Sempre armazene o texto original nos metadados — isso evita uma segunda consulta no momento da recuperação.
Checkpoint:
index.describe_index_stats()mostra a contagem de vetores > 0 no namespace de destino.
Etapa 3 — Escolha a estratégia de recuperação
Busca densa (semântica) — use para a maioria dos casos
def search(index, query: str, top_k: int = 5, namespace: str = "default",
filter: dict = None) -> list[dict]:
[q_emb] = embed([query])
results = index.query(
vector=q_emb, top_k=top_k, namespace=namespace,
include_metadata=True, filter=filter
)
return [{"text": m.metadata["text"], "score": m.score, "id": m.id}
for m in results.matches]
Busca híbrida (semântica + palavra-chave BM25) — use quando o corpus tiver terminologia exata
Use híbrida quando o domínio tiver termos precisos que a busca semântica perde: citações legais, códigos médicos, SKUs de produtos, nomes de métodos de API.
from pinecone_text.sparse import BM25Encoder
bm25 = BM25Encoder().default()
bm25.fit([d["text"] for d in docs]) # ajuste uma vez no seu corpus
def hybrid_search(index, query: str, top_k: int = 5, alpha: float = 0.7):
"""alpha=1.0 é puramente denso; alpha=0.0 é puramente esparso."""
dense = [v * alpha for v in embed([query])[0]]
sparse_raw = bm25.encode_queries(query)
sparse = {
"indices": sparse_raw["indices"],
"values": [v * (1 - alpha) for v in sparse_raw["values"]]
}
…
Perguntas frequentes
O que é um 'banco de dados vetorial' como o Pinecone?
É um tipo especial de banco de dados otimizado para encontrar informações com base no significado, não apenas em palavras-chave exatas. Ele transforma textos em números (vetores) e encontra os mais parecidos.
O que significa 'RAG'?
RAG significa 'Retrieval-Augmented Generation'. Basicamente, é uma forma de fazer a IA buscar informações relevantes antes de gerar uma resposta, tornando-a mais precisa e informada.
Preciso saber programar para usar isso?
A ferramenta é feita para ajudar a construir esses sistemas, mas o uso direto pode exigir algum conhecimento técnico. O objetivo é simplificar o processo para quem não é programador.
Detalhes
Descrição original do autor
Build production RAG pipelines and persistent agent memory using Pinecone as the vector database backend. ALWAYS USE THIS SKILL when the user mentions Pinecone, wants to index documents for semantic search, build a retrieval-augmented generation system, store agent memory across sessions, implement hybrid search, or connect an LLM to a searchable knowledge base — even if they don't say "Pinecone"
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5267
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC