Tutorial OpenAI Assistants API

Home » Blog » Tutorial OpenAI Assistants API

API Assistants de OpenAI es una herramienta que facilita la comunicación directa con GPT, el modelo de lenguaje que impulsa ChatGPT, pero ofreciendo un control más preciso.

La API de OpenAI se ha convertido en una herramienta valiosa para desarrolladores y empresas que buscan crear desde chatbots que se adaptan a cada usuario hasta asistentes virtuales que gestionan tareas complejas o sistemas que automatizan análisis y generación de contenido de forma efectiva.

En este tutorial te guiaré paso a paso para entender cómo funciona la API de OpenAI Assistants y cómo puedes aprovechar su potencial para crear asistentes que se adapten a tus necesidades específicas. Y en último lugar te enseñaré como usarlo en automatizaciones con Make.com.

Llevo desde principios del 2023 asesorando a empresas y autónomos en la implantación de inteligencia artificial, si tienes dudas contactame.

Configuración de la cuenta de OpenAI

Para acceder a la API de OpenAI, lo primero que debemos hacer es registrarnos en su plataforma. Es importante tener en cuenta que OpenAI experimenta cambios constantes. Esta información está actualizada hasta septiembre de 2024, proporcionando una base fundamental para comprender su funcionamiento.

  1. Creación de la cuenta: Dirígete al sitio oficial de OpenAI y regístrate desde «Products», «API login». Asegúrate de completar la verificación y cualquier detalle adicional que la plataforma solicite para habilitar el acceso a la API.
  2. Generación de claves API:
    • Desde el panel de OpenAI, busca la sección de claves API (API keys) en «Dashboard» y selecciona “Crear nueva clave secreta”. Copia esta clave en un lugar seguro; será necesaria para cada solicitud que realices a la API.
    • Configuración de seguridad: La clave API es sensible, así que se recomienda almacenarla en variables de entorno para evitar su exposición en el código. En Python, puedes usar el paquete dotenv para manejar estas variables.
  3. Acceso a la documentación de la API: Familiarízate con la documentación oficial de OpenAI. Aquí podrás encontrar detalles sobre las distintas funcionalidades y configuraciones posibles que te permitirán personalizar aún más tu asistente.
  4. Configuración (Settings): En esta sección encontramos todas las opciones para personalizar nuestro entorno de trabajo.
    • Perfil: Aquí podemos actualizar nuestro nombre, correo electrónico y número de teléfono
    • Seguridad: Es fundamental activar la autenticación de doble factor (2FA) en esta sección para proteger nuestra cuenta.
    • Organización: Encontraremos información sobre nuestra organización y su ID, un dato clave para la conexión con Make. También podemos activar la opción “Visible to organization owners” en “Features and capabilities” para gestionar los “Threads”, que son los historiales de conversación con el modelo.
    • Miembros: Permite agregar colaboradores a nuestra organización para trabajar en proyectos conjuntos.
    • Facturación: Nos ofrece la posibilidad de administrar métodos de pago y revisar el historial de facturas.
    • Límites: OpenAI establece límites de uso para asegurar un acceso equitativo a la plataforma. En la cuenta gratuita, el límite de solicitudes por minuto (RPM) es bastante bajo, pero al añadir un saldo inicial de $5, este límite aumenta significativamente.
    • Verificaciones: OpenAI podría solicitar documentación adicional para verificar nuestra identidad y prevenir usos fraudulentos.
    • Proyecto: En esta sección, podemos crear distintos proyectos.
  5. Dashboard: Es la interfaz desde donde crearemos nuestros asistentes personalizados.
  6. Playground: Nos permite probar nuestros Assistants y el chat de GPT de manera interactiva. En esta sección, podemos experimentar con diferentes entradas, ajustar los parámetros de temperatura, Top P y el número máximo de tokens, y observar el comportamiento de los modelos en tiempo real.

Dos maneras de usar API Assistants

No-Code: Interfaz OpenAI + Make

En la plataforma de OpenAI podemos crear asistentes a través del “creador de asistentes” y luego utilizarlos en Make, sin necesidad de conocimientos de programación.

Desarrollo a medida con API Assistants

El desarrollo a medida con API Assistants permite crear soluciones personalizadas que integran la API de OpenAI para automatizar tareas y mejorar la interacción en diversas aplicaciones. En nuestro caso lo haremos usaremos Python para el desarrollo.

No-Code: Interfaz OpenAI + Make

En la pestaña “Dashboard” encontraremos información general sobre nuestro uso de la API, así como las herramientas para crear y gestionar nuestros Assistants.

