본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 06. 10. 00:48

Intelligent-Internet/ii-researcher: BAML 함수를 활용한 지능형 웹 검색 및 답변 생성 에이전트

요약

본 기사는 BAML 함수를 활용하여 지능적인 웹 검색과 포괄적인 답변 생성을 수행하는 딥 검색 에이전트 'II-Researcher'에 대해 소개합니다. 이 에이전트는 Tavily, SerpAPI 등 다양한 검색 제공업체를 사용하며, 다단계 추론 및 반성(Reflection) 기능을 통해 높은 정확도를 보여줍니다. 개발을 위해서는 Python, Docker, Node.js 환경 설정과 API 키 관리가 필요합니다.

핵심 포인트

  • BAML 함수 기반의 지능형 웹 검색 에이전트 구현
  • 다양한 검색 제공업체와 웹 스크래핑 기술 통합
  • 다단계 추론 및 반성(Reflection)을 통한 답변 정확도 향상
  • 개발 환경 구축 시 Python, Docker 등 필수 요구사항 확인

BAML 함수를 사용하여 지능적인 웹 검색을 수행하고 질문에 대한 포괄적인 답변을 생성하는 강력한 딥 검색 에이전트입니다.

프로젝트에 대한 더 자세한 내용은 블로그 게시물을 방문해 주십시오.

저희는 Google의 Frames 데이터셋에서 DeepSeek-R1-0528 모델을 사용하여 벤치마킹했으며, II-Researcher는 84.12%의 정확도를 달성했습니다.

image

  • 🔍 Tavily 및 SerpAPI 검색 제공업체를 사용한 지능형 웹 검색
  • 🕸️ 여러 제공업체(Firecrawl, Browser, BS4, Tavily)를 사용한 웹 스크래핑 및 콘텐츠 추출
  • 🧠 다단계 추론 및 반성 (Reflection)
  • ⚙️ 다양한 작업을 위한 구성 가능한 LLM 모델
  • ⚡ 성능 향상을 위한 비동기 작업 처리(Asynchronous operation)
  • 📝 참고 자료가 포함된 포괄적인 답변 생성
  • 🛠️ 심층 검색을 위한 사용자 정의 파이프라인 및 추론 방법 지원

II-Researcher.Demo_.Reasoning.Question.2.mp4

II.Researcher.MCP.Demo.mp4

  • Python 3.7+ (로컬 개발 필수)
  • Docker 및 Docker Compose (컨테이너 배포 필수)
  • Node.js 및 npm (로컬 프론트엔드 개발 필수)

pip install ii-researcher

git clone https://github.com/Intelligent-Internet/ii-researcher.git
cd ii-researcher

pip install -e .

# API Keys
export OPENAI_API_KEY="your-openai-api-key"
export TAVILY_API_KEY="your-tavily-api-key" # SEARCH_PROVIDER가 tavily인 경우 이 api key 설정
...

LLM을 사용하여 압축할 때 환경 변수 설정 (선택 사항: 더 나은 압축 성능을 위해)

export USE_LLM_COMPRESSOR="TRUE"
export FAST_LLM="gemini-lite" # 컨텍스트 압축에 사용되는 모델

Pipeline으로 실행할 때 환경 변수 설정:

# Model Configuration
export STRATEGIC_LLM="gpt-4o" # 다음 액션을 선택하는 데 사용되는 모델
export SMART_LLM="gpt-4o" # 파이프라인의 다른 작업에 사용되는 모델

Reasoning으로 실행할 때 환경 변수 설정:

export R_MODEL=r1 # 추론에 사용되는 모델
export R_TEMPERATURE=0.2 # 추론 모델용 온도 설정
export R_REPORT_MODEL=gpt-4o # 보고서 작성에 사용되는 모델
...

LiteLLM 서버는 기본적으로 http://localhost:4000에서 실행됩니다.

cat > litellm_config.yaml << EOL
model_list:
- model_name: text-embedding-3-large
...

질문과 함께 심층 검색 에이전트를 실행하세요:

python ii_researcher/cli.py --question "여기에 질문을 입력하세요" --stream

참고: 레거시 파이프라인 모드는 legacy/ii_researcher_pipeline 브랜치에서 여전히 사용할 수 있지만, 사용이 더 이상 권장되지 않습니다.

  • 환경 변수 설정하기

  • .env.example 파일을 복사하여 .env라는 새 파일을 만드세요.
    cp .env.example .env

  • .env 파일을 편집하고 API 키를 추가하며 다른 설정을 구성하세요:

  • Claude와 통합하기: 다음을 사용하여 MCP 서버를 Claude에 통합할 수 있습니다: [Claude Desktop Integration]

  • mcp를 Claude에 설치

mcp install mcp/server.py -f .env

  • Claude 앱 다시 시작

  • 백엔드 API 설치 및 실행 (프론트엔드 서비스의 경우):

# API 서버 시작
python api.py

API 서버는 http://localhost:8000에서 실행됩니다.

  • 프론트엔드 환경 설정

다음 내용으로 프론트엔드 디렉터리에 .env 파일을 만드세요:

NEXT_PUBLIC_API_URL=http://localhost:8000
  • 프론트엔드 설치 및 실행:
# frontend 디렉터리로 이동
cd frontend
# 의존성 설치
...

프론트엔드는 http://localhost:3000에서 사용할 수 있습니다.

  • 중요: 진행하기 전에 3단계의 모든 환경 변수를 설정했는지 확인하세요. -
    Docker Compose를 사용하여 서비스 시작:
# 모든 서비스 빌드 및 시작
docker compose up --build -d

다음 서비스들이 시작됩니다:

  • frontend: Next.js 프론트엔드 애플리케이션
  • api: FastAPI 백엔드 서비스
  • litellm: LiteLLM 프록시 서버

서비스는 다음에서 사용할 수 있습니다:

# 모든 로그 보기
docker compose logs -f
# 특정 서비스 로그 보기
...
  • 서비스 중지:

서비스 중지:

docker compose down

SGLang을 사용하여 Qwen/QwQ-32B 모델을 실행하려면 다음 명령어를 사용하세요:

python3 -m sglang.launch_server --model-path Qwen/QwQ-32B --host 0.0.0.0 --port 30000 --tp 8 --context-length 131072

II-Researcher는 오픈 소스 커뮤니티의 지원을 받아 영감을 얻고 구축되었습니다:

LiteLLM – 효율적인 AI 모델 통합에 사용됨.
node-DeepResearch – 프롬프트 영감
gpt-researcher - 프롬프트 영감, 웹 스크래퍼 도구
baml - 구조화된 출력

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0