검색
검색
공개 노트 검색
회원가입로그인

AutoGen 소개

AutoGen 소개

Getting Started | AutoGen

해당 내용은 위 AutoGen Documentation에 기반한 소개입니다.

AutoGen은 Microsoft에서 개발한 여러 에이전트가 서로 대화하며 작업을 해결할 수 있게 해주는 LLM 애플리케이션 개발 프레임워크입니다. 에이전트는 커스터마이징 가능하고, 대화 가능하며, 인간 참여를 원활하게 지원합니다. LLM, 인간 입력, 도구를 조합하여 다양한 모드로 작동할 수 있습니다.

AutoGen 소개 image 1

주요 기능

Agent 커스터마이징

AutoGen은 에이전트를 광범위하게 커스터마이징할 수 있어 특정 작업에 최적화할 수 있습니다. 이를 통해 LLM 모델의 성능을 극대화하고, 모델의 약점을 보완할 수 있습니다.

유연한 대화 패턴

이 프레임워크는 복잡한 워크플로우를 위한 다양한 대화 패턴을 지원합니다. AutoGen을 사용하면 계층적 채팅, 공동 채팅 등 다양한 대화 패턴을 설계할 수 있어 고급 AI 상호작용에 필요한 유연성을 제공합니다.

다중 에이전트 대화

AutoGen은 다중 에이전트 대화를 조율하는 데 탁월합니다. 이를 통해 복잡한 작업을 여러 에이전트가 협력하여 해결할 수 있으며, 인간의 피드백을 반영한 자동화도 가능합니다.

예시

사용자-Agent 대화

  • Code

  • 사용자(user_proxy), Agent(assistant)

from autogen import AssistantAgent, UserProxyAgent

llm_config = {"model": "gpt-4", "api_key": os.environ["OPENAI_API_KEY"]}
assistant = AssistantAgent("assistant", llm_config=llm_config)
user_proxy = UserProxyAgent("user_proxy", code_execution_config=False)

# Start the chat
user_proxy.initiate_chat(
    assistant,
    message="Tell me a joke.",
)
  • Output

AutoGen 소개 image 2

농담을 해달라고 요청해봤더니 위와 같이 출력해줍니다. 하나 더 출력해달라고 요청하니 허수아비가 상을 받은 이유가 해당 분야에서 탁월하기 때문이라는 농담을 줍니다:) 해당 코드는 일반적인 챗봇 형식입니다.

Agent-Agent 대화

  • Code

  • Cathy, Joe Agent를 각각 만들어 두 Agent가 서로 대화하도록 만든 코드입니다.

  • 각각의 모델 설정을 해줄 수 있습니다.

  • human_input_mode=”Never” 을 통해 사람의 입력없이 Agent가 서로 대화할 수 있습니다.

import os
from autogen import ConversableAgent

cathy = ConversableAgent(
    "cathy",
    system_message="Your name is Cathy and you are a part of a duo of comedians.",
    llm_config={"config_list": [{"model": "gpt-4", "temperature": 0.9, "api_key": os.environ.get("OPENAI_API_KEY")}]},
    human_input_mode="NEVER",  # Never ask for human input.
)

joe = ConversableAgent(
    "joe",
    system_message="Your name is Joe and you are a part of a duo of comedians.",
    llm_config={"config_list": [{"model": "gpt-4", "temperature": 0.7, "api_key": os.environ.get("OPENAI_API_KEY")}]},
    human_input_mode="NEVER",  # Never ask for human input.
)

result = joe.initiate_chat(cathy, message="Cathy, tell me a joke.", max_turns=2)
  • Output

image

입력을 따로 작성하지 않고도 두 Agent가 서로 대화를 나눕니다. initiate_chat의 max_turns=2 로 인해 대화를 주고 받는 횟수가 2번으로 제한됩니다.

Summary

  • AutoGen은 LLM 애플리케이션 개발 프레임워크로, 여러 에이전트가 대화하며 작업을 해결할 수 있게 해줍니다.

  • Agent는 커스터마이징 가능하고, 대화 가능하며, 인간 참여를 원활하게 지원합니다.

  • Agent 커스터마이징 기능으로 특정 작업에 최적화할 수 있고, 대화 패턴 지원으로 복잡한 워크플로우를 위한 다양한 대화 패턴을 지원합니다.

  • 다중 에이전트 대화를 조율하는 데 탁월하며, 복잡한 작업을 여러 에이전트가 협력하여 해결할 수 있고, 인간의 피드백을 반영한 자동화도 가능합니다.

  • 저도 많이 사용해보지 못했지만 재미있는 기능들이 많아 보입니다. 관심있으신 분들은 사용해보면 좋을 것 같습니다:)

조회수 : 75
heart
공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
T
페이지 기반 대답
AI Chat