Interfaz de OpenAI Assistants

Desde la sección «Assistants» podremos crear, configurar y probar nuestros Assistants. Cada Assistant contará con las siguientes características:

  • Nombre: Un identificador único para el Assistant.
  • ID del Assistant: Un código exclusivo que se encuentra debajo del nombre y se utiliza para la comunicación con él asistente (En Make nos lo piden).
  • Instrucciones: Aquí redactaremos un “Prompt” para definir el rol del Assistant, su tono de comunicación, las medidas de seguridad a seguir y cualquier otra directriz que consideremos necesaria.
  • Modelo: Seleccionaremos el modelo de GPT que deseamos utilizar para este Assistant.
  • Herramientas: Podemos asignar herramientas específicas al Assistant, tales como:
    • Búsqueda de Archivos: Permite realizar búsquedas en los documentos que subamos a la plataforma (RAGS).
    • Intérprete de Código: Al igual que los GPT personalizados, esta herramienta permite al Assistant interpretar código y generar gráficos.
    • Funciones: Podemos crear funciones personalizadas para ampliar las capacidades del Assistant y darle acceso a información externa.
  • Configuración del Modelo: En esta sección, podremos personalizar la forma en que el Assistant responde:
  • Formato de Respuesta: Podemos elegir si queremos que el Assistant responda en texto plano o en formato JSON.
  • Temperatura: Controla la creatividad del modelo. A mayor temperatura, las respuestas serán más creativas, pero también más impredecibles.
  • Top P: Afecta la diversidad de las respuestas, determinando cuántas opciones se consideran dentro de la temperatura seleccionada.
  • Versión de la API: Podemos elegir la versión de la API que deseamos utilizar.

Ejemplo de uso

Vamos a desarrollar un asistente virtual para una empresa dedicada a la creación de páginas web.

Utilizaremos ChatGPT 4.0 como base para este proyecto. En este caso, el asistente se llamará «Diseño Web Imacreste» y su función principal será orientar a los nuevos clientes en el proceso de selección de los servicios que ofrece la empresa.

Primero, crearemos un nuevo proyecto en OpenAI. Para eso, vamos a la parte superior izquierda, al lado del nombre de nuestra organización, donde se encuentra el «Default Project». Hacemos clic y seleccionamos «Create Project».

Crear proyecto nuevo

En el formulario, se nos pedirán algunos datos:

Human friendly name: Nombre del proyecto. Lo llamaremos «Empresa Imacreste».

Project name: Describe tu proyecto o caso de uso. Pondremos «Servicios de la empresa imacreste».

URL: URL de tu sitio web o red social.

En segundo lugar hacemos clic en «Create» para crear el proyecto.

  • Lo primero que nos pedirá OpenAI es un nombre para nuestro asistente. En este caso, lo llamaremos «Diseño Web Imacreste».
  • Instrucciones del Asistente: Ahora llegamos a la sección de «Instrucciones». En este apartado, definimos el rol, los objetivos y el comportamiento de nuestro asistente. Es similar al prompt que utilizábamos en ChatGPT. Es importante considerar que, si utilizamos el modelo 4.0, el prompt debe ser más detallado en comparación con el nuevo modelo (Septiembre 2024), que requiere menos especificidad y se recomienda para tareas matemáticas, de código fuente o de lógica.
  • Selección del Modelo de Lenguaje: Aquí elegimos el modelo de lenguaje que utilizará nuestro asistente. Podemos optar por GPT-4 o GPT-4-mini. Para este ejemplo, seleccionaremos GPT-4.
  • Herramientas: En esta sección podemos activar o desactivar las herramientas disponibles para nuestro asistente.
    • Búsqueda de Archivos: Permite al asistente buscar información en documentos.
    • Intérprete de Código: Habilita al asistente para ejecutar código y generar gráficos.
    • Funciones: Permite establecer un enlace para que el asistente consulte información adicional en una base de datos y la integre en la respuesta final.
  • Configuración del Modelo: Podemos configurar el formato de respuesta, la temperatura y el «Top P» del modelo.
    • Response Format: Permite elegir el formato de respuesta (texto plano, JSON).
    • Temperature: Controla el nivel de creatividad del asistente.
    • Top P: Controla la extensión de la respuesta.

Y en tercer lugar haremos pruebas en el Playground.

Integración con Make.com

La integración de la API de OpenAI con Make.com permite automatizar tareas y gestionar respuestas del asistente en flujos de trabajo específicos.

Conexión de Make con los asistentes de OpenAI

