OpenAI Agents SDK: un marco de trabajo en Python para crear flujos de trabajo colaborativos multiinteligencia
Últimos recursos sobre IAPublicado hace 5 meses Círculo de intercambio de inteligencia artificial 1.5K 00
Introducción general
OpenAI Agents SDK es una herramienta de desarrollo ligera de OpenAI diseñada para crear flujos de trabajo multiinteligentes. Basado en Python, es fácil de usar y permite a los desarrolladores automatizar tareas complejas mediante la configuración de agentes, transferencias, Guardrails y rastreo. Por ejemplo, puede utilizarlo para crear un asistente que escriba código o un sistema inteligente que gestione interacciones multilingües. Lo más destacado es su compatibilidad y flexibilidad con todos los proveedores de modelos que soportan el formato OpenAI Chat Completions API. Se proporciona oficialmente documentación detallada y código de ejemplo para que los desarrolladores de todos los niveles puedan empezar rápidamente.

Lista de funciones
- Personalización inteligente del cuerpo: Establezca comandos, herramientas y restricciones para que los modelos lingüísticos creen asistentes inteligentes exclusivos.
- Cambio de tareasPermite cambiar de una inteligencia a otra sin problemas, por ejemplo, pasando del asistente en inglés al asistente en español.
- certificación de seguridad: Las comprobaciones de entrada y salida incorporadas garantizan resultados seguros y fiables.
- Seguimiento operativoRegistra automáticamente el proceso de funcionamiento del cuerpo inteligente para facilitar la depuración y la optimización.
- Extensión de herramientasPermite añadir herramientas personalizadas, como consultar el tiempo o trabajar en tareas específicas.
- compatibilidad de modelos: Se admiten múltiples proveedores de modelos, siempre que se ajusten al formato de la API OpenAI.
Utilizar la ayuda
Proceso de instalación
Para utilizar el SDK de Agentes OpenAI, primero necesitas construir un entorno Python. Estos son los pasos:
- Creación de un entorno virtual
Cree un entorno Python separado para evitar conflictos con otros proyectos introduciendo el siguiente comando en el terminal:
python -m venv env
A continuación, activa el entorno:
- Ventanas:
env\Scripts\activate
- Sistemas Mac/Linux:
source env/bin/activate
- Instalación del SDK
Tras activar el entorno, ejecute el siguiente comando para instalar el SDK:
pip install openai-agents
- Configuración de claves API
Antes de ejecutar el código, es necesario establecer la clave de la API de OpenAI. Introdúcela en el terminal:
export OPENAI_API_KEY='你的密钥'
O cárguela en el código mediante variables de entorno. Tenga cuidado de asegurar la clave.
Una vez completados los pasos anteriores, estará listo para empezar a utilizar la herramienta.
Cómo utilizarlo
En el corazón del SDK de Agentes OpenAI se encuentran Agent
responder cantando Runner
Clase.Agent
utilizadas para definir el comportamiento de las inteligencias.Runner
Responsable de ejecutar y devolver los resultados. A continuación se describe detalladamente el funcionamiento de las funciones principales.
1. Crear un asistente inteligente básico
¿Quiere empezar rápidamente? Prueba con este sencillo ejemplo de un cuerpo inteligente que escribe un haiku sobre programación:
from agents import Agent, Runner
agent = Agent(name="Assistant", instructions="You are a helpful assistant")
result = Runner.run_sync(agent, "Write a haiku about recursion in programming.")
print(result.final_output)
procedimiento::
- Cree una Inteligencia, establezca el nombre y las instrucciones.
- gasto o desembolso
Runner.run_sync
Sincronice la ejecución e introduzca los requisitos de la tarea. - Al ejecutarlo saldrá algo como: "Código en código, función se llama a sí misma, baile de bucle infinito".
2. Activación del cambio de tareas
El cambio de tareas es una función del SDK que permite la colaboración de varias inteligencias. Por ejemplo, la gestión de solicitudes en varios idiomas:
from agents import Agent, Runner
import asyncio
spanish_agent = Agent(name="Spanish agent", instructions="You only speak Spanish.")
english_agent = Agent(name="English agent", instructions="You only speak English.")
triage_agent = Agent(
name="Triage agent",
instructions="Handoff to the appropriate agent based on the language of the request.",
handoffs=[spanish_agent, english_agent],
)
async def main():
result = await Runner.run(triage_agent, input="Hola, ¿cómo estás?")
print(result.final_output)
if __name__ == "__main__":
asyncio.run(main())
procedimiento::
- Definir las inteligencias múltiples, cada una con instrucciones específicas.
- Creación de la inteligencia primaria (
triage_agent
), y especificar las inteligencias conmutables. - gasto o desembolso
Runner.run
Funcionando de forma asíncrona y entrando en temas españoles. - El cuerpo inteligente principal cambiará según el idioma
spanish_agent
...respondiendo algo así como: "¡Hola! Estoy bien, gracias por preguntar. Y tú, ¿cómo estás?".
3. Añadir herramientas personalizadas
Puede utilizar la función function_tool
Definir herramientas que permitan a las inteligencias llamar a funciones externas. Por ejemplo, consultar el tiempo:
from agents import Agent, Runner, function_tool
@function_tool
def get_weather(city: str) -> str:
return f"The weather in {city} is sunny."
agent = Agent(
name="Weather agent",
instructions="You are a helpful agent.",
tools=[get_weather],
)
async def main():
result = await Runner.run(agent, input="What's the weather in Tokyo?")
print(result.final_output)
if __name__ == "__main__":
asyncio.run(main())
procedimiento::
- Definir una función con
@function_tool
Decoración. - Añadir herramientas a un cuerpo inteligente
tools
Parámetros. - Después de correr, la Sociedad Inteligente llama a la herramienta y devuelve: "El tiempo en Tokio es soleado".
4. Utilización del runtracking
El SDK incorpora una función de seguimiento que registra los detalles de las acciones del smartbody en cada ejecución. Puede obtener más información sobre el funcionamiento del smartbody utilizando la función result
Objetos para ver los procesos en ejecución o para integrarlos con herramientas externas (por ejemplo, Logfire) para su análisis. Funciona por defecto sin ajustes adicionales.
5. Configuración de la autenticación de seguridad
La validación de seguridad (Guardrails) puede comprobar las entradas y salidas. Por ejemplo, impedir que un usuario haga los deberes de matemáticas a un organismo inteligente:
from agents import Agent, Runner, input_guardrail
from pydantic import BaseModel
class MathCheck(BaseModel):
is_math_homework: bool
reasoning: str
guardrail_agent = Agent(
name="Guardrail check",
instructions="Check if the user is asking you to do their math homework.",
output_type=MathCheck,
)
@input_guardrail
async def math_guardrail(ctx, agent, input):
result = await Runner.run(guardrail_agent, input)
return GuardrailFunctionOutput(
output_info=result.final_output,
tripwire_triggered=result.final_output.is_math_homework,
)
agent = Agent(
name="Support agent",
instructions="Help customers with their questions.",
input_guardrails=[math_guardrail],
)
async def main():
try:
await Runner.run(agent, "Can you solve 2x + 3 = 11?")
except Exception as e:
print("Guardrail stopped the request")
procedimiento::
- Definir una inteligencia de guardia que compruebe la entrada.
- gasto o desembolso
@input_guardrail
Crear funciones de guardia. - Añade las guardias a la inteligencia principal. La ejecución se interrumpe si la entrada implica trabajo matemático.
Detalles del proceso operativo
- circulación inteligente: Llamada
Runner.run()
Al hacerlo, el SDK realiza los siguientes pasos:- Invocar el modelo lingüístico para generar una respuesta.
- Compruebe si hay llamadas a herramientas o conmutación de tareas.
- Ejecute la llamada a la herramienta y registre los resultados.
- Si hay un conmutador de tareas, salta al nuevo cuerpo inteligente.
- Bucle hasta que se genere la salida final, o hasta que el
max_turns
Cap.
- Tipo de salida: Si ajusta el
output_type
la inteligencia generará una salida estructurada del tipo especificado; en caso contrario, la respuesta a la primera llamada o conmutador sin herramientas será la salida final.
Recomendaciones de uso
- ajustar los componentes durante las pruebasVea cada paso en detalle con la función de seguimiento para localizar rápidamente los problemas.
- optimización: Establecido en función de las necesidades de la misión
max_turns
...evitando montar demasiado en bicicleta. - extensionesReferencia oficial
examples
para explorar más usos.
Documentación oficial: https://openai.github.io/openai-agents-python/
© declaración de copyright
El artículo está protegido por derechos de autor y no debe reproducirse sin autorización.
Artículos relacionados
Sin comentarios...