LangChain 통합 기여하기

LangChain 통합 기여하기 (Contributing integrations)

LangChain의 핵심 컴포넌트 중 하나가 바로 통합(Integration)이에요. 통합을 새로 구현하면 LangChain 생태계가 확장되고, 내 서비스가 수백만 명의 개발자에게 발견될 수 있게 돼요. 이 글에서는 통합이 무엇인지, 어떤 컴포넌트를 통합하면 좋은지, 그리고 통합을 기여하는 전체 과정을 정리해 드릴게요.

출처: 공식문서

왜 LangChain 통합을 구현할까

  • 발견성(Discoverability): LangChain은 LLM 애플리케이션을 만드는 데 가장 많이 쓰이는 프레임워크로, 월 다운로드가 2억 건을 넘어요.
  • 상호운용성(Interoperability): LangChain 컴포넌트는 표준 인터페이스를 노출해서 개발자가 쉽게 서로 교체할 수 있어요. 통합을 구현하면 다른 컴포넌트를 쓰는 개발자도 내 것을 쉽게 바꿔 끼울 수 있죠.
  • 모범 사례(Best Practices): 표준 인터페이스를 통해 streaming, async 같은 모범 사례를 장려해서 개발자 경험과 성능을 높여줘요.

통합은 langchain-ai 레포에 PR로 받지 않아요. 모든 새 통합은 독립 패키지로 PyPI에 게시해야 해요(예: langchain-yourprovider). langchain-ai 레포에 여는 PR은 다운로드 표의 YAML 행 등록, 또는 자격 조건을 충족할 때의 호스팅 가이드 등록뿐이에요.

통합할 컴포넌트

권장 ✅:

  • Chat Models: 가장 활발히 쓰이는 컴포넌트
  • Tools/Toolkits: 에이전트 기능 활성화
  • Retrievers: RAG 애플리케이션의 핵심
  • Embedding Models: 벡터 연산의 기반
  • Vector Stores: 시맨틱 검색에 필수
  • Middleware: 훅으로 에이전트 동작 확장
  • Sandboxes: Deep Agents로 코드 안전 실행

권장하지 않음 ❌:

  • LLMs(Text-Completion Models): Chat Models로 대체되어 deprecated
  • Document Loaders: 유지보수 부담 높음
  • Key-Value Stores: 사용도 제한적
  • Document Transformers: 틈새 유스 케이스
  • Model Caches: 인프라 우려
  • Graphs: 복잡한 추상화
  • Message Histories: 저장 추상화
  • Callbacks: 시스템 레벨 컴포넌트
  • Chat Loaders: 수요 제한적
  • Adapters: 엣지 케이스 유틸리티

통합 기여 방법

  1. 패키지 구현: LangChain 통합 구현 방법을 따라 패키지를 만드세요.
  2. 표준 테스트 통과: 해당하는 경우 LangChain의 표준 테스트 스위트를 지원 구현하고 성공적으로 실행하세요.
  3. 통합 게시: 통합 게시 방법에 따라 패키지를 게시하세요.
  4. 통합 등록: 사용자가 패키지를 찾을 수 있도록 LangChain docs repo에 PR을 열어요. 호스팅 가이드는 제한적이며, 대부분의 통합은 YAML로 등록돼요.

등록 작동 방식

  • 기본(월 다운로드 50,000 미만이거나 featured 아님): Integration listing 이슈를 작성해요. 메인테이너가 integration-run을 적용하면 자동화가 scripts/data/integration_external_docs.yaml에 행을 추가하는 PR을 열어요. name 컬럼은 docs_url로 연결되며(파트너 docs 우선, 그다음 GitHub, PyPI/npm), MDX 페이지를 새로 추가하면 안 돼요.
  • 호스팅 가이드(월 다운로드 50,000 이상 또는 메인테이너가 featured): src/oss/python/integrations/<component_type>/ 아래에 템플릿으로 페이지를 만들어요. (Chat models / Tools and toolkits / Middleware / Vector stores)
  • 전체 단계, 자격 조건, 거부 기준은 Publish an integration 문서를 참고하세요.
  • (선택) 공동 마케팅(co-marketing)을 위해 LangChain 팀과 협업할 수 있어요.

더 알아보기 (Learn more)