Skip to content

AutoGen

AutoGen is a framework for creating multi-agent AI applications that can act autonomously or work alongside humans.

Features

  • Multi-Agent 대화 프레임워크 : 여러 에이전트간의 자동화된 대화를 통해서 LLM, 도구, 인간을 연동
  • 복잡한 워크플로우를 위한 다양한 대화 패턴 지원 : 정적/동적 대화. 등록된 자동 응답, LLM 기반 함수 호출
  • 구현 예제: 수학 문제 풀이, 멀티 에이전트 코딩, 온라인 의사 결정, Retrieval-Augemented Chat, 동적인 그룹 채팅, 대화형 체스

Ollama Coding Example

from autogen import AssistantAgent, UserProxyAgent

config_list = [
  {
    "model": "codellama",
    "base_url": "http://localhost:11434/v1",
    "api_key": "ollama",
  }
]

assistant = AssistantAgent("assistant", llm_config={"config_list": config_list})

user_proxy = UserProxyAgent("user_proxy", code_execution_config={"work_dir": "coding", "use_docker": False})
user_proxy.initiate_chat(assistant, message="Plot a chart of NVDA and TESLA stock price change YTD.")
  • AssistantAgent는 대화의 주체로서 특정 작업을 수행하기 위해 필요한 지식이나 정보를 제공하는 역할을 합니다. 예를 들어 주식 가격의 변화를 시각화하는 작업을 요청받을 수 있습니다. 이 에이전트는 LLM 구성을 통해 다양한 데이터 소스나 API에서 정보를 추출하고 처리하는 능력을 가집니다.
  • UserProxyAgent는 사용자의 대리인으로서 사용자의 요청이나 명령을 AssistantAgent에 전달하는 역할을 합니다. 또한 AssistantAgent가 제공한 정보나 결과를 사용자에게 전달합니다. 이 에이전트는 코드 실행 구성을 통해 실제 코드를 실행하거나 도커를 사용하여 안전한 환경에서 코드를 실행할 수 있습니다. 사용자의 요청에 따라 AssistantAgent와의 대화를 시작하고 필요한 작업을 수행하기 위해 서로 협력합니다.
    • code_execution_config: 이 매개변수는 코드 실행에 관련된 설정을 담은 딕셔너리입니다. 여기에는 다음과 같은 설정이 포함될 수 있습니다:
      • "work_dir": "coding": 코드 실행을 위한 작업 디렉토리를 지정합니다. 이 예제에서는 "coding"이라는 이름의 디렉토리를 작업 디렉토리로 사용하겠다는 의미입니다. 이 디렉토리는 코드 파일을 저장하거나 실행 결과를 담는 데 사용될 수 있습니다.
      • "use_docker": False: 코드 실행 시 Docker를 사용할지 여부를 지정합니다. False로 설정된 경우 Docker를 사용하지 않고 로컬 환경에서 코드를 직접 실행합니다. Docker를 사용하면 실행 환경을 격리하여 보안과 호환성을 개선할 수 있지만 여기서는 Docker 사용을 비활성화하고 있습니다.

See also

Favorite site