Hoy vamos a aprender mediante un pequeño ejemplo cómo conectar LangChain a nuestro servidor Ollama desplegado para hacer por ejemplo un IA Tools.

Primero debemos tener Ollama desplegado: aquí te explico cómo.
Una vez despelgado Ollama, obtenemos el endpoint y vamos a usar LangChain con Python para conectarnos a él remotamente.
Obtener la Dirección del Servidor Ollama
Necesitas la dirección completa donde tu servidor Ollama está escuchando.
- Dirección (URL): Usualmente es
http://<IP_del_servidor>:<puerto>. - Puerto: El puerto por defecto de Ollama es
11434.
Asegúrate de que:
- El firewall del servidor remoto permite el tráfico entrante al puerto
11434desde la IP pública de Colab (aunque las IPs de Colab cambian, por lo que a veces es necesario abrir el puerto a todo internet temporalmente, lo cual tiene implicaciones de seguridad). - El servicio Ollama en el servidor remoto esté configurado para escuchar en una interfaz pública (no solo
localhosto127.0.0.1). Esto se logra típicamente configurando la variable de entornoOLLAMA_HOSTa la IP pública del servidor o a0.0.0.0.
Configurar LangChain
Instalamos la librería:
pip install langchain langchain-community langchain-core
Configurar la URL de Ollama: Importa la clase Ollama y especifica la URL de tu servidor usando el parámetro base_url.
from langchain_community.llms import Ollama
from langchain_core.prompts import PromptTemplate
from langchain_core.output_parsers import StrOutputParser
# ⚠️ PASO CRÍTICO: Reemplaza con la dirección IP/dominio y puerto de tu servidor Ollama
OLLAMA_SERVER_URL = "http://TU_IP_O_DOMINIO:11434"
MODEL_NAME = "llama3.2:3b" # Asegúrate de que este modelo esté descargado en tu servidor
# 1. Inicializar el LLM con la URL del servidor remoto
try:
llm = Ollama(
model=MODEL_NAME,
base_url=OLLAMA_SERVER_URL,
temperature=0.7 # Opcional: para respuestas deterministas
)
print(f"Conectado a Ollama en: {OLLAMA_SERVER_URL}")
except Exception as e:
print(f"Error al inicializar la conexión. Revisa la URL y la accesibilidad del servidor. Detalle: {e}")
# Si la conexión falla aquí, el problema es de red (firewall o OLLAMA_HOST mal configurado)
Probar la Conexión
from langchain_core.messages import HumanMessage
messages = [
HumanMessage(content="¿Cuál es la capital de Alemania?")
]
print("Enviando consulta al servidor Ollama remoto...")
try:
response = chat_model.invoke(messages)
print("\n--- Respuesta del Servidor Remoto ---")
print(response.content)
print("-------------------------------------")
except Exception as e:
print(f"\n--- ERROR DE CONEXIÓN ---")
print(f"No se pudo conectar al servidor. Verifica la IP/Puerto y el firewall. Error: {e}")
print("-------------------------")
Si la conexión es exitosa, verás la respuesta generada por el modelo en tu servidor remoto. Si falla, el problema casi siempre está relacionado con el firewall o la configuración de OLLAMA_HOST en tu servidor remoto.

Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.