AX Flow SDK 명세서 v2.0 · 통합 파트너 검토용 — 정식 스키마는 /docs Swagger UI를 단일 기준으로 사용합니다.
Modes
모드 개요

11.1 모드 (A) MCP 서브에이전트 — 1순위, 호스트 LLM 통합

  • 준비 — 호스트 LLM의 도구 카탈로그에 retriever (필수) + 보조 도구 5군 (인입·운영·그래프·엔티티·섹션) 등록
  • 호출 — 10.3 Python MCP 예시 그대로
  • 권한 — OAuth Client Credentials Grant의 access_token claims (사용자 식별자 / scope)가 RBAC 키로 매핑. 사용자 디렉터리 별도 동기화 불필요 (2.3)
  • 시간 예산 — 호스트 앱 1포인트 통합. AX Flow 측 테넌트 셋업·토큰 발급·인입 활성화. 예상 일정 별도 협의

11.2 모드 (B) REST API — 백엔드 직접 호출

# 토큰은 10.2의 ACCESS_TOKEN 발급 절차 재사용
curl -X POST https://<host>/mcpapi/rag/retriever \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query":"...", "mode":"smart", "top_k":10}'
  • 언제 쓰나 — 다양한 백엔드 / 호스트 LLM 비종속 / 단일 진입점 표준화 선호 시
  • 유의 — 23개 도구의 정식 REST 매핑은 3.1. 페이지네이션 / Rate Limit 한도는 PoC 단계 별도 협의

11.3 모드 (C) Python SDK — 인프라 내장

from axflow import AXFlowClient
client = AXFlowClient(
    server="https://<host>",
    client_id="host-agent",
    client_secret="<client-secret>",
    scope="rag:read rag:write",
)
# SDK 가 내부에서 /api/v1/user/auth/token 호출 + access_token 갱신을 자동 처리
job = client.ingest.upload("/path/to/contract.pdf", labels=["contract"])
client.ingest.wait(job.id)
result = client.search.retriever(query="...", mode="deep", top_k=10)
print(result.content, result.score, result.latency)
  • 언제 쓰나 — 호스트 인프라 안에서 외부 호출 없이 운영, GPU 노드 / Docker 패키지 배포
  • 유의 — 패키지 구조 / 메서드 시그니처는 4의 초안 — 출고 SDK 버전 확정 시 동기화

11.4 모드 (D) SaaS 사이드카 — 1주 내 PoC

  • 준비 — 도메인 등록 + client_id / client_secret 발급
  • 호출 — 11.2 REST와 동일 인터페이스 (OAuth Client Credentials Grant)
  • 언제 쓰나 — 보안 검토 전 빠른 PoC. 이후 (A) 또는 (B)로 무중단 전환 가능 (인입 데이터·그래프 보존)
  • 유의 — SLA 5종은 별도 협의. 종료/철수 절차는 5.6