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로 대체되어 deprecatedDocument Loaders: 유지보수 부담 높음Key-Value Stores: 사용도 제한적Document Transformers: 틈새 유스 케이스Model Caches: 인프라 우려Graphs: 복잡한 추상화Message Histories: 저장 추상화Callbacks: 시스템 레벨 컴포넌트Chat Loaders: 수요 제한적Adapters: 엣지 케이스 유틸리티
통합 기여 방법
- 패키지 구현: LangChain 통합 구현 방법을 따라 패키지를 만드세요.
- 표준 테스트 통과: 해당하는 경우 LangChain의 표준 테스트 스위트를 지원 구현하고 성공적으로 실행하세요.
- 통합 게시: 통합 게시 방법에 따라 패키지를 게시하세요.
- 통합 등록: 사용자가 패키지를 찾을 수 있도록 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)
- Publish an integration - 통합 게시 전체 과정
- LangChain docs repo - 등록 PR 열기