一: LangChain4j介绍
LangChain现在仅支持 Python语言与Javascript语言, 而LangChain4J就是属于Java版本的 LangChain,它的目的也是简化LLM(大语言模型)与Java应用程序的集成。
大模型时代,如何将大模型能力和传统应用相结合,使得传统应用更加智能,是人工智能时代的趋势。以前一个应用要获得智能,需要企业自己投入资源训练模型,而现在只需要接入大模型即可,这种便利性将使得大模型会应用得更为广泛,而如何将大模型能力和Java编程语言相结合,这就是LangChain4j所做的。
官方网站:LangChain4j | LangChain4j
二: LangChain4j中的各个组件
- Basics 基础组件
- Language Models: 模型,是各种类型的模型和模型集成。
- Prompt Templates: 提示,包括提示管理、提示优化和提示序列化。
- Output Parsers: 输出解析器负责将LLM的输出解析为更结构化的格式。
- Memory: 记忆,用来保存和模型交互时的上下文状态。
- 高级组件
- chains: 链,一系列对各种组件的调用。
- AI Services: AI 服务,将与LLMs和其他组件交互的复杂性隐藏在简单的API后面,让开发者专注于业务逻辑,而不是底层的实现细节.
- RAG 检索增强生成
- Document loader:文档加载器负责从各种来源加载文档。
- Text splitters:文本切割器,RAG的时候用到。
- Embedding Models: 向量模型,相当于数据的坐标, 向量分数越高,代表坐标位置越近,匹配的数据越相似
- Embedding Stores: 向量数据库,支持20多种实现,包括内存,redis,mongo,es等
三:LangChain4j优点和功能
- 支持超过10个流行的LLM,包括OpenAI、ZhiPu、Qianfan等等
- 很容易集成到Java应用,LLM与Java之间双向集成,支持互相调用
- 支持使用高级api(如AiServices)与LLM进行交互、减少学习每个LLM的成本,可以随便切换不同的LLM
- 目前只支持聊天对话、流式对话、文生图三种模式;语音生文字等暂时不支持
四:LangChain4j 能做什么
- 您希望实现一个自定义的 AI 驱动的聊天机器人,该聊天机器人可以访问您的数据并按照您想要的方式运行:
- 客户支持聊天机器人可以:
- 礼貌地回答客户的问题
- 接受/更改/取消订单
- 教育助理可以:
- 教授各种科目
- 解释不清楚的部分
- 评估用户的理解/知识
- 客户支持聊天机器人可以:
- 您希望处理大量非结构化数据(文件、网页等)并从中提取结构化信息。 例如:
- 从客户评论和支持聊天记录中提取见解
- 从竞争对手的网站中提取有趣的信息
- 从求职者的简历中提取见解
- 您想要生成信息,例如:
- 为您的每个客户量身定制的电子邮件
- 您的应用/网站的内容:
- 博客文章
- 故事
- 您想要转换信息,例如:
- 总结
- 校对和重写
- 翻译