프로젝트 소개

이 프로젝트는 벽람항로 게임 Wiki를 대상으로 하는 멀티 에이전트 정보 검색 파이프라인으로, AutoGen AgentChat을 사용하여 구축되었습니다. 사용자가 자연어 쿼리를 입력하면 시스템은 SelectorGroupChat 동적 선택기를 통해 여러 에이전트를 조정합니다. summarize_agent는 요구사항을 해석하고 도구 호출 매개변수를 생성하며, search_agent는 외부 도구 get_blhx_wiki_data를 호출하여 벽람해사국 Wiki 데이터를 수집하고, extract_agent는 사용자가 관심 있는 필드를 추출하며, user_proxy는 결과를 자동으로 검토합니다. 검토가 통과되지 않으면 프로세스는 extract_agent로 돌아가 다시 추출하고, 통과하면 Terminated를 출력하여 작업을 종료합니다. 시스템은 이중 종료 보호 기능을 갖추고 있습니다. TextMentionTermination은 정상 종료 마커를 감지하고, max_turns=3은 최대 대화 턴 수를 제한하여 에이전트의 무한 루프를 방지합니다. 이 프로젝트는 Function Calling을 통한 Wiki 크롤러 도구 통합을 지원하며, 사람의 개입 없이 완전 자동으로 실행됩니다. 또한 이벤트 스트림을 통해 대화 메시지를 수집하고 마지막 턴의 추출 결과를 자동으로 출력합니다. 실행 환경은 Python 3.13.15 이상이 필요합니다. 사용 전에 저장소를 클론하고 가상 환경을 생성한 후 의존성을 설치하고, .env 파일에 MODEL_NAME, LLM_BASE_URL, LLM_API_KEY를 설정해야 합니다. 시작 방법은 src 디렉터리로 이동한 후 python azurelane_search_agent.py를 실행하는 것입니다. README에는 쿼리 예시가 제공되어 있습니다. 예를 들어 "시나노의 천장 횟수는 몇 번인가요?"라고 물으면 시스템은 이벤트 풀 누적 건조 횟수, 교환 가능 횟수 등 구조화된 정보를 반환합니다.