一: AI Services介绍
LangChain4j提供了很多基础的组件,每次使用都需要你编写大量的样板代码,LangChain4j就提供了一个高级的组件AI Services,它可以简化与大模型(LLM)和其他组件交互的复杂度。让开发者更专注于业务逻辑,而不是底层的实现细节。
通过AiServices来封装聊天模型API,实现会话记忆,工具调用,搜索增强,内容审查等功能,并提供简单灵活的用户接口 DefaultAiServices是其默认实现类型,通过动态代理的方式实现用户定义的服务接口
二: AI Services功能
- 处理LLM的输入
- 解析LLM的输出
- Chat memory 聊天信息存储器
- Tools 工具调用
- RAG 检索增强生成
三: AI Services工作原理
我们定义一个接口,并将接口的class和LangChain4j的基础组件一起传给AiServices,而AiServices则通过反射创建一个实现此接口的Jdk代理对象。当我们使用这个代理对象去执行方法时,就会去执行代理逻辑,组装UserMessage和SystemMessage对象,然后去调用大模型的接口,返回结果.