AI Agents Open SDK: باز کردن آینده عوامل تغییر بازی OpenAi SDK به روزرسانی قسمت 1

OpenAI به تازگی نسخه جدید مهیج از Openai Agents SDK خود را منتشر کرده است و قول می دهد در نحوه همکاری و عملکرد سیستم های AI متحول شود. این به روزرسانی آماده تولید از پروژه آزمایشی آنها به نام Swarm ناشی می شود و دارای ویژگی های قدرتمندی با هدف تقویت تطبیق پذیری و ایمنی برنامه های هوش مصنوعی است.
چه چیز جدیدی در نمایندگان Openai SDK وجود دارد؟
آخرین نسخه Agents SDK پیشرفت های مختلفی را به ارمغان می آورد و آن را به ابزاری اساسی برای توسعه دهندگان که با سیستم های AI کار می کنند ، تبدیل می کند. بیایید به ویژگی های کلیدی شیرجه بزنیم:
-
ابزارها و فراخوانی عملکرد: در حال حاضر ، نمایندگان مجهز به استفاده از ابزارهای خارجی یا توابع تماس ، گسترش قابلیت های آنها و امکان انجام کارهای پیچیده تر هستند.
-
دست و پا زدن: این ویژگی یک تغییر دهنده بازی است ، به ویژه در برنامه های چند عامل. هم اکنون مأمورین می توانند وظایف را به سایر عوامل واگذار کنند و از مدیریت کارآمدتر کار و همکاری بین عوامل اطمینان حاصل کنند.
-
حلقه عامل داخلی: SDK شامل یک حلقه عامل داخلی است که تماس های ابزار را کنترل می کند و نتایج را به LLM (مدل زبان بزرگ) ارسال می کند ، و از حلقه های فرآیند تا زمان اتمام کار اطمینان می دهد. این باعث می شود تعامل بین عوامل و LLM یکپارچه تر و کارآمدتر شود.
-
نگهبان: یکی از مهمترین ویژگی ها ، GuardRails تضمین می کند که تمام ورودی ها و خروجی ها از طریق عامل ضد عفونی می شوند. GuardRail ورودی نمایش داده های کاربر را بررسی می کند تا از امنیت آنها برای پردازش بی خطر باشد ، در حالی که نگهبان خروجی تضمین می کند که نتایج حاصل از LLM مناسب و ایمن باشد.
-
ردیابی: برای کمک به اشکال زدایی و بهینه سازی ، SDK شامل یک ابزار ردیابی داخلی قدرتمند است که به شما امکان می دهد کل جریان عامل را تجسم و نظارت کنید ، و تصویری واضح تر از نحوه پردازش داده ها و دستورالعمل ها ارائه می دهد.
نحوه شروع کار با Openai Agents SDK
شروع با این SDK قدرتمند جدید سریع و ساده است. فقط این مراحل را دنبال کنید:
- SDK را نصب کنید: می توانید Openai Agents SDK را از طریق PIP نصب کنید:
pip install openai-agents
-
وارد کردن کتابخانه:
تمام کتابخانه ها و وابستگی های لازم برای کار با SDK را وارد کنید.
-
عامل را اجرا کنید:
OpenAI سه روش برای اجرای یک عامل فراهم می کند:
-
Runner.run()
-روش async برای اجرای غیر مسدود کننده -
Runner.run_sync()
– روش همگام سازی (مسدود کردن) برای اجرای عامل در یک جریان خطی -
Runner.run_streamed()
-روش ASYNC که پاسخ ها را به کاربر یا برنامه بازگرداند ، مناسب برای تعامل در زمان واقعی است.
-
GuardRails برای تعامل ایمن AI
معرفی GuardRails در این SDK گامی مهم برای اطمینان از ایمنی در تعامل هوش مصنوعی است. در input_guardrail تضمین می کند که داده های ارسال شده به LLM ایمن است و از پردازش پرس و جوهای مضر یا نامناسب جلوگیری می کند. در ضمن ، output_guardrail پاسخ های LLM را بررسی می کند تا اطمینان حاصل شود که خروجی ها معتبر و با هدف مورد نظر هماهنگ هستند.
چرا این مهم است
این نسخه جدید از Openai Agents SDK امکانات مهیج را برای توسعه دهندگان کار با AI باز می کند. این SDK با داشتن امکان ایجاد عوامل هوشمند تر ، مشترک و ایمن تر ، یک گام مهم به جلو در تکامل سیستم های هوش مصنوعی است. این که آیا شما در حال ساخت سیستم های پیچیده و چند عامل هستید یا فقط به دنبال تقویت قابلیت های ابزارهای هوش مصنوعی خود هستید ، OpenAi Agents SDK پایه و اساس مورد نیاز شما را برای ایجاد آینده هوش مصنوعی فراهم می کند.
import os
from agents import Agent, Runner
from dotenv import load_dotenv
import asyncio
from openai.types.responses import ResponseTextDeltaEvent
from agents import function_tool
from pydantic import BaseModel
class SreeniOutputFormatter(BaseModel):
name: str
age: int
city: str
country: str
state: str
title: str
# Load environment variables
load_dotenv()
os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY")
@function_tool
def get_current_weather(location: str):
"""Get the current weather in a given location"""
weather = {
"New York": "sunny",
"Los Angeles": "cloudy",
"San Francisco": "foggy",
"Texas": "hot"
}
return weather.get(location, "unknown")
# Create agents
agent = Agent(
name="Assistant",
instructions=("You are a helpful assistant. remember to use provided tools whenever possible, do not make up information use tools to help answer the question."),
model="gpt-4o-mini",
tools=[get_current_weather]
)
structured_output_agent = Agent(
name="Structured Output Agent",
instructions=("You are a helpful assistant. remember to use provided tools whenever possible, do not make up information use tools to help answer the question."),
model="gpt-4o-mini",
tools=[get_current_weather],
output_type=SreeniOutputFormatter
)
async def run_all_examples():
# Async version
print("\n--- Running Async Version ---")
print("Agent created and ready to go running async version")
question = "What is the current political situation in India?"
result = await Runner.run(agent, question)
print(result.final_output)
# Stream version
print("\n--- Running Stream Version ---")
print("Agent created and ready to go running stream version")
question = "What is the current political situation in India?"
# Fix: run_streamed returns a RunResultStreaming object that isn't awaitable
# Get the object first, then use it
result = Runner.run_streamed(agent, question)
async for data in result.stream_events():
if data.type == "raw_response_event" and isinstance(data.data, ResponseTextDeltaEvent):
print(data.data.delta, end="", flush=True)
print() # Add a newline after streaming
# Function calling version
print("\n--- Running Function Calling Version ---")
print("Agent created and ready to go running function calling version")
question = "What is the current weather in New York?"
result = await Runner.run(agent, question)
print(result.final_output)
# Structured output version
print("\n--- Running Structured Output Version ---")
print("Agent created and ready to go running structured output version")
question = "I am Sreeni i live in Dallas, Texas, i am 30 years old, i am a software engineer, i am from India"
result = await Runner.run(starting_agent=structured_output_agent, input=question)
print(result.final_output)
if __name__ == "__main__":
asyncio.run(run_all_examples())
با تشکر
صمیمی