⏱ Tiempo estimado: 25 minutos
🎯 Rama / Perfil: Analistas de datos / ingenieros de IA que quieren que Claude responda con base en información propia, no solo en su conocimiento general
🧠 Conocimiento previo necesario: JSON mode y prompt engineering para extracción de datos (clases 8 y 9 del curso). Python básico.
💡 ¿Qué vas a lograr? Un pipeline de Retrieval-Augmented Generation (RAG): indexar documentos propios y lograr que Claude responda preguntas usando solo ese contenido.
🛠 Lo que necesitas antes de empezar
- API key de Anthropic → 🔗 console.anthropic.com
- API key de Voyage AI (el proveedor de embeddings recomendado oficialmente por Anthropic, ya que la Claude API no genera embeddings) → 🔗 voyageai.com
- Python 3.10+ con las siguientes librerías:
bash
pip install anthropic chromadb voyageai
- 3 a 5 documentos de texto propios (notas, políticas internas, documentación de producto, etc.)
📋 Pasos
Paso 1 — Prepara tus documentos
Reúne entre 3 y 5 archivos de texto (.txt o extraídos de PDF) que quieras que Claude "conozca". Pueden ser tus propias notas, la documentación de un proyecto, o políticas de tu empresa.
Paso 2 — Trocea (chunking) cada documento
Divide cada documento en fragmentos de ~300-500 palabras. Esto es necesario porque el retrieval funciona mejor sobre fragmentos pequeños y específicos, no sobre documentos completos.
Paso 3 — Genera embeddings con Voyage AI
Por cada fragmento, obtén su vector de embedding usando el modelo recomendado por Anthropic:
python
import voyageai
vo = voyageai.Client() # usa VOYAGE_API_KEY del entorno
result = vo.embed(chunks, model="voyage-3.5", input_type="document")
Paso 4 — Guarda los fragmentos en ChromaDB
Crea una colección local de ChromaDB y guarda cada fragmento junto a su embedding y metadata (por ejemplo, el nombre del archivo de origen). 🔗 Documentación de ChromaDB
Paso 5 — Recupera los fragmentos relevantes ante una pregunta
Cuando el usuario haga una pregunta, genera el embedding de esa pregunta (con input_type="query") y consulta ChromaDB para traer los 3-5 fragmentos más similares.
Paso 6 — Construye el prompt "grounded" para Claude
Arma un mensaje que incluya los fragmentos recuperados como contexto e instruye explícitamente a Claude a responder solo con base en ese contexto (misma lógica de prompt engineering estricto de la clase 9, pero aplicada a retrieval en vez de a extracción).
Paso 7 — Envía la pregunta + contexto a la Claude API
Haz la llamada normal a client.messages.create(...) incluyendo el contexto recuperado, y muestra la respuesta.
✅ Resultado esperado
Un script en Python que responde preguntas usando exclusivamente el contenido de tus propios documentos indexados — no el conocimiento general del modelo. Puedes probarlo con una pregunta que solo tenga respuesta en tus documentos y verificar que Claude la responde correctamente.
🔥 Tu reto (siguiente acción)
Modifica el prompt para que Claude cite el nombre del archivo de origen de cada fragmento que use en su respuesta, y muestra esa fuente al usuario junto con la respuesta final.
📚 Recursos para ir más lejos
- Guía de embeddings de Anthropic — Por qué Anthropic recomienda Voyage AI y cómo integrarlo.
- Voyage AI — Modelos de embeddings y pricing.
- ChromaDB — Base de datos vectorial ligera para correr localmente.
Curso de Claude API
COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE