介绍

LangChain4j项目的目标是简化将大型语言模型的交互,集成到Java应用程序中

使用方法如下:

  1. 统一 APIs:
    LLM提供商(如OpenAI或Google Vertex AI)和嵌入(向量)存储(如Pinecone或Milvus)都有自身专有API。LangChain4j框架提供了一个统一的API,避免了开发者单独学习使用每一个框架的API。
    当开发人员要尝试不同的LLM或嵌入存储时,开发人员可以轻松切换它们,而无需重写代码。与这些单方框架的交互细节由LangChain4j框架内部实现。
    LangChain4j目前支持20多家主流LLM提供商(
    amazon-bedrock,anthropic,azure-open-ai,chatglm,阿里千问,github-models,google-ai-gemini,google-vertex-ai-anthropic,google-vertex-ai-gemini,gpullama3-java,hugging-face,jlama,local-ai,mistral-ai,oci-genai,ollama,open-ai,open-ai-official,openai-compatible,百度千帆,watsonx,workers-ai,xinference,智普ai)和30多个嵌入存储服务(alloydb,astra-db,azure-ai-search,azure-cosmos-mongo-vcore,azure-cosmos-nosql,cassandra,chroma,clickhouse,cloud-sql,coherence,couchbase,duckdb,elasticsearch,index,infinispan,jvector,mariadb,milvus,mongodb-atlas,neo4j,oceanbase,opensearch,oracle,pgvector,pinecone,qdrant,redis,sqlserver,tablestore,vearch,vespa,weaviate,yugabytedb)
  2. 全面的 工具箱:
    自2023年初以来,社区已构建了大量基于LLM的应用程序,识别常见的抽象概念、模式和技术实现。LangChain4j 已将这些提炼成一个开箱即用软件包。
    我们的工具箱包含从提示模板、聊天记忆管理到函数调用等一系列工具到高级模式,如高级别代理和RAG。对于每个抽象概念,我们都提供了一个接口以及基于常见技术的多种开箱即用实现。无论您是在构建聊天机器人,还是开发一个包含从数据摄取到检索完整流程的RAG系统,LangChain4j都能提供丰富多样的选择。
  3. 众多例子:
    examples 展示如何开始创建各种基于大语言模型(LLM)的应用程序。 提供软件开发灵感并让您能够快速上手开发。

LangChain4j的开发始于2023年初,正值ChatGPT热潮之际。 我们注意到当时缺乏与众多Python和JavaScript大语言模型库及框架相对应的Java版本, 因此我们决定填补这一空白!
虽然我们的名字里有“LangChain”,但这个项目融合了来自LangChain、Haystack、LlamaIndex以及更广泛社区的理念和概念,并加入了一点我们自己的创新元素。我们积极关注社区动态,旨在快速融入新技术和集成方案,确保您始终掌握最新进展。
该库正在积极开发中。虽然部分功能仍在完善, 但核心功能已经就绪,您现在就可以开始构建基于LLM的应用程序了!

为了便于集成,LangChain4j 还提供了与Quarkus 、Spring Boot、Helidon、Micronaut框架集成方案。
Quarkus, Spring Boot, Helidon and Micronaut

LangChain4j 特征

两层抽象

LangChain4j在两个抽象层次上运行:

  • 低级别。在这个级别上,您拥有最大的自由度,可以访问所有低级组件,例如
    ChatModel, UserMessage, AiMessage, EmbeddingStore, Embedding, 等等.
    这些是您基于LLM的应用程序的“基础构件”。 您可以完全控制如何组合它们,但需要编写更多的粘合代码。
  • 高级别。在这个级别,您可以通过高级API(如)与LLM进行交互 AI Services,
    它隐藏了所有的复杂性和样板代码, 同时保留了灵活调整和微调行为的空间,但这一切都以声明式的方式完成。

在这里插入图片描述

LangChain4j 类库结构

LangChain4j采用模块化设计,包含:

  • langchain4j-core模块,定义了核心抽象概念(如ChatModel和EmbeddingStore)及其API。
  • 主要的 langchain4j模块,包含有用的工具,如文档加载器、聊天记忆实现以及高级功能,如 AI 服务。
  • 一系列langchain4j-{integration}模块,每个模块都提供了与不同LLM提供商和嵌入存储的集成,以便与LangChain4j结合使用。
    你可以独立使用 langchain4j-{integration}模块。如需更多功能,只需导入主依赖项 langchain4j。

LangChain4j 仓库

LangChain4j 交流群

langchain开发群

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