ようこそ!
LangChain4j の目標は、Java アプリケーションへの LLM の統合を簡素化することです。
その方法は以下の通りです:
- 統一的な API: LLM プロバイダー(OpenAI や Google Vertex AI など)とエンベディング(ベクトル)ストア(Pinecone や Milvus など)は独自の API を使用しています。LangChain4j は、各プロバイダーの特定の API を学習して実装する必要を避けるための統一的な API を提供します。 異なる LLM またはエンベディングストアを試すために、コードを書き直すことなく、それらを簡単に切り替えることができます。 LangChain4j は現在、20 以上の人気のある LLM プロバイダーと 30 以上のエンベディングストアをサポートしています。
- 包括的なツールボックス: 2023 年初頭から、コミュニティは多くの LLM 搭載アプリケーションを構築しており、共通の抽象化、パターン、およびテクニックを特定しています。LangChain4j はこれらを実践的なコードに洗練しました。 当社のツールボックスには、低レベルのプロンプトテンプレート化、チャットメモリ管理、および関数呼び出しから、 Agent や RAG などの高レベルパターンまで、様々なツールが含まれています。 各抽象化について、インターフェースと、一般的なテクニックに基づいた複数の使用可能な実装を提供しています。 チャットボットを構築するか、データ取得から検索まで完全なパイプラインを使用して RAG を開発するかに関わらず、 LangChain4j は多くの選択肢を提供します。
- 多数の例: これらの例は、様々な LLM 搭載アプリケーションの構築を始める方法を示し、 インスピレーションを提供し、素早い構築を開始できるようにします。
LangChain4j は 2023 年初頭の ChatGPT ブームの中で開発を始めました。 多数の Python および JavaScript LLM ライブラリおよびフレームワークに対する Java の対応物の欠如に気づき、それを修正する必要がありました。
名前にかかわらず、LangChain4j は LangChain(Python)の Java ポートではなく、Java 向けに構築されており、ポートされたものではありません。 これは Java の規約(type safety、POJO、annotations、interfaces、dependency injection、fluent API、および Quarkus、Spring Boot、Helidon、および Micronaut との一流の統合)に基づいてゼロから設計された慣用的な Java ライブラリです。 その API、内部、およびリリースサイクルは Python LangChain プロジェクトから独立しています。
当社はコミュニティの開発を積極的に監視し、新しいテクニックと統合をすばやく組み込むことを目指し、最新の状態を保つことを保証します。 ライブラリは積極的に開発中です。一部の機能はまだ開発中ですが、 コア機能は実装されているため、LLM 搭載アプリケーションの構築をいますぐ開始できます。
ドキュメントはこちらにあります。
ドキュメンテーション チャットボット(実験的)はこちらにあります。
始めるためのガイドはこちらにあります。
LangChain4j の使用方法の例は、langchain4j-examples リポジトリに記載されています。
- プレーン Java での例
- Quarkus での例 (quarkus-langchain4j 依存関係を使用)
- Spring Boot での例
- Helidon での例 (io.helidon.integrations.langchain4j 依存関係を使用)
- Micronaut での例 (micronaut-langchain4j 依存関係を使用)
有用な資料はこちらに記載されています。
Discord または GitHub discussions を使用してヘルプを取得してください。
必要な機能を問題を開くことで教えてください。
貢献ガイドラインはこちらに記載されています。