제8장. LangChain4j
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
의 이전 장에서는 AI 모델을 추론 모델 API로 활용하는 방법을 소개했습니다. 이 접근 방식은 간단한 문제에는 효과적이지만, AI를 많이 활용하는 복잡한 솔루션을 개발할 때는 단순한 요청/응답 이상의 기능이 필요합니다.
이 장에서는 메모리나 데이터 증강과 같은 고급 기능을 제공하여 Java 애플리케이션에 AI/LLM 기능을 통합하는 것을 단순화하는 프레임워크인 LangChain4j를 소개합니다. 순수 Java를 사용한 예제와 Quarkus 및 Spring Boot와의 통합을 다루어 다양한 Java 프로젝트에서 LangChain4j를 활용하는 전체적인 그림을 파악할 수 있도록 하겠습니다.
이 장에서는 prompt, 메모리, 데이터 증강, 이미지 처리 등을 활용하여 LangChain4j를 기초부터 고급 시나리오까지 학습합니다. RAG(검색-추론-추출)는 다음 장에서 다룰 예정입니다.
LangChain4j란 무엇인가?
LangChain4j는 인기 있는 Python LangChain 프레임워크에서 영감을 받은 Java 구현체입니다( ). 개발자가 LLMs과 통합되는 애플리케이션을 구축하는 데 도움을 줍니다. LangChain4j는 NLP, 텍스트 생성, 질문-답변 등의 기능을 가능하게 하여 LLMs을 Java 기반 애플리케이션에 통합하는 작업을 단순화하는 도구와 추상화를 제공합니다.
LangChain 프레임워크와 마찬가지로 LangChain4j는 LLMs과 통합되는 애플리케이션 개발을 단순화하는 기능을 제공합니다. 이제 LangChain4j의 주요 기능 몇 가지를 살펴보겠습니다.
통합 API
LLMs 은 접근을 위한 다양한 API를 제공합니다. 예를 들어, OpenAI ChatGPT 모델에 접근하는 API는 Hugging Face 모델이나 Jlama, Llama 3 같은 프로젝트를 통해 JVM에 임베디드된 모델에 접근하는 API와 다를 수 있습니다. pgvector나 Chroma 같은 임베딩 모델이나 벡터 저장소도 서버와 통신하기 위해 독점 프로토콜을 사용하므로 마찬가지입니다.
LangChain4j는 통합 API를 제공하므로 코드를 재작성하지 않고도(또는 최소한의 변경만으로) 모델 간 전환이 용이합니다. 이는 잘 알려진 Java Persistence API(JPA)와 유사하지만 데이터베이스 대신 모델 추상화를 위한 것입니다.
의 언어 모델 측면에서 LangChain4j는 Anthropic, Google AI Gemini, Hugging Face, OpenAI, Jlama, Mistral AI, Ollama, Qwen 등 15개 이상의 모델과 통합을 제공합니다.
그림 8-1은 Java 애플리케이션, LangChain4j 및 모델 간의 관계를 보여줍니다.
그림 8-1. 언어 모델 추상화 계층
LangChain4j 호환성을 위해 지원되는 모든 모델은 ` dev.langchain4j.model.chat.ChatLanguageModel ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access