Skip to content

LangChain: introduccion

LangChain es un framework en Python (y JavaScript) para construir aplicaciones con modelos de lenguaje. Orquesta prompts, modelos, herramientas, memoria y retrieval en componentes reutilizables y composables.

No sustituye al LLM: estructura como lo conectas con datos, APIs y logica de negocio.

Capitulos

  1. Introduccion
  2. Chains prompts y modelos
  3. Tools y agents
  4. Retrieval
  5. Memory
  6. Evaluacion
  7. Despliegue y buenas practicas

Que problema resuelve

Sin framework, el codigo crece rapido:

python
# Antipatron: todo en un script
prompt = f"Contexto: {chunks}\nPregunta: {q}"
response = openai.chat.completions.create(...)
# repetido en cada endpoint

LangChain aporta:

  • Abstracciones estables (ChatModel, PromptTemplate, Retriever).
  • Composicion (chain, RunnableSequence).
  • Integraciones (OpenAI, Ollama, vector stores, LangSmith).
  • Patrones listos (RAG, agents, memory).

Conceptos principales

ConceptoDescripcion
ModelLLM o chat model que genera texto
PromptPlantilla con variables
ChainSecuencia de pasos (prompt -> model -> parser)
RetrieverDevuelve documentos relevantes
ToolFuncion invocable por un agente
AgentBucle que decide que herramienta usar
MemoryHistorial de conversacion

Arquitectura mental (LCEL)

LangChain Expression Language (LCEL) encadena componentes con el operador |:

python
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_openai import ChatOpenAI

prompt = ChatPromptTemplate.from_template("Resume en una frase: {text}")
model = ChatOpenAI(model="gpt-4o-mini")
parser = StrOutputParser()

chain = prompt | model | parser

result = chain.invoke({"text": "PostgreSQL es una base de datos relacional open source."})

Cada eslabon implementa invoke, batch y stream.

Instalacion

bash
pip install langchain langchain-openai langchain-community

Para modelos locales con Ollama:

bash
pip install langchain-ollama

Variables de entorno tipicas:

bash
export OPENAI_API_KEY=sk-...
# o para Ollama local sin clave
export OLLAMA_BASE_URL=http://localhost:11434

Cuando usar LangChain

Encaja si:

  • Construyes RAG, chatbots o agentes con varias integraciones.
  • Quieres cambiar de proveedor (OpenAI -> Ollama) con poco cambio.
  • Necesitas trazas con LangSmith.

Considera alternativas mas ligeras si:

  • Solo llamas al LLM una vez sin retrieval ni tools.
  • Prefieres control total sin capas de abstraccion (SDK directo).

Relacion con RAG

El manual de RAG explica la teoria; LangChain implementa el patron:

txt
Retriever + Prompt + ChatModel = RAG chain

Buenas practicas iniciales

  • Empieza con LCEL y componentes pequenos.
  • Fija versiones en requirements.txt o pyproject.toml.
  • Usa temperature=0 para respuestas factuales.
  • Separa configuracion (modelo, API keys) del codigo de negocio.
  • Activa trazas en desarrollo (LangSmith o logging propio).

Errores comunes

  • Instalar demasiados paquetes langchain-* sin necesidad.
  • Mezclar APIs antiguas (LLMChain) con LCEL sin documentacion clara.
  • No fijar version de modelo en produccion.
  • Logica de negocio critica dentro del prompt sin validacion en codigo.

Siguiente paso

En el capitulo 2 profundizamos en prompts, modelos y cadenas con ejemplos ejecutables.