A continuación, te guiaré en los pasos clave para realizar esta integración y aprovecharla para distintas automatizaciones.

  1. Crear un nuevo escenario:
    Inicia sesión en Make.com y crea un nuevo escenario. Los escenarios en Make.com representan flujos de trabajo automatizados que se pueden activar mediante diversas condiciones.
  2. Creación de un módulo cómo trigger
    Por ejemplo crea un webhook de Mailhook. Los emails que lleguen a ese correo pasaran por nuestro asistente de OpenAI.
  3. Alta módulo OpenAI – Message an Assistant
    Con este módulo nos conectaremos con el asistente vía Make.
    • Creamos la conexión con OpenAI: Añadimos el nombre, en Generar API Key necesitaremos una API Key. La generaremos desde «API Keys» y la pegamos en «API Key» en Make.
    • Copiar y pegar Organization ID en Make: Lo encontraremos en la plataforma de OpenAI en la sección de «Organization settings».
    • Guardamos, y seleccionamos el asistente en «Assistant».
    • Elegimos como mensaje el que viene del email.
  4. Creación de un módulo de Google Sheets
    Podemos usar Google Sheets para guardar el contenido del email y la respuesta del asistente, para saber más consultar mi manual sobre Make.com.

Desarrollo con API Assistants : Configuración inicial

Para comenzar a trabajar con la API de OpenAI y desarrollar programando asistentes personalizados, es esencial tener en cuenta ciertos requisitos y realizar una configuración básica que garantice un entorno de desarrollo estable y seguro.

Requisitos previos

  1. Conocimientos básicos: Tener experiencia con conceptos de programación es útil, especialmente en lenguajes como Python. También es conveniente tener familiaridad con las plataformas de automatización, como Make.com, para sacarle el máximo provecho a las capacidades de integración.
  2. Herramientas necesarias:
    • Cuenta de OpenAI: Una cuenta activa en OpenAI es esencial para obtener las claves API.
    • Python: Instalar la última versión es recomendado.
    • Entorno de desarrollo: Un entorno como VSCode o cualquier editor de texto que permita ejecutar scripts será suficiente para este tutorial.

Conexión básica con la API

Ahora que tienes tu cuenta de OpenAI configurada y tu clave API lista, es momento de realizar una conexión básica. Este paso es fundamental para verificar que el entorno de desarrollo está configurado correctamente y que la API puede responder a tus solicitudes.

Configuración en el entorno de desarrollo

  1. Instalación de Librerías Necesarias:
    • Para Python, necesitas instalar la librería openai, que facilita la comunicación con la API. Puedes instalarla usando el siguiente comando en tu terminal:
      pip install openai
    • Asegúrate de tener tus variables de entorno configuradas (si estás usando .env), de modo que la clave API esté protegida y no se incluya directamente en el código.
  2. Cargar la Clave API:
    • En Python, carga la clave API desde una variable de entorno para que esté disponible en tu script:
# Importar las bibliotecas necesarias
import openai
import os
from dotenv import load_dotenv

# Cargar la clave API desde el archivo .env
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")

Prueba de conexión

Para confirmar que todo está funcionando, realiza una solicitud de prueba a la API. Este ejemplo básico consulta un modelo de lenguaje en OpenAI y devuelve una respuesta.

response = openai.Completion.create(
    engine="gpt-3.5-turbo-0125",
    prompt="¿Qué es la IA?.",
    max_tokens=150
)

print(response.choices[0].text.strip())
  • Explicación del código:
    • engine: Define el modelo de OpenAI que deseas utilizar. En este ejemplo, estamos usando gpt-3.5-turbo-0125.
    • prompt: Es el mensaje o consulta que envías al modelo. Aquí estamos pidiendo una breve explicación sobre un tema.
    • max_tokens: Controla la longitud de la respuesta.
  • Al ejecutar este script, deberías recibir una respuesta breve del modelo. Si todo está configurado correctamente, el modelo devolverá un texto relacionado con la consulta que has formulado.

Creación de un asistente personalizado

Con la conexión a la API configurada, puedes comenzar a diseñar un asistente personalizado para responder a consultas o realizar tareas específicas. En esta sección, exploraremos cómo estructurar el asistente y configurarlo según tus necesidades.

Estructura de un asistente básico

  • Prompt: Es el mensaje base que guiará al asistente en sus respuestas. El prompt debe ser claro y específico para asegurar que el asistente comprenda el contexto de cada solicitud. Por ejemplo, si quieres un asistente que responda preguntas sobre programación, puedes utilizar un prompt como:
