Los asistentes con IA están a la vanguardia de esta revolución y, con la última actualización de la API v2 de asistentes de OpenAI, estos ayudantes virtuales son cada vez más inteligentes y versátiles.
La inteligencia artificial está transformando rápidamente nuestra forma de interactuar con la tecnología. OpenAI ha actualizado su API de Asistentes y con ella han llegado un montón de cambios. He aquí algunos de ellos:
Herramienta de recuperación mejorada: File_Search
Uno de los avances más significativos en la actualización de OpenAI Assistants v2 es la introducción de la herramienta file_search
. Esta función mejora la herramienta de recuperación anterior y revoluciona la forma en que los asistentes interactúan con fuentes de conocimiento externas. A continuación te explicamos por qué es tan importante:
- Mejora masiva de la capacidad: Los asistentes ahora pueden extraer información de hasta 10.000 archivos a través del nuevo almacén vectorial, ¡500 veces más que antes! Esto permite a las empresas equipar a sus asistentes con vastas bibliotecas de información sobre productos, documentación interna, registros de clientes y mucho más.
- Aumento de la eficacia:
File_search
optimiza la recuperación con un procesamiento más rápido y búsquedas multihilo. Imagínese a su asistente examinando simultáneamente numerosos documentos para encontrar la respuesta perfecta: ese es el poder del procesamiento paralelo. - Resultados más inteligentes: Las técnicas avanzadas de reordenación y reescritura de consultas priorizan el contenido más relevante.
File_search
no se limita a encontrar información, sino que comprende los matices de las consultas de los usuarios para ofrecer una precisión excepcional. - Integración perfecta:
File_search
funciona en tándem con el nuevo concepto de tienda vectorial. Al cargar los archivos, OpenAI los analiza automáticamente, los fragmenta y crea incrustaciones, lo que permite realizar búsquedas de forma inmediata. Esto elimina la preparación manual de datos, ahorrando tiempo y esfuerzo de desarrollo.
Cómo utilizar la nueva herramienta file_search:
Para utilizar la herramienta file_search, basta con crear un asistente con file_search activado en el parámetro tool del asistente. El script debería tener este aspecto.
from openai import OpenAI
client = OpenAI()
assistant = client.beta.assistants.create(
name="Financial Analyst Assistant",
instructions="You are an expert financial analyst. Use you knowledge base to answer questions about audited financial statements.",
model="gpt-4-turbo",
tools=[{"type": "file_search"}],
)
Nuevo almacén de vectores
Antes de la actualización de OpenAI Assistants v2, las recuperaciones para los asistentes se gestionaban de forma menos eficiente y con algunas limitaciones. Assistants v2 introduce almacenes de vectores para simplificar la gestión de datos y agilizar los datos entre cada asistente. He aquí un desglose de las diferencias:
- Nueva base de datos vectorial: Antes de la actualización, los usuarios tenían que utilizar una base de datos de terceros para almacenar sus archivos, ya que Assistants sólo puede utilizar hasta 20, la nueva actualización aumentó hasta 10.000 archivos mediante la adición de una nueva función de almacenamiento de vectores.
- Procesamiento automático: Los archivos se analizan, se dividen en trozos y se incrustan (se convierten en representaciones numéricas) automáticamente al cargarlos.
- Compartido entre asistentes: Los almacenes de vectores pueden ser utilizados por múltiples asistentes, reduciendo la redundancia.
Cómo funcionaban las cosas con los asistentes v1:
- Recuperación más limitada: Los asistentes podían acceder a la información, pero el proceso era menos ágil y escalable.
- Falta de herramientas específicas: No existía un equivalente a
file_search
, por lo que las técnicas de recuperación eran menos sofisticadas. - No existía el concepto de almacén vectorial: Los datos tenían que incrustarse y gestionarse de forma más manual, lo que a menudo suponía una sobrecarga compleja.
Cómo utilizar el nuevo vector_store:
Puede crear un almacén vectorial y añadirle archivos con una sola llamada a la API, que debería tener este aspecto.
vector_store = client.beta.vector_stores.create(
name="Product Documentation",
file_ids=['file_1', 'file_2', 'file_3', 'file_4', 'file_5']
)
También se pueden añadir archivos a un almacén vectorial después de su creación siguiendo el siguiente script.
vector_store_file = client.beta.vector_stores.files.create(
vector_store_id="vs_abc123",
file_id="file-abc123"
)
print(vector_store_file)
Mayor control del usuario
La actualización de OpenAI Assistants v2 pone un mayor control en manos de desarrolladores y usuarios con la adición del nuevo parámetro de elección de herramienta, el control de tokens y los populares parámetros de configuración de modelos.
Elección de herramienta: El parámetro tool_choice
ha sustituido al anterior function_call. La elección de herramienta controla qué herramientas como file_search
, code_interpreter
, o una función
en una ejecución específica.
- Si desea que el modelo elija entre generar un mensaje o llamar a las herramientas disponibles, establezca
«tool_choice»:
«auto»
y si no quieres que el modelo llame a ninguna herramienta configúralo a «tool_choice
»: "none
» . - Si desea que la ejecución utilice una herramienta especificada, tendrá el siguiente aspecto:
{«type»:
«file_search»}
o{«type»:
«function», «function»:
{«nombre»:
«mi_función»}}
.
Control Max Tokens: Los asistentes de OpenAI ahora ofrecen controles de tokens más refinados. 'Control max tokens' permite establecer límites en el número de tokens que un asistente puede utilizar en una respuesta. Esto permite optimizar los costes, ya que los precios de OpenAI se basan en parte en el uso de tokens, estos controles ayudan a gestionar los costes y reducir el gasto innecesario.
Parámetros de configuración del modelo: La nueva actualización v2 también ha añadido las configuraciones de parámetros populares utilizados en LLM's como Temperatura, Top_p (muestreo de núcleos) y response_format
.
Modelos afinados y respuesta en tiempo real
La actualización también ha hecho la vida más fácil tanto para los desarrolladores como para los usuarios, los desarrolladores son ahora capaces de utilizar modelos afinados para la API de los Asistentes, mientras que los usuarios son ahora capaces de ver una respuesta en tiempo real de los Asistentes.
Respuestas en tiempo real: El streaming en Assistants v2 permite a los asistentes empezar a enviar fragmentos de texto en cuanto se generan. Los usuarios perciben las respuestas como más rápidas, lo que hace que la interacción sea más ágil y natural.
Modelos ajustados: Ahora puede utilizar modelos ajustados para la API de asistentes, aunque sólo son compatibles las versiones ajustadas de gpt-3.5-turbo-0125
. Utilizar un modelo afinado para su asistente es sencillo, rellene la línea «model» con el modelo afinado que desee utilizar siguiendo el ejemplo siguiente.
from openai import OpenAI
client = OpenAI()
completion = client.chat.completions.create(
model="ft:gpt-3.5-turbo:my-org:custom_suffix:id",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
)
print(completion.choices[0].message)
Estas mejoras en la Assistants API v2 demuestran los continuos esfuerzos de OpenAI por dotar a los desarrolladores de herramientas de IA sofisticadas pero accesibles. Ten en cuenta que esta actualización aún está en fase Beta, por lo que es de esperar que se produzcan algunos errores.