SoupCola/Agent_Project
요약
RAG, 웹 검색, Manus 프레임워크 및 MCP 프로토콜을 결합한 다중 프로젝트 통합 에이전트 시스템입니다. 로컬 지식 베이스와 웹 검색을 동시에 수행하며, LangGraph를 통해 복잡한 작업을 자율적으로 계획하고 실행할 수 있습니다.
핵심 포인트
- RAG, 웹 검색, MCP 프로토콜을 융합한 지능형 에이전트 구현
- LangGraph 기반의 Manus 프레임워크로 다단계 작업 자동화 지원
- Chroma DB와 Re-ranking 모델을 활용한 고도화된 검색 전략
- MCP를 통한 풍부한 도구 생태계 및 로컬/원격 서비스 통합
이 프로젝트는 RAG(Retrieval-Augmented Generation, 검색 증강 생성), 웹 검색, 작업 계획 및 실행(Manus), 그리고 MCP(Model Coordination Protocol, 모델 조정 프로토콜) 등 여러 최첨단 AI 기술을 깊이 있게 융합한 다중 프로젝트 통합 프로젝트입니다. 프로젝트는 로컬 지식 베이스를 검색하는 동시에 웹 검색을 수행할 수 있으며, 작업 계획 및 실행 프레임워크를 통해 복잡한 작업을 자율적으로 완료할 수 있습니다. 이 모든 과정은 MCP 프로토콜이 지원하는 풍부한 도구 생태계 위에서 구축되었습니다. API 호출을 통해 대규모 언어 모델(LLM)을 사용하여 추론을 수행하며, 동시에 로컬 지식 베이스 검색을 위해 로컬 bce-embedding-base_v1 임베딩(Embedding) 모델과 Chroma 벡터 데이터베이스를 사용하고, 결과 재정렬(Re-ranking)을 위해 ms-marco-MiniLM-L-6-v2 교차 인코더(Cross-encoder) 모델을 채택합니다. 다각도 쿼리 및 추상 쿼리와 같은 고급 검색 전략을 지원하여 검색 정확도와 답변 품질을 향상시킵니다.
실행 설명:
-
langgraph 서비스를 시작할 때는 반드시 프로젝트 루트 디렉토리(Agent_Project)에서 실행해야 합니다.
langgraph dev --port 2025 -
RAG 모듈을 단독으로 실행할 때는 src 디렉토리에서 다음을 통해 실행해야 합니다.
python RAG/rag.py
실행 - 실행 전 모델 파일 경로를 수동으로 준비하고 지정해야 합니다.
가상 환경 생성:
uv venv
가상 환경 활성화:
Windows
.venv\Scripts\activate
macOS/Linux
source .venv/bin/activate
의존성 설치:
uv pip install -r pyproject.toml
프로젝트는 다음 환경 변수를 구성해야 하므로, .env 파일을 생성하고 해당 값을 입력하십시오:
# Bingxing API 설정
BINGXING_API_KEY=your_bingxing_api_key_here
BINGXING_BASE_URL=your_bingxing_base_url_here
...
주의: 프로젝트는 PYTHONPATH를 포함하여 프로젝트 루트 디렉토리의 .env 파일로부터 환경 변수를 자동으로 로드합니다.
이제 특정 디렉토리에서 코드를 실행해야 합니다:
Agent_Learning 디렉토리에서 실행:
langgraph dev --port 2025
RAG 모듈 단독 실행:
# src 디렉토리에서 실행
cd src
python RAG/rag.py
주의: RAG 모듈을 실행할 때는 인코딩 모델과 임베딩(Embedding) 모델의 로컬 경로를 수동으로 지정해야 합니다.
Agent 모듈 - 지능형 에이전트 구현
-
도구 통합 및 호출
-
RAG 및 웹 검색의 지능형 라우팅
RAG 모듈 - 문서 청킹(Chunking) 처리
-
벡터 검색
-
재정렬(Re-ranking) 알고리즘
모델 모듈 - 대규모 언어 모델(LLM) 인터페이스
-
사용자 정의 모델 어댑테이션
도구 모듈 - 검색 도구
-
데이터 처리 도구
-
파일 조작 도구
MCP 모듈 - Model Coordination Protocol 구현
-
로컬 및 원격 도구 서비스 통합
-
시간 조회, 지도 서비스 등의 기능 지원
Manus 모듈 - LangGraph 기반의 다단계 작업 실행 프레임워크
-
계획 수립, 실행 및 보고서 생성
-
복잡한 작업 분해 및 자동화 실행 지원
-
Python 3.11+
-
LangChain 프레임워크
-
LangGraph 워크플로우 엔진
-
OpenAI/GPT 모델
-
ZhipuAI 대규모 모델
-
Chroma 벡터 데이터베이스
-
FastAPI
-
MCP (Model Coordination Protocol)
# 프로젝트 클론
git clone https://github.com/14680426/Agent_Learning.git
cd Agent_Learning
...
# 프로젝트 의존성 설치
uv pip install -r pyproject.toml
.env 파일을 생성하고 API 키를 추가하십시오:
BINGXING_API_KEY=your_bingxing_api_key_here
BINGXING_BASE_URL=your_bingxing_base_url_here
ZHIPUAI_API_KEY=your_zhipuai_api_key_here
...
제공된 스크립트를 사용하여 환경 변수를 초기화하십시오:
Windows:
init_env.cmd
또는 PowerShell:
.\init_env.ps1
macOS/Linux:
chmod +x init_env.sh
./init_env.sh
RAG 또는 Agent를 실행하기 전에 필요한 모델 파일을 먼저 준비해야 합니다. 다음 단계를 수행하십시오:
# src 디렉토리에서 실행
cd src
python RAG/rag.py
실행 과정에서 인코딩 모델과 임베딩(Embedding) 모델의 로컬 경로를 수동으로 지정해야 합니다.
주의: 프로그램이 모델 파일을 자동으로 다운로드하지 않으므로, 관련 모델 파일을 미리 준비하여 지정된 경로에 배치해야 합니다.
프로젝트 디렉토리에 PDF 폴더를 생성하고 PDF 파일을 해당 폴더에 넣으세요:
mkdir -p RAG/Dataset/PDF
# PDF 파일을 RAG/Dataset/PDF 디렉토리에 넣으세요
제공된 스크립트를 사용하여 PDF 문서를 처리하고 벡터 데이터베이스 (Vector Database)에 저장합니다:
python src/RAG/tools/prepare_pdf_chunks.py
langgraph 명령어를 사용하여 개발 서버를 시작합니다:
# 프로젝트 루트 디렉토리에서 실행
langgraph dev --port 2025
src/
├── Agent/ # RAG 및 웹 검색이 통합된 지능형 에이전트 (Agent) 핵심 구현
├── Manus/ # LangGraph 기반의 다단계 작업 실행 프레임워크
...
- PDF, 텍스트 등 다양한 형식의 문서 처리 지원
- 재귀적 청킹 (Recursive Chunking) 및 의미론적 청킹 (Semantic Chunking)
- 다양한 쿼리 전략 (단일 쿼리, 다중 쿼리)
- 로컬 교차 인코더 (Cross-Encoder) 재정렬 (Reranking)
주의: RAG 기능은 인코딩 모델과 임베딩 (Embedding) 모델의 로컬 경로를 미리 다운로드하여 지정해야 정상적으로 작동합니다.
-
웹 검색 능력 통합
-
결과 필터링 및 최적화
-
RAG 결과와의 융합
-
적절한 도구 자동 선택
-
다회차 대화 관리
-
결과 통합 및 최적화
-
RAG와 웹 검색 사용 시점의 지능적 결정
-
로컬 MCP 도구 서비스 지원
-
원격 MCP 도구 서비스 (시간 조회, 지도 서비스 등) 통합
-
통일된 도구 호출 인터페이스 제공
-
에이전트 (Agent) 및 Manus의 능력 범위 확장
자세한 내용은 MCP 모듈 README를 참조하세요.
- LangGraph 기반의 다단계 작업 실행 프레임워크
- 작업 계획 수립, 실행 및 보고서 생성 지원
- 복잡한 작업 분해 및 자동화된 실행 처리 가능
- 다양한 도구 (파일 작업, shell 명령어, MCP 도구 등) 통합
자세한 내용은 Manus 모듈 README를 참조하세요.
사용 전에 다음과 같은 환경 변수 (Environment Variables)를 설정해야 합니다:
OPENAI_API_KEY=your_openai_api_key
ZHIPUAI_API_KEY=your_zhipuai_api_key
본 프로젝트는 MIT 라이선스를 채택하고 있으며, 자세한 내용은 LICENSE 파일을 확인하세요.
질문이나 제안 사항이 있다면 프로젝트 유지 관리자에게 연락해 주세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기