Qwen Agent
Qwen-Agent는 Alibaba의 Qwen 모델을 기반으로한 AI 에이전트 프레임워크다. 지시 이행(Instruction Following), 도구 사용(Tool Usage), 계획(Planning), 메모리(Memory) 능력을 활용하여 LLM 애플리케이션을 개발할 수 있도록 설계되었다.
주요 기능
도구 호출 (Tool Calling)
- 병렬 도구 호출, 다단계(Multi-step) 및 다회차(Multi-turn) 함수 호출 지원
- 모델이 기본 함수 호출을 지원하지 않더라도 프레임워크 수준에서 파싱 로직 제공
고성능 RAG
- 하이브리드 RAG와 에이전트 기반 분해 기법
- 100만 토큰 이상의 방대한 문서 처리 가능
코드 인터프리터
- 샌드박스 환경(Docker 지원)에서 Python 코드 생성 및 실행
- 데이터 분석, 복잡한 계산 수행
MCP 지원
- Model Context Protocol 통합으로 외부 서비스 및 도구와 연동
다양한 모델 지원
- Qwen 시리즈 (Qwen2.5, QwQ, Qwen-VL)
- OpenAI 호환 API, vLLM, Ollama 등 로컬 배포 모델
아키텍처
계층형 모듈화 설계
| 레이어 | 설명 |
|---|---|
| LLM 레이어 | 모델 통신 담당, 추론 및 도구 사용 로직 핵심 |
| 도구 레이어 | 웹 검색, 이미지 생성, 계산기 등 개별 기능 단위 |
| 에이전트 레이어 | LLM과 도구, 메모리 간 상호작용 루프 관리 |
| UI 레이어 | Gradio 기반 웹 데모 기능 |
코드 구조
qwen_agent/
├── agents/ # 에이전트의 페르소나와 작업 흐름 정의
├── llm/ # DashScope, OpenAI, vLLM 등 모델 인터페이스
├── tools/ # 내장 도구 및 커스텀 도구 기본 클래스
├── memory/ # 대화 맥락 및 장기 기억 관리
├── gui/ # Gradio 기반 인터페이스
└── examples/ # 활용 사례 및 MCP 연동 Cookbook
핵심 컴포넌트
- Assistant: 범용 에이전트, 다회차 대화와 도구 사용 최적화
- FnCallAgent: 함수 호출에 특화된 에이전트
- CodeInterpreter: Python 코드 작성 및 실행
- BrowserQwen: 웹 서핑 및 정보 요약 에이전트
사용법
설치
pip install -U "qwen-agent[gui,rag,code_interpreter,mcp]"기본 예제
from qwen_agent.agents import Assistant
from qwen_agent.gui import WebUI
agent = Assistant(
llm={'model': 'qwen-max', 'api_key': 'YOUR_API_KEY'},
name='MyHelper',
description='도움이 되는 비서입니다.',
function_list=['code_interpreter', 'web_search']
)
WebUI(agent).run()