prompt = "Eres un experto en matemáticas."
  • Parámetros clave:
    • Temperatura: Controla la creatividad de las respuestas. Valores más bajos (cercanos a 0) darán respuestas más precisas y repetibles, mientras que valores más altos (cercanos a 1) harán que el asistente genere respuestas más variadas.
    • Tokens máximos: Define la extensión máxima de la respuesta. Limitar los tokens ayuda a controlar la longitud y el coste de las solicitudes.
    • Frecuencia y penalización de presencia: Ajustan la probabilidad de repetición de palabras, permitiendo un estilo de respuesta más variado o enfocado.
  • Ejemplo de Configuración Básica: Este ejemplo de código configura un asistente con parámetros personalizados para responder preguntas técnicas:
response = openai.Completion.create( engine="gpt-3.5-turbo-0125", prompt="Eres un experto en programación. Responde de manera clara y breve a las preguntas relacionadas con código.", temperature=0.5, max_tokens=100, frequency_penalty=0.5, presence_penalty=0.5 ) print(response.choices[0].text.strip())

Ejemplo de asistente para tareas comunes

  1. Asistente de Preguntas Frecuentes: Este tipo de asistente puede responder a preguntas comunes de manera precisa. Si tienes un conjunto de preguntas frecuentes, puedes integrar respuestas directas a consultas sobre temas específicos.
  2. Ejemplo de código para preguntas y respuestas: Puedes adaptar el asistente para responder preguntas sobre temas de interés. Aquí tienes un ejemplo donde el asistente responde sobre tecnologías:
question = "¿Qué es una IA?" response = openai.Completion.create( engine="gpt-3.5-turbo-0125", prompt=f"Pregunta: {question}\nRespuesta breve:", temperature=0.3, max_tokens=70 ) print(response.choices[0].text.strip())

Código Completo del Asistente Básico

# Importar las bibliotecas necesarias
import openai
import os
from dotenv import load_dotenv

# Cargar la clave API desde el archivo .env
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")

def obtener_respuesta(prompt):
    # Crear una solicitud a la API de OpenAI
    response = openai.Completion.create(
        engine="gpt-3.5-turbo-0125",  # Puedes cambiar a otro modelo si lo deseas
        prompt=prompt,
        temperature=0.5,  # Ajusta la creatividad de la respuesta
        max_tokens=100,  # Limita la longitud de la respuesta
        frequency_penalty=0.5,  # Penaliza la repetición de palabras
        presence_penalty=0.5  # Penaliza la aparición de nuevas palabras
    )
    return response.choices[0].text.strip()

# Ejemplo de uso del asistente
if __name__ == "__main__":
    # Definir el prompt inicial
    prompt = "Eres un asistente experto en atención al cliente. Responde de manera clara y concisa a las preguntas de los usuarios."

    # Preguntar al usuario
    pregunta = input("¿Cuál es tu pregunta? ")

    # Obtener la respuesta del asistente
    respuesta = obtener_respuesta(f"{prompt}\nPregunta: {pregunta}\nRespuesta:")
    
    # Imprimir la respuesta
    print("Respuesta del asistente:", respuesta)

Diferencia entre API Assistant y GPT personalizado

A diferencia de un GPT personalizado, que exige que el usuario ingrese a la plataforma de ChatGPT para interactuar, la API de Assistants permite integrar la inteligencia artificial en diversas plataformas y aplicaciones.

Esto permite desarrollar soluciones personalizadas y accesibles para un público más amplio. Por ejemplo, podemos integrar en nuestra página web una plataforma que oriente al usuario según sus respuestas.

Preguntas frecuentes

¿Qué modelos de OpenAI se recomiendan para crear asistentes?

Los modelos recomendados suelen ser gpt-3.5-turbo-0125 o gpt-4o-mini, ya que son altamente precisos y pueden ajustarse para ofrecer respuestas claras y personalizadas en diversos escenarios.

La elección del modelo depende del nivel de interacción que necesites y de los costes asociados, ya que los modelos más avanzados consumen más recursos.

¿Cuánto cuesta utilizar la API de OpenAI en un flujo de trabajo con Make.com?

El coste depende del modelo utilizado, la cantidad de tokens (palabras) por solicitud y el volumen de solicitudes realizadas. Cada modelo tiene tarifas distintas y, en el caso de modelos como gpt-4o-mini, el coste es más elevado debido a su capacidad avanzada.

Make.com también puede tener costes adicionales dependiendo del nivel de plan y de las integraciones.

¿Cómo protejo mi clave API en Make.com y en mi código?

Es recomendable almacenar la clave API en una variable de entorno o, en el caso de Make.com, usar el sistema de seguridad interno de la plataforma para ocultar y proteger credenciales. No incluyas la clave API directamente en el código para evitar riesgos de seguridad.

¿Es posible integrar varios asistentes diferentes en Make.com?

Sí, puedes crear múltiples escenarios en Make.com, cada uno diseñado para utilizar un asistente específico de OpenAI. Por ejemplo, puedes tener un asistente dedicado a responder preguntas técnicas y otro orientado a la atención al cliente, activándolos mediante triggers distintos en Make.com.

¿Cómo puedo mejorar la precisión de las respuestas de mi asistente?

Ajustar el prompt y los parámetros del modelo, como temperature y frequency_penalty, ayuda a mejorar la precisión y adaptabilidad del asistente. Además, puedes entrenar al modelo de OpenAI con ejemplos específicos si necesitas respuestas muy detalladas o técnicas en un área específica.

Conclusión

La creación de un asistente personalizado utilizando la API de OpenAI es un proceso accesible y altamente adaptable que puede mejorar significativamente la eficiencia en la atención al cliente y en la automatización de tareas.

A lo largo de este tutorial, hemos explorado desde la configuración inicial de la cuenta hasta la integración con Make.com, permitiéndote desarrollar un asistente que se ajuste a tus necesidades específicas.


Últimas entradas

Traducir WooCommerce con WPML

La compatibilidad multilingüe es fundamental en el comercio electrónico moderno, especialmente para alcanzar audiencias globales diversificadas. En este contexto, WPML (WordPress Multilingual Plugin) se erige como una herramienta indispensable para los usuarios de WooCommerce que buscan expandir su alcance más allá de las fronteras lingüísticas. WPML facilita la creación de webs completamente traducidas, permitiendo a…

Leer Traducir WooCommerce con WPML

Suscripciones WooCommerce

Las suscripciones en WooCommerce representan un modelo de negocio que permite a las tiendas online ofrecer productos y servicios bajo un esquema de pago recurrente. Este enfoque no solo proporciona una fuente de ingresos estable, sino que también fomenta la lealtad del cliente al permitirles acceder a productos o servicios de manera continua sin la…

Leer Suscripciones WooCommerce

Crear un tema para Woocommerce

Crear un tema personalizado para WooCommerce puede ser un cambio significativo para tu tienda online. Con un tema personalizado, tienes el control total sobre el diseño, la funcionalidad y el rendimiento de tu tienda WooCommerce. Esto significa que puedes adaptar la apariencia a la identidad de tu marca, optimizar el tiempo de carga y hacer…

Leer Crear un tema para Woocommerce

¿Qué son los informes de WooCommerce?

Los informes de WooCommerce son herramientas fundamentales que proporcionan datos analíticos esenciales sobre el rendimiento de una tienda online. Estos informes permiten a los propietarios y administradores de tiendas obtener una visión clara y detallada de diversas métricas relacionadas con las ventas, los productos, los clientes y el comportamiento del mercado. Al acceder a esta…

Leer ¿Qué son los informes de WooCommerce?

Creando un cupón con Woocommerce

Las ofertas en WooCommerce son estrategias promocionales diseñadas para incentivar a los clientes a realizar compras en una tienda en línea. Al aplicar descuentos, promociones y ventajas adicionales, las tiendas WooCommerce pueden atraer más tráfico, reducir inventarios rápidamente y mejorar las tasas de conversión. En esencia, las ofertas permiten a los negocios crear un sentido…

Leer Creando un cupón con Woocommerce

¿Cómo hacer una migración de una página web sin perder posicionamiento web?

Las migraciones de páginas web a veces son necesarias cuando, por ejemplo, cambiamos a un nuevo CMS, cambiamos de plantilla, se rediseña un sitio o se cambia la marca por completo. Estos cambios persiguen un aumento de los ingresos, pero las migraciones están expuestas a grandes riesgos. Una mala migración puede provocar una disminución del…

Leer ¿Cómo hacer una migración de una página web sin perder posicionamiento web?


Foto de Iñigo Mezo Alvarez

IÑIGO MEZO ALVAREZ (IMAcreste)


Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Las reseñas son opiniones que las personas dejan en la página local de Google. Si son positivas, estas reseñas ayudarán a mejorar la confianza y credibilidad de una marca.

Participa en nuestro sorteo enviando un email con tu nombre y el asunto «Sorteo AUDITORÍA SEO». Se realizara un sorteo cada mes.