OpenAI 에이전트 SDK: 협업형 멀티 인텔리전스 워크플로우 구축을 위한 파이썬 프레임워크

최신 AI 리소스게시됨 6 개월 전 AI 공유 서클
11.3K 00

일반 소개

OpenAI 에이전트 SDK는 다중 지능형 워크플로를 구축하기 위해 설계된 OpenAI의 경량 개발 도구입니다. Python을 기반으로 하여 쉽게 시작할 수 있으며 개발자가 에이전트, 핸드오프, 가드레일 및 추적을 구성하여 복잡한 작업을 자동화할 수 있습니다. 예를 들어 코드를 작성하는 어시스턴트나 다국어 상호 작용을 처리하는 지능형 시스템을 구축하는 데 사용할 수 있습니다. 가장 큰 장점은 OpenAI 채팅 완료 API 형식을 지원하는 모든 모델 제공업체와의 호환성과 유연성입니다. 모든 수준의 개발자가 빠르게 시작할 수 있도록 자세한 문서와 샘플 코드가 공식적으로 제공됩니다.

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

 

기능 목록

  • 지능형 바디 커스터마이징언어 모델에 대한 명령, 도구 및 제한을 설정하여 전용 지능형 어시스턴트를 만들 수 있습니다.
  • 작업 전환영어 어시스턴트에서 스페인어 어시스턴트로 전환하는 등 지능 간 원활한 작업 전환을 지원합니다.
  • 안전 인증내장된 입력 및 출력 확인 기능으로 안전하고 신뢰할 수 있는 결과를 보장합니다.
  • 운영 추적스마트 바디의 작동 과정을 자동으로 기록하여 디버깅 및 최적화를 용이하게 합니다.
  • 도구 확장날씨 확인이나 특정 작업과 같은 사용자 지정 도구를 추가할 수 있습니다.
  • 모델 호환성OpenAI API 형식을 준수하는 한 여러 모델 공급자가 지원됩니다.

 

도움말 사용

설치 프로세스

OpenAI 에이전트 SDK를 사용하려면 먼저 Python 환경을 구축해야 합니다. 단계는 다음과 같습니다:

  1. 가상 환경 만들기
    터미널에 다음 명령을 입력하여 다른 프로젝트와의 충돌을 피하기 위해 별도의 Python 환경을 만듭니다:
python -m venv env

그런 다음 환경을 활성화합니다:

  • Windows:env\Scripts\activate
  • Mac/Linux 시스템:source env/bin/activate
  1. SDK 설치하기
    환경을 활성화한 후 다음 명령을 실행하여 SDK를 설치합니다:
pip install openai-agents
  1. API 키 구성
    코드를 실행하기 전에 OpenAI API 키를 설정해야 합니다. 터미널에 입력합니다:
export OPENAI_API_KEY='你的密钥'

또는 환경 변수를 통해 코드에 로드하세요. 키를 안전하게 보관하세요.

위의 단계를 완료하면 도구를 사용할 준비가 된 것입니다.

사용 방법

OpenAI 에이전트 SDK의 핵심은 다음과 같습니다. Agent 노래로 응답 Runner 클래스.Agent 를 사용하여 인텔리전스의 동작을 정의합니다.Runner 실행 및 결과 반환을 담당합니다. 다음은 주요 기능의 작동에 대한 자세한 설명입니다.

1. 기본 지능형 어시스턴트 만들기

빠르게 시작하고 싶으신가요? 프로그래밍에 대해 하이쿠를 쓰는 지적인 몸의 간단한 예시를 사용해 보세요:

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)

절차::

  • 인텔리전스를 만들고 이름과 지침을 설정합니다.
  • 비용 또는 지출 Runner.run_sync 실행을 동기화하고 작업 요구 사항을 입력합니다.
  • 이를 실행하면 "코드 속의 코드, 함수 자체 호출, 무한 루프 댄스"와 같은 내용이 출력됩니다.

2. 작업 전환 활성화

작업 전환은 여러 지능이 협업할 수 있도록 하는 SDK의 기능입니다. 예를 들어 다국어 요청을 처리할 수 있습니다:

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())

절차::

  • 각각 특정 지침이 있는 여러 지능을 정의하세요.
  • 기본 인텔리전스 만들기(triage_agent)를 클릭하고 전환 가능한 인텔리전스를 지정합니다.
  • 비용 또는 지출 Runner.run 비동기적으로 실행하고 스페인어 문제를 입력합니다.
  • 언어에 따라 주 지능체가 전환됩니다. spanish_agent"안녕하세요, 안녕하세요, 안녕하세요?"와 같이 답장을 보내면 "안녕하세요, 안녕하세요, 안녕하세요?"라고 답장할 수 있습니다.

3. 사용자 지정 도구 추가하기

다음을 사용할 수 있습니다. function_tool 인텔리전스가 외부 함수를 호출할 수 있는 도구를 정의합니다. 예를 들어 날씨 확인을 정의할 수 있습니다:

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())

절차::

  • 함수를 정의할 때 @function_tool 장식.
  • 지능형 기관에 도구 추가하기 tools 매개변수.
  • 실행 후 지능형 사회는 도구를 호출하고 "도쿄의 날씨는 맑습니다."라고 반환합니다.

4. 런트래킹 사용

SDK에는 스마트바디가 실행될 때마다 동작의 세부 사항을 기록하는 추적 기능이 내장되어 있습니다. 스마트 바디의 작동에 대한 자세한 내용은 result 실행 중인 프로세스를 보거나 분석을 위해 외부 도구(예: Logfire)와 통합할 수 있는 개체입니다. 추가 설정 없이 기본적으로 작동합니다.

5. 보안 인증 설정하기

보안 유효성 검사(가드레일)는 입력과 출력을 확인할 수 있습니다. 예를 들어, 사용자가 지능적인 신체로 하여금 수학 숙제를 하지 못하도록 방지할 수 있습니다:

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")

절차::

  • 입력을 확인하는 가드 인텔리전스를 정의합니다.
  • 비용 또는 지출 @input_guardrail 가드 함수를 만듭니다.
  • 주요 정보에 경비원을 추가합니다. 입력에 수학 연산이 포함되면 실행이 중단됩니다.

운영 프로세스 세부 정보

  • 지능형 순환: 전화 Runner.run() 이렇게 하면 SDK가 다음 단계를 수행합니다:
    1. 언어 모델을 호출하여 응답을 생성합니다.
    2. 도구 호출 또는 작업 전환을 확인합니다.
    3. 도구 호출을 실행하고 결과를 기록합니다.
    4. 작업 전환이 있는 경우 새 스마트 바디로 이동합니다.
    5. 최종 출력이 생성될 때까지, 또는 max_turns Cap.
  • 출력 유형설정한 경우 output_type를 사용하면 인텔리전스가 지정된 유형의 구조화된 출력을 생성하고, 그렇지 않으면 도구 없이 첫 번째 호출 또는 스위치에 대한 응답이 최종 출력입니다.

사용 권장 사항

  • 테스트 중 구성 요소 조정추적 기능으로 모든 단계를 자세히 확인하여 문제를 빠르게 파악하세요.
  • 최적화미션의 필요에 따라 설정하세요. max_turns를 사용하여 지나친 사이클링을 피하세요.
  • 확장 프로그램공식 참조 examples 폴더에서 더 많은 용도를 살펴보세요.

공식 문서: https://openai.github.io/openai-agents-python/

© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...