Autogen은 간단한 질문 응답 시스템을 넘어서 정교한 다중 에이전트 챗봇 개발에 힘을 실어줍니다. 이 기사는 Autogen이 순차 및 중첩 채팅과 같은 고급 대화 패턴을 용이하게하는 방법을 자세히 설명하여 복잡한 워크 플로우에 대한 역동적이고 다중 참가자 상호 작용을 가능하게합니다. 우리는 이전에 두 개의 에이전트 챗봇을 탐구했습니다. 이것은 그 기초를 확장합니다.
목차
다중 에이전트 챗봇이란 무엇입니까?
다중 에이전트 챗봇은 복잡한 작업이나 대화를 처리하기 위해 협력하여 협력하는 여러 전문 AI 에이전트를 활용합니다. 각 에이전트는 특정 영역에 대한 전문 지식을 보유하고 있습니다 (예 : 질문 응답, 추천 생성, 데이터 분석). 이 노동 분업은보다 정확하고 효율적인 반응을 초래합니다. 여러 에이전트의 조정 된 노력은 단일 에이전트 시스템보다 풍부하고 미묘한 상호 작용을 제공하여 고객 서비스, 전자 상거래 및 교육의 복잡한 시나리오에 적합합니다.
Autogen의 대화 패턴
Autogen은 다중 에이전트 상호 작용을 관리하기위한 몇 가지 대화 패턴을 제공합니다.
이 기사는 순차적 채팅 구현에 중점을 둡니다.
순차적 채팅 이해
순차적 채팅에는 두 가지 에이전트 대화의 체인이 포함됩니다. 한 채팅의 요약은 후속 채팅의 컨텍스트가됩니다.
다이어그램은 채팅 시퀀스를 보여줍니다. 이 접근법은 작업이 상호 의존적 인 하위 작업으로 나눌 수있는 경우에 유용하며, 각각의 특수 에이전트가 가장 잘 처리합니다.
전제 조건
Autogen 에이전트를 구축하기 전에 필요한 LLM API 키를 얻고 웹 검색을 위해 Tavily를 설정하십시오. API 키를 .env
파일에로드하십시오. LLM 구성 정의 :
config_list = { "config_list": [{ "모델": "gpt-4o-mini", "온도": 0.2}] }
autogen-agentchat
(버전 0.2.37 이상)을 설치하십시오.
구현
이 예제는 NVIDIA와 Apple을 예제로 사용하여 주식 분석 시스템을 만듭니다.
작업 정의
Financial_tasks = [ "" "NVDA 및 AAPL의 현재 주가는 얼마이며 지난 달의 성능은 비율 변화 측면에서 어떻게됩니까?" ", "" "시장 뉴스를 활용하는 주식 성능에 대한 가능한 이유를 조사합니다." ", ]] Writing_tasks = [ "" "제공된 정보를 사용하여 매력적인 블로그 게시물을 개발합니다." ""]
에이전트 정의
autogen을 가져옵니다 Financial_assistant = Autogen.assistantAgent (이름 = "Financial_assistant", llm_config = config_list) Research_Assistant = autogen.assistantagent (이름 = "연구원", llm_config = config_list) writer = autogen.assistantagent (name = "writer", llm_config = config_list, system_message = "" " 귀하는 통찰력 있고 매력적인 기사로 유명한 전문 작가입니다. 당신은 복잡한 개념을 매력적인 이야기로 변형시킵니다. 모든 것이 끝나면 결국 "종료"에 응답하십시오. "" ") user_proxy_auto = autogen.userProxyAgent (name = "user_proxy_auto", human_input_mode = "Always", is_termination_msg = lambda x : x.get ( "content", "") .rstrip (). endswith ( "종료"), code_execution_config = { "work_dir": "tasks", "use_docker": false}) user_proxy = autogen.userproxyagent (name = "user_proxy", human_input_mode = "항상", is_termination_msg = lambda x : x.get ( "content", "") .rstrip (). endswith ( "종료"), code_execution_config = false)
user_proxy_auto
코드 실행을 처리합니다 (코드 검토를 위해 human_input_mode="ALWAYS"
). user_proxy
작가 에이전트와 상호 작용합니다.
예제 대화
chat_results = autogen.initiate_chats ([[ { "sender": user_proxy_auto, "수신자": Financial_assistant, "Messag { "sender": user_proxy_auto, "수신자": Research_Assistant, "Message": Financial_tasks [1], "Summary_Method": "reflection_with_llm"}, { "sender": user_proxy, "수신자": Writer, "Message": Writing_tasks [0]} ])))
결과 분석
chat_results
변수에는 각 에이전트의 대화 기록이 포함되어 있습니다. 예제는 작가 에이전트의 출력을 보여줍니다.
결론
Autogen의 순차적 채팅 패턴을 통해 복잡한 작업 및 대화를 처리 할 수있는 정교한 다중 에이전트 챗봇을 만들 수 있습니다. 이 접근법은 협업 AI 에이전트가 필요한 다양한 응용 프로그램에 매우 유익합니다.
자주 묻는 질문
Q1. 다중 에이전트 챗봇이란 무엇이며 어떻게 작동합니까? 다중 에이전트 챗봇은 여러 전문 에이전트를 활용하여 작업을 나누어 복잡한 대화를 공동으로 관리합니다.
Q2. Autogen은 어떤 대화 패턴을 지원합니까? Autogen은 효율적인 다중 에이전트 조정을 위해 순차적, 그룹 및 중첩 채팅 패턴을 지원합니다.
Q3. Autogen에서 순차적 채팅은 어떻게 작동합니까? 순차적 채팅 체인 각 채팅의 요약을 다음에 컨텍스트로 사용하여 2 에이전트 대화를 체인합니다.
Q4. Autogen의 다중 에이전트 패턴의 실제 적용은 무엇입니까? 이러한 패턴은 고객 서비스, 금융, 전자 상거래 및 복잡한 적응 형 챗봇 상호 작용이 필요한 기타 분야에서 가치가 있습니다.
위 내용은 Autogen을 사용하여 멀티 에이전트 챗봇 구축에 대한 실습 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!