YAOTU INSIGHTS

如何在Java项目里用LangChain4j接上AI对话与智能体

如何在Java项目里用LangChain4j接上AI对话与智能体
如何在Java项目里用LangChain4j接上AI对话与智能体【免费下载链接】langchain4j-examples项目地址: https://gitcode.com/GitHub_Trending/la/langchain4j-examples想给一个现成的 Java 服务加上AI 助手最先卡住你的往往不是提示词而是供应商碎片化OpenAI、Gemini、本地的 Ollama各家 SDK 写法不一代码一改供应商就得重写。langchain4j-examples 是 LangChain4j 库的官方示例集把最小对话调用、多智能体编排、RAG检索增强生成先从文档库里检索再让大模型基于检索结果作答拆成一个个可以直接运行的 Java 类。仓库可以这样克隆git clone https://gitcode.com/GitHub_Trending/la/langchain4j-examplesJava 调 LLM 的第一段对话tutorials/ 模块从最朴素的调用开始_00_HelloWorld.java全部逻辑就是几行 builderChatModel model OpenAiChatModel.builder().apiKey(key).modelName(GPT_4_O_MINI).build();之后model.chat(Say Hello World)即可拿到回复。同目录还按编号覆盖了模型参数、流式输出、少样本提示、工具调用等主题。这里的关键点是换用 Gemini、Azure 或 Ollama 时只有 builder 这段要动其余业务代码不变——各家供应商都被收敛到同一个ChatModel接口后面这是整个示例集想让你先建立的认知。把对话、工具、记忆包装成 AI 服务接口裸调chat()的表达力有限。LangChain4j 的AiServices允许你用 Java 接口声明 AI 能力由框架在运行时填充实现。other-examples/下的ServiceWithToolsExample.java给出了最短路径Assistant a AiServices.builder(Assistant.class).chatModel(model).tools(new Calculator()).build();Calculator的方法上标注Tool后模型在对话中会自己判断何时调用这些方法。customer-support-agent-example/模块把它做成了完整服务AiService标注的CustomerSupportAgent接口配合MemoryId隔离不同用户的对话历史再叠加 Spring Boot 的依赖注入就是一个能查预订、取消订单的租车客服机器人接口上的SystemMessage直接写了业务规则。同样的思路在javafx-example/模块里被搬进了桌面窗口让多步智能体工作流跑起来单轮对话撑不起先生成简历、再让多个评审打分、最后给出录用建议这类业务。agentic-tutorial/是一个围绕简历生成与评审场景的完整智能体教程单个智能体只需一行CvGenerator agent AgenticServices.agentBuilder(CvGenerator.class).chatModel(model).build();模块内的 README 按编号排布从基础智能体一路讲到 supervisor 编排覆盖六类拓扑顺序sequenceBuilder、带退出条件的循环、并行parallelBuilder、条件分支、组合嵌套、人类参与。以并行为例三个评审智能体HR、经理、团队成员视角同时读同一份简历var review AgenticServices.parallelBuilder().subAgents(hr, manager, team).executor(pool).build();output回调里从共享状态读出三份CvReview平均出总分并合并评语。流程中需要人来拍板时humanInTheLoopBuilder()可以像普通步骤一样插进工作流阻塞等人工确认后继续——这在录用决策这类场景里基本是必选项。修复文档问答里的追问问题第一版 RAG 常在同一个地方翻车用户追问他是什么时候出生的这句话里没有实体直接拿去做向量检索大概率检索不到。rag-examples/的_3_advanced/目录从查询压缩讲起QueryTransformer qt new CompressingQueryTransformer(chatModel);CompressingQueryTransformer会先把当前问题和上文对话压缩成一个自包含的查询改写为John Doe 何时出生之类再交给EmbeddingStoreContentRetriever检索。同目录还有重排序、元数据过滤、多个检索器组合等技巧每种技巧都是独立示例类可以按需单独运行向量库则能换成 pgvector、Chroma、Qdrant 等*-example模块里演示的任意一种。从单个示例到可运行服务上手顺序可以直接跟着模块走先在tutorials/里跑通一类供应商的模型调用确认 key 和网络没问题再到other-examples/看工具调用如何被触发业务涉及多步任务时按数字顺序读agentic-tutorial/。整个仓库是 Maven 多模块工程每个模块有独立的pom.xml只取某个场景时单独打开对应模块即可不必整仓构建。【免费下载链接】langchain4j-examples项目地址: https://gitcode.com/GitHub_Trending/la/langchain4j-examples创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考