Integrar modelos de OpenAI con LangChain te permite generar texto, comparar respuestas y controlar costos en pocas líneas de código. Aquí aprendes a configurar tu API key, instanciar modelos como gpt-3.5-turbo o text-davinci-003, y medir tokens para optimizar el gasto.
Cómo configuro mi API key de OpenAI en LangChain
Antes de instanciar cualquier modelo, necesitas dos instalaciones: openai y langchain. Después, busca tu API key en la plataforma para desarrolladores de OpenAI.
Tienes dos caminos para usarla: pegarla directamente en tu notebook de Colab o guardarla como variable de entorno en tu máquina. La segunda opción es la recomendada porque LangChain la carga de forma automática y evitas exponerla cada vez que ejecutas tu código.
¿Dónde encuentro mi OpenAI API key? En la plataforma de OpenAI para desarrolladores, dentro de la sección de API keys de tu cuenta. Una vez generada, guárdala como variable de ambiente para que LangChain la detecte sola.
Cómo cargo un modelo gpt-3.5 con la clase OpenAI de LangChain
La clase OpenAI vive dentro del módulo de LLMs de LangChain. Al importarla, puedes crear un objeto que represente tu modelo y pasarle argumentos para personalizar su comportamiento.
Los parámetros más importantes que configuras al instanciar son:
model_name: define qué modelo usas, por ejemplo gpt-3.5-turbo o un davinci.
n: número de respuestas distintas que el modelo retorna por prompt. El valor por defecto es 1.
temperature: controla qué tan creativo o predecible es el modelo. Un valor como 0.3 mantiene respuestas más conservadoras.
Cómo llamo al modelo y obtengo una respuesta
Una vez creado tu objeto llm_gpt3_5, llamarlo es directo: le pasas el prompt como argumento de texto y esperas el resultado. Por ejemplo, al preguntarle cómo puedo lograr una clase más interactiva para estudiantes virtuales, el modelo responde en español con sugerencias coherentes.
No todos los modelos manejan español con la misma calidad, pero gpt-3.5-turbo lo hace bien. Si trabajas con audiencia hispanohablante, este detalle importa.
Cómo proceso varios prompts a la vez con generate
Cuando necesitas correr múltiples prompts en paralelo, el método generate recibe una lista y devuelve todas las generaciones juntas. Aquí entra otro modelo útil: text-davinci-003, que importas igual desde la clase OpenAI.
Un ejemplo práctico: instancias llm_davinci con n=2 y temperature=0.3, y le pasas dos prompts en una lista, como pedir un consejo de vida y recomendaciones de libros similares a Hyperion Cantos. El modelo procesa ambos y devuelve dos respuestas por cada uno.
El objeto resultante trae mucha información, pero el atributo generations te da acceso limpio a cada salida. Así puedes leer, por ejemplo, una recomendación específica como Olimpos de Dan Simmons o The Forever War de Joe Haldeman.
¿Qué hace el parámetro n en LangChain? Define cuántas respuestas distintas genera el modelo para un mismo prompt. Si pones n=2, recibes dos variaciones por cada entrada que envíes.
Cómo cuento tokens para controlar el costo en OpenAI
Cada prompt y cada respuesta consumen tokens, y los tokens se cobran. LangChain expone esa información en el atributo llm_output de tus generaciones, donde ves cuántos tokens usó el prompt, cuántos la respuesta y el total.
En el ejemplo del transcript, un prompt de 32 tokens generó una respuesta de 383, para un total de 415 tokens facturados con davinci-003.
Cómo uso tiktoken para medir antes de enviar
Para anticipar el costo antes de llamar al modelo, instala tiktoken, el paquete open source de OpenAI que tokeniza texto. Es la misma lógica que corre debajo de los modelos GPT.
Con tu modelo ya cargado, llamas al método get_num_tokens y le pasas el texto que piensas enviar. Por ejemplo, la frase mis jefes se van a preocupar si gasto mucho en OpenAI equivale a 16 tokens. Con esa medición decides si tu prompt es demasiado largo o si conviene recortarlo.
Mantener prompts compactos es una de las decisiones más rentables cuando trabajas con APIs de pago.
Qué modelos de OpenAI puedo probar con LangChain
LangChain te abre la puerta a varios modelos de OpenAI con la misma sintaxis. Los más comunes que aparecen en la documentación oficial son:
gpt-3.5-turbo: rápido, económico y maneja español con buena calidad.
text-davinci-003: útil para generación de texto largo y tareas creativas.
- Otros modelos GPT que encuentras en la documentación para desarrolladores de OpenAI.
Prueba al menos dos modelos distintos con el mismo prompt y compara resultados. Cambia la temperature entre 0.3 y valores más altos para ver cómo varía la creatividad. ¿Qué modelo te dio la respuesta más útil para tu caso? Cuéntalo en los comentarios.