⏱ 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")

🔗 Documentación de Voyage AI

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

0 Comentarios

para escribir tu comentario

Artículos relacionados