OpenAI Agents SDK: un marco de trabajo en Python para crear flujos de trabajo colaborativos multiinteligencia

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.

OpenAI Agents SDK:搭建多智能体协作工作流的Python框架

 

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:

  1. 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
  1. Instalación del SDK
    Tras activar el entorno, ejecute el siguiente comando para instalar el SDK:
pip install openai-agents
  1. 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:
    1. Invocar el modelo lingüístico para generar una respuesta.
    2. Compruebe si hay llamadas a herramientas o conmutación de tareas.
    3. Ejecute la llamada a la herramienta y registre los resultados.
    4. Si hay un conmutador de tareas, salta al nuevo cuerpo inteligente.
    5. Bucle hasta que se genere la salida final, o hasta que el max_turns Cap.
  • Tipo de salida: Si ajusta el output_typela 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
AiPPT

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...