# 7.0 Bóveda de casos

## 6.0. La Bóveda de Ejemplos Prácticos (Copy-Paste)

Esta sección es el "cofre de herramientas". Aquí encontrarás los scripts, prompts y estructuras de datos listos para copiar y pegar en tu proyecto.

{% hint style="success" %}
**OBJETIVO** Ahorrarte 10 horas de "prueba y error". Estos bloques de código ya fueron validados para funcionar con **Llama 3.2 8B**.
{% endhint %}

***

### 1. Prompts de Producción (Casos Reales)

No empieces de cero. Usa estas plantillas para tareas administrativas comunes en México.

#### Caso A: El Clasificador Fiscal (SAT)

Este prompt toma un correo desordenado y lo convierte en una estructura lista para tu contador.

\`\`\`text ### ROL Eres un Asistente Contable Experto en la legislación del SAT (México).

#### TAREA

Analiza el texto del correo electrónico y extrae los datos para la pre-poliza.

#### REGLAS DE EXTRACCIÓN

1. **Proveedor:** Nombre comercial.
2. **RFC:** Si aparece, extráelo. Si no, pon "NULL".
3. **Monto Total:** Solo números.
4. **Categoría:** Clasifica en \[Viáticos, Software, Papelería, Mantenimiento].
5. **Deducible:** Responde TRUE o FALSE basado en si es un gasto estrictamente indispensable.

#### FORMATO DE SALIDA

Solo entrega un objeto JSON válido. Sin texto antes ni después.

#### INPUT

\[PEGAR TEXTO DEL CORREO AQUÍ]

{% endtab %}

{% tab title="📤 El Resultado (JSON)" %}

JSON

```
{
  "proveedor": "Uber Eats",
  "rfc": "NULL",
  "monto_total": 345.50,
  "categoria": "Viáticos",
  "deducible": false,
  "razon": "Consumo de alimentos sin contexto de viaje de negocios."
}
```

{% endtab %} {% endtabs %}

***

#### Caso B: El Extractor de Contratos

Para abogados o inmobiliarias. Busca cláusulas peligrosas.

Plaintext

```
### SYSTEM PROMPT
Eres un Abogado Corporativo Senior. Tu trabajo es proteger a la empresa.

### TAREA
Revisa la cláusula de "Rescisión" del siguiente texto.

### ALERTA ROJA (Busca esto)
Si la cláusula permite la rescisión sin previo aviso o penalización, márcalo como "ALTO RIESGO".

### FORMATO
- **Riesgo:** (Alto/Medio/Bajo)
- **Resumen:** (Explicación en 1 frase simple)
- **Cita:** (El texto exacto del contrato)

### INPUT
[PEGAR CLÁUSULA AQUÍ]
```

***

### 2. Scripts de Python (Para la Ruta A)

Si elegiste la ruta técnica en la Sesión 3, este es el código que necesitas para tu RAG local.

#### `rag_simple.py` (El motor mínimo viable)

Este script carga un PDF y te permite chatear con él usando Ollama.

Python

```
from langchain_community.llms import Ollama
from langchain_community.document_loaders import PyPDFLoader
from langchain_community.vectorstores import Chroma
from langchain_community.embeddings import OllamaEmbeddings

# 1. CONFIGURACIÓN
# Asegúrate de tener Ollama corriendo: `ollama serve`
MODELO = "llama3.2"

print(f"🔄 Cargando cerebro: {MODELO}...")

# 2. CARGAR DATOS
# Cambia 'manual.pdf' por tu archivo
loader = PyPDFLoader("manual_empleado.pdf")
pages = loader.load_and_split()

print(f"📄 Documento cargado: {len(pages)} páginas.")

# 3. CREAR EL ÍNDICE (Embeddings)
# Esto convierte texto a números
vectorstore = Chroma.from_documents(
    documents=pages,
    embedding=OllamaEmbeddings(model=MODELO)
)

# 4. EL CHAT (Loop)
retriever = vectorstore.as_retriever()
llm = Ollama(model=MODELO)

print("✅ Sistema listo. Escribe 'salir' para terminar.\n")

while True:
    pregunta = input("Tú: ")
    if pregunta.lower() == "salir": break
    
    # Búsqueda de contexto
    docs = retriever.get_relevant_documents(pregunta)
    contexto = docs[0].page_content # Toma el párrafo más relevante
    
    # Generación
    prompt = f"Usando solo este contexto: {contexto}\n\nResponde: {pregunta}"
    respuesta = llm.invoke(prompt)
    
    print(f"Llama: {respuesta}\n")
```

{% hint style="warning" %} REQUISITOS Necesitas tener instalado Python y las librerías: `pip install langchain-community chromadb pypdf` {% endhint %}

***

### 3. Estructuras de Automatización (Make/Zapier)

Cuando conectes tu IA a otros apps, necesitarás saber cómo "se ven" los datos.

#### Payload de Webhook (Ejemplo)

Si envías datos desde tu página web a tu agente de IA en Make.com, usa este formato JSON:

JSON

```
{
  "ticket_id": "INC-2024-001",
  "usuario": "cliente@empresa.mx",
  "mensaje": "No puedo facturar, me sale error 500.",
  "prioridad_detectada": "Alta",
  "timestamp": "2024-11-18T10:00:00Z"
}
```

#### Fórmula para Google Sheets

Si usas la extensión de GPT/Llama en Sheets, usa esta fórmula para clasificar filas masivamente:

`=LLAMA("Clasifica este gasto en una palabra: "&A2, "llama-3.2-8b")`

***

### 4. Galería de Alucinaciones (Lo que debes evitar)

Aprende a identificar cuando la IA miente.

| Tipo de Error     | Síntoma Visual                                               | Solución                                                       |
| ----------------- | ------------------------------------------------------------ | -------------------------------------------------------------- |
| El "Loro"         | La IA repite la misma frase 3 veces.                         | Baja la "Temperatura" a 0.1.                                   |
| El "Mentiroso"    | Inventa un artículo de ley que no existe (ej. Art 504 LISR). | Usa RAG. Si no está en el documento, prohíbele responder.      |
| El "Verborrágico" | Le pides "Si o No" y escribe 3 párrafos.                     | Añade al prompt: "Restricción: Responde con una sola palabra". |

Exportar a Hojas de cálculo

{% hint style="info" %} RECURSO VIVO Esta bóveda se actualiza cada semana en `inteligencia.wiki` con los aportes de la comunidad. {% endhint %}

```

### 💡 Por qué esto calma la ansiedad de Paco:
1.  **Tangibilidad:** Ve código real (`import langchain`), no solo ideas.
2.  **Utilidad Inmediata:** Ve el JSON del SAT y dice "ah, esto sirve para contabilidad".
3.  **Profundidad:** Muestra que hay trabajo de ingeniería detrás, no solo "prompting".

Con esto, tu GitBook es una **herramienta de trabajo**, no solo un folleto. ¿Listo para cerrar?
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://incmty.gitbook.io/llama/recursos-y-casos/7.0-boveda-de-casos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
