haystack

LLM FrameworksCLIPython

★ 26,491주당 +62조회 5

무엇인가

Haystack은 Python으로 LLM 애플리케이션을 만드는 오케스트레이션 프레임워크다. 모델 호출 앞뒤에서 일어나는 검색, 순위화, 필터링, 결합, 구조화, 라우팅을 개발자가 직접 정의하는 계층에 해당한다. RAG, 시맨틱 검색, 질의응답, 멀티모달 애플리케이션, 대화형 시스템, 자율 에이전트를 같은 구조 위에서 구성한다.

어떻게 동작하나

중심 구성 요소는 Pipeline과 Agent다. Pipeline은 컴포넌트를 노드로, 컴포넌트 사이 연결을 입출력 소켓으로 표현하는 그래프이며 루프·분기·조건 로직을 포함할 수 있다. 같은 Pipeline 객체가 동기 또는 비동기로 실행되고 토큰 단위 스트리밍을 지원한다. Agent는 도구 호출을 동시에 실행하고 before_llm, before_tool, on_exit 같은 라이프사이클 훅으로 가드레일과 사용자 로직을 끼워 넣는다. step_count, token_usage, 도구 호출 기록이 기본으로 수집된다. SkillToolset은 스킬 설명이 필요할 때만 컨텍스트에 들어가게 한다.

무엇과 다른가

검색·프롬프트·호출을 스크립트로 이어 붙이거나 단일 벤더 SDK에 묶는 방식과 달리, 검색·인덱싱·도구 호출·메모리·평가용 컴포넌트가 내장되고 동일한 인터페이스로 직접 만든 컴포넌트를 추가할 수 있다. 모델과 인프라는 OpenAI, Mistral, Anthropic, Cohere, Hugging Face, Google, Azure OpenAI, AWS Bedrock, 로컬 모델을 교체 가능한 부품으로 다룬다. 파이프라인과 에이전트 워크플로의 각 단계가 추적 가능한 형태로 남는다.

어떻게 쓰나

설치는 pip install haystack-ai 한 줄이다. nightly 사전 릴리스와 Docker 이미지도 제공된다. 문서의 Get Started Guide와 튜토리얼로 첫 애플리케이션을 만들고 Cookbook의 레시피에서 고급 사용 예를 참고한다. 파이프라인과 에이전트를 HTTP로 노출하려면 Hayhooks로 감싸 REST API 또는 MCP 서버로 제공한다. OpenAI 호환 chat completion 엔드포인트를 지원하므로 open-webui 같은 채팅 UI에 연결할 수 있다.

전제와 한계

Python 프로젝트에서만 쓴다. 컴포넌트가 초기화될 때마다 익명 사용 통계가 전송되며 옵트아웃할 수 있다. 통합 컴포넌트는 haystack-core-integrations 저장소에서 별도로 관리된다. 엔터프라이즈 템플릿, 배포 가이드, 관측성·거버넌스 기능은 Haystack Enterprise 제품군으로 제공된다.

관련 논문 5

유사 도구