langchain4j

LLM FrameworksDevOpsJava

★ 13,077주당 +46조회 6

무엇인가

LangChain4j는 JVM에서 LLM 기반 애플리케이션을 만드는 Java 라이브러리다. Python·JavaScript 진영의 LLM 라이브러리가 차지하던 자리를 Java 쪽에서 담당한다. 이름과 달리 Python LangChain을 Java로 옮긴 포트가 아니라 Java 관례에 맞춰 처음부터 새로 설계한 라이브러리이며, 2023년 초부터 개발됐다.

어떻게 동작하나

채팅 모델과 임베딩(벡터) 스토어 각각에 공통 인터페이스를 두고, 제공자별 구현체를 그 뒤에 끼우는 구조다. 그 위에 프롬프트 템플릿, 채팅 메모리 관리, 함수(툴) 호출, 에이전트, RAG 파이프라인 같은 추상화가 층으로 쌓인다. 툴 호출에는 MCP 지원이 포함된다. RAG는 데이터 수집부터 검색까지 이어지는 파이프라인으로 구성한다. 각 추상화마다 인터페이스 하나와 여러 개의 즉시 사용 가능한 구현체가 짝을 이룬다.

무엇과 다른가

제공자 SDK를 직접 쓰면 제공자마다 API가 다르고 모델이나 스토어를 바꿀 때 코드를 고쳐야 한다. LangChain4j는 그 위에 단일 API를 놓아 교체 지점을 한 곳으로 모은다. Python LangChain과는 API, 내부 구조, 릴리스 주기가 독립적이다. Java의 타입 안전성, POJO, 애노테이션, 인터페이스, 의존성 주입, 플루언트 API를 전제로 설계됐다.

어떻게 쓰나

Java 프로젝트에 의존성으로 추가해 쓴다. Quarkus는 quarkus-langchain4j, Helidon은 io.helidon.integrations.langchain4j, Micronaut은 micronaut-langchain4j를 쓰며 Spring Boot 연동도 있다. 순수 Java 예제와 각 프레임워크별 예제가 langchain4j-examples 저장소에 있고, 문서는 docs.langchain4j.dev에 있다.

전제와 한계

라이브러리는 활발히 개발 중이라 일부 기능은 아직 작업 중이고 핵심 기능은 사용할 수 있는 상태다. JVM에서 실행되는 Java 프로젝트를 전제로 한다. 어떤 LLM 제공자와 임베딩 스토어를 쓸 수 있는지는 제공자별 구현체에 따라 다르다. 문서 챗봇은 실험 단계다.

관련 논문 5

유사 도구