知析智能AI助手系统开发全流程解析

张开发
2026/6/6 1:02:09 15 分钟阅读
知析智能AI助手系统开发全流程解析
1 开发步骤1.1 需求分析1.1.1 项目介绍传统办公系统只能完成静态的数据录入与展示缺乏对非结构化信息的理解与处理能力无法高效完成文档摘要、网页信息提取、知识库问答、会议纪要整理、调研报告生成等复杂任务。拟设计并实现一套大模型助手系统面向文档处理、知识检索、内容生成和任务执行场景集成多轮对话、RAG 知识库、工具调用、MCP 服务、自主规划智能体等能力提升用户的信息获取与内容生产效率。1.1.2 项目目标支持用户进行多轮自然语言对话支持上传文件并解析内容支持抓取网页正文并进行总结支持知识库构建与检索增强问答支持生成摘要、会议纪要、调研报告等内容支持工具调用和 MCP 扩展服务支持复杂任务的自动规划与执行支持结果导出与历史任务查看1.1.3 角色普通用户重点使用系统进行对话问答、知识检索、文档分析、内容生成、任务执行。管理员弱化管理用户、知识库、模型配置、任务日志、系统监控信息。1.1.4 核心功能场景一智能对话用户直接输入问题系统基于大模型进行多轮对话并支持上下文记忆。多轮对话对话记忆持久化流式输出历史会话查看模型切换场景二文档问答用户上传 PDF、DOCX、TXT 等文档系统解析文本后支持摘要生成、内容问答与报告输出。文件上传文件解析文本预览文档摘要文档问答场景三网页分析用户输入 URL系统自动抓取网页正文提取重点信息并生成总结。URL 输入网页正文抓取网页内容清洗网页摘要网页内容归档场景四知识库问答用户上传多个文档构建知识库通过 RAG 进行私有资料问答。知识库创建文档导入文档切片向量化存储检索增强问答检索策略配置场景五内容生成用户基于对话、文档或网页内容生成会议纪要、学习笔记、调研报告、周报等结构化文本。摘要生成会议纪要生成调研报告生成周报/日报生成结构化输出Markdown/HTML/PDF 导出场景六智能体任务执行用户只输入目标系统自动拆解任务调用搜索、抓取、下载、PDF 生成等工具完成复杂任务。工具调用MCP 服务调用复杂任务规划执行过程展示执行结果导出1.1.5 非功能需求性能要求普通问答响应时间控制在 3~10 秒文档解析与网页抓取任务支持异步处理系统支持同时处理多个用户请求安全要求接口鉴权参数校验文件类型与大小限制异常处理与日志追踪MCP 与工具调用权限控制可维护性要求分层架构清晰模块解耦统一返回体统一异常处理统一日志规范可扩展性要求支持切换不同大模型支持新增工具与 MCP 服务支持新增内容生成模板支持扩展知识库类型1.2 原型设计1.2.1 页面清单8 个核心页面。1登录页用户名密码登录系统介绍进入首页2首页/工作台系统简介快速入口最近任务最近会话使用统计3智能对话页左侧会话列表中间对话区输入框模型切换是否启用知识库/工具/智能体4知识库管理页知识库列表新建知识库上传文档文档解析状态向量化状态删除/重建索引5文档处理页上传文件文本预览任务类型选择生成摘要/纪要/报告下载结果6网页分析页输入 URL抓取网页正文内容预览生成摘要或报告存入知识库7智能体任务页输入任务目标展示任务规划步骤展示工具调用日志展示最终结果支持导出8系统管理页模型配置接口配置任务日志工具与 MCP 配置具体表现为①智能对话页左侧会话列表新建会话按钮右侧顶部模型选择、是否开启知识库、是否开启工具、是否开启智能体中间消息流底部输入框、上传附件、发送按钮②知识库管理页顶部新建知识库中间知识库列表右侧弹窗上传文档、查看文档状态、切片数量、向量化结果智能体任务页左侧任务输入区中间规划步骤和执行状态右侧结果预览与导出按钮1.2.2 用户使用流程设计流程一文档摘要用户上传文档 → 系统解析文本 → 用户选择“摘要生成” → 大模型生成摘要 → 用户预览并导出流程二知识库问答用户新建知识库 → 上传多个文档 → 系统切片与向量化 → 用户进入问答页面 → 系统检索相关片段 → 大模型生成答案流程三智能体执行用户输入任务目标 → 系统生成计划 → 调用搜索/抓取/下载/PDF 工具 → 汇总结果 → 展示最终报告1.3 系统总体架构1.3.1 前端层Vue 3Element PlusPiniaAxios负责页面展示、交互、SSE 接收、任务状态渲染。接口层REST APISSE 流式接口负责前后端通信和实时结果推送。1.3.2 业务层对话服务知识库服务文档服务网页服务内容生成服务工具服务MCP 服务智能体调度服务1.3.3 AI 能力层Spring AILangChain4jRAG 检索增强Prompt 模板ChatMemoryAdvisorTool CallingReAct Agent1.3.4 数据层MySQLRedisPGvector本地文件存储 / MinIO1.4 数据库设计user 存储用户基础信息。chat_session 记录会话基本信息chat_message 记录对话消息knowledge_base 记录知识库信息knowledge_document 记录知识库文档knowledge_chunk 记录文档切片web_resource 记录网页资源ai_task 记录 AI 任务agent_plan 记录智能体任务tool_call_log 记录工具调用日志mcp_call_log 记录 MCP 调用日志export_record 记录导出信息1.5 接口设计用户模块POST /api/user/loginPOST /api/user/registerGET /api/user/info会话模块POST /api/chat/session/createGET /api/chat/session/listGET /api/chat/message/listPOST /api/chat/sendGET /api/chat/stream文档模块POST /api/file/uploadPOST /api/file/parseGET /api/file/detailGET /api/file/preview知识库模块POST /api/kb/createGET /api/kb/listPOST /api/kb/uploadPOST /api/kb/reindexPOST /api/kb/chat网页模块POST /api/web/crawlGET /api/web/detailPOST /api/web/summary内容生成模块POST /api/content/summaryPOST /api/content/minutesPOST /api/content/report{ code: 200, message: success, data: {} }POST /api/content/export智能体模块POST /api/agent/runGET /api/agent/task/detailGET /api/agent/task/stream配置模块GET /api/config/model/listPOST /api/config/model/switchGET /api/config/tool/list统一返回格式如下{ code: 200, message: success, data: {} }2 准备工作2.1 创建前端页面创建一个文件夹目录为zhixi-ai-platform/ │ ├── zhixi-ai-backend/ # 后端Spring Boot │ ├── zhixi-ai-frontend/ # 前端Vue3 Vite │ ├── docs/ # 项目文档非常加分 │ ├── sql/ # 数据库脚本 │ └── README.md在 zhixi-ai-platform 目录执行npm create vitelatest zhixi-ai-frontend选vueJavaScript创建成功打开网页前置知识讲一下关系JavaScript 是语言 Vue 是前端框架 Vite 是构建工具 Node.js 是运行环境main.js 是项目入口启动整个应用index.jsrouter是路由配置管理页面跳转输入prompt自动生成静态网页暂不包含后端逻辑你现在是我的前端开发助手请基于我当前已经创建好的 Vue 3 项目直接完善并生成“大模型助手系统”前端页面。 一、项目背景 这是一个“基于 Spring Boot 大模型能力”的毕业设计项目项目名称为 《大模型助手系统设计与实现》 系统定位 面向学习、办公、资料整理和任务执行场景的 AI 助手平台支持智能对话、知识库管理、文档处理、智能体任务执行等功能。 二、技术要求 请严格按照以下技术栈和约束生成代码 1. 使用 Vue 3 2. 使用 Vue Router 3. 使用 Element Plus 4. 使用 script setup 语法 5. 使用单文件组件 .vue 6. 不要引入额外的重型 UI 框架 7. 先不要接后端接口全部使用前端本地 mock 数据 8. 页面风格统一为“企业后台管理系统风格” 9. 布局简洁、专业、适合毕业设计答辩展示 10. 所有文案使用中文 11. 所有代码要可直接运行不能只给伪代码 12. 尽量复用当前已有的项目结构不要推翻重建 13. 如果某些文件不存在请自动创建 14. 样式尽量写在组件内部 scoped 中保证清晰易维护 三、现有项目结构 当前项目已经有如下基础结构请在这个基础上继续开发 src ├─ api ├─ assets ├─ components ├─ layout │ └─ AdminLayout.vue ├─ router │ └─ index.js ├─ views │ ├─ Login.vue │ ├─ Dashboard.vue │ ├─ Chat.vue │ ├─ KnowledgeBase.vue │ ├─ Document.vue │ └─ Agent.vue ├─ App.vue └─ main.js 四、目标 请直接帮我完成以下内容 1. 完善后台主布局 AdminLayout.vue 2. 完善路由 index.js 3. 生成并完善以下 6 个页面 - Login.vue 登录页 - Dashboard.vue 工作台 - Chat.vue 智能对话页 - KnowledgeBase.vue 知识库管理页 - Document.vue 文档处理页 - Agent.vue 智能体任务页 4. 如果有必要可补充公共组件到 components 目录 5. 所有页面使用 mock 数据展示真实业务感 6. 页面之间路由可正常跳转 7. 最终项目启动后能直接看到一个完整的“企业后台风格”的前端系统 五、整体设计要求 1. 主布局要求 AdminLayout.vue 采用经典后台布局 - 左侧深色菜单栏 - 顶部浅色 header - 中间主内容区域 - 菜单项包括 - 工作台 - 智能对话 - 知识库管理 - 文档处理 - 智能体任务 - header 中展示 - 系统标题大模型助手系统 - 右侧用户区域管理员 / 退出登录按钮退出先只跳转到登录页即可 - 整体风格简洁、稳重、现代、企业化 - 页面宽度和间距舒适不要显得拥挤 2. 通用视觉要求 - 主内容区背景用浅灰色 - 卡片用白底圆角 - 标题清晰 - 合理使用表格、按钮、标签、表单、抽屉、弹窗、分栏 - 不要做花哨的渐变炫技风格 - 更偏向“企业后台系统”和“AI 应用平台”的感觉 六、各页面详细要求 页面1Login.vue 登录页 要求 1. 做一个居中的登录卡片 2. 页面背景简洁高级不要太花 3. 登录卡片包含 - 系统标题大模型助手系统 - 副标题面向学习与办公场景的智能 AI 助手平台 - 用户名输入框 - 密码输入框 - 登录按钮 4. 表单校验 - 用户名不能为空 - 密码不能为空 5. 点击登录后 - 不调用后端 - 直接跳转到 /dashboard 6. 页面底部可展示一行小字 - 基于 Vue 3 Element Plus 构建 7. 视觉上要像真实系统登录页 页面2Dashboard.vue 工作台 要求 1. 页面顶部显示欢迎语 - 欢迎使用大模型助手系统 - 一句简短说明统一管理智能对话、知识库、文档处理与智能体任务 2. 生成 4 个统计卡片展示 mock 数据 - 今日对话次数 - 已建知识库数量 - 已处理文档数量 - 智能体任务数量 3. 生成一个“快捷入口”区域使用卡片按钮形式跳转 - 去智能对话 - 去知识库管理 - 去文档处理 - 去智能体任务 4. 生成一个“最近任务”表格mock 几条数据字段包括 - 任务名称 - 任务类型 - 状态 - 创建时间 5. 生成一个“最近会话”列表区域展示几条 mock 数据 6. 页面要像一个真正的系统首页/工作台 页面3Chat.vue 智能对话页 要求 整体采用三栏布局 - 左侧会话列表 - 中间聊天区域 - 右侧参数配置面板 1. 左侧会话列表 - 顶部有“新建会话”按钮 - 下方展示会话列表 mock 数据 - 每个会话显示 - 会话标题 - 最后更新时间 - 当前选中的会话高亮 - 点击可以切换会话 2. 中间聊天区域 - 顶部显示当前会话标题 - 中间显示聊天消息流 - 消息分为用户消息和 AI 消息样式区分开 - mock 3~5 轮对话 - 底部有输入框和发送按钮 - 发送后 - 将用户输入加入消息列表 - 模拟追加一条 AI 回复 - 支持回车发送 - 页面整体要有“类似 ChatGPT 企业版工作台”的感觉 3. 右侧参数面板 需要做一个配置卡片区域包含 - 模型选择下拉框 - DeepSeek - 通义千问 - 本地 Ollama - 是否启用知识库开关 - 是否启用工具调用开关 - 是否启用智能体模式开关 - 输出风格下拉框 - 简洁 - 专业 - 详细 - 最大输出长度滑块或输入框 - 一个“保存配置”按钮 4. 页面底部输入区可支持 - 文本输入框 - 上传附件按钮先只做 UI不接逻辑 - 发送按钮 页面4KnowledgeBase.vue 知识库管理页 要求 这个页面要像企业里的“知识库管理后台”。 1. 顶部区域 - 页面标题知识库管理 - 副标题管理知识库、上传文档并进行向量化处理 - 右侧按钮新建知识库 2. 知识库列表区域 - 用表格展示 mock 数据 - 字段包括 - 知识库名称 - 描述 - 文档数量 - 状态 - 创建时间 - 操作 - 操作按钮包括 - 查看详情 - 上传文档 - 删除 3. 新建知识库弹窗 - 点击“新建知识库”弹出表单对话框 - 表单字段 - 知识库名称 - 知识库描述 - 提交后把数据加到表格中 4. 上传文档弹窗 - 模拟文档上传 UI - 字段包括 - 选择文件 - 文档类型 - 是否自动向量化 - 下方展示 mock 的文档列表 - 文件名 - 解析状态 - 向量化状态 5. 页面下方可增加一个“检索配置示例”卡片 内容包括 - 切片大小 - 重叠长度 - TopK - 检索策略 全部用展示型表单即可先不做保存逻辑 页面5Document.vue 文档处理页 要求 这个页面体现“文档上传、预览、处理、导出”的完整流程。 布局建议 - 上方上传和任务配置 - 中间文档预览 - 右侧或下方生成结果 1. 上传区域 - 页面标题文档处理 - 副标题上传文档并生成摘要、会议纪要或调研报告 - 上传组件支持拖拽上传的 UI 风格 - 提示支持格式 - PDF / DOCX / TXT 2. 任务配置区域 包含以下控件 - 任务类型选择 - 文档摘要 - 会议纪要 - 调研报告 - 输出风格 - 简洁 - 专业 - 学术 - 输出格式 - Markdown - HTML - PDF - 生成按钮 3. 文档预览区 - 使用卡片展示一段 mock 文档内容 - 内容像真实文档不要只写“这里是文档内容” - 可以显示 - 文档标题 - 上传时间 - 文档正文片段 4. 结果区 - 生成后展示 mock 的 AI 输出结果 - 根据不同任务类型切换不同结果标题 - 结果区要像真正的“AI 生成内容展示面板” - 提供 - 复制按钮 - 导出按钮只做前端提示 - 重新生成按钮 页面6Agent.vue 智能体任务页 要求 这个页面是项目亮点要有“智能体自动规划执行任务”的感觉。 布局建议 - 上方任务输入区 - 中间左侧任务规划步骤 - 中间右侧工具调用日志 - 下方最终结果区 1. 顶部任务输入区 - 页面标题智能体任务 - 副标题输入任务目标系统将自动规划步骤并调用工具完成任务 - 输入框示例占位 - 例如请搜索“人工智能在教育领域的应用”整理成调研报告并导出 PDF - 按钮 - 开始执行 - 清空任务 2. 任务规划区 - 展示 mock 步骤列表 - 每个步骤包括 - 步骤序号 - 步骤名称 - 状态待执行、执行中、已完成 - 简要说明 - 建议 mock 5 个步骤例如 - 分析用户意图 - 联网搜索资料 - 抓取网页正文 - 汇总生成报告 - 导出 PDF 3. 工具调用日志区 - 用时间线或列表展示 mock 数据 - 字段包括 - 工具名称 - 调用时间 - 调用状态 - 返回结果摘要 - 工具名可包括 - WebSearchTool - WebCrawlerTool - PdfExportTool - FileTool 4. 最终结果区 - 展示一段结构化调研报告结果 - 包含 - 标题 - 摘要 - 核心观点 - 建议 - 右上角放 - 复制结果 - 导出 PDF - 保存任务 - 页面要强烈体现“AI 智能体执行中心”的感觉 七、代码质量要求 1. 所有页面不要只生成一个大 div 2. 合理拆分模板结构 3. data、methods、computed 要清晰 4. 使用组合式 API 5. mock 数据要真实不要太敷衍 6. 每个页面都要有基本交互不只是静态排版 7. 不要使用假装存在的接口调用 8. 如果需要提示使用 Element Plus 的 message 9. 路由切换后页面正常显示 10. 页面命名、变量命名清晰规范 八、路由要求 请确保这些路由存在并可正常访问 - /login - /dashboard - /chat - /knowledge - /document - /agent 默认访问 / 时重定向到 /dashboard 退出登录时跳到 /login 九、额外优化要求 请适当补充以下细节让页面更像真实系统 1. 状态标签颜色区分 2. 表格操作按钮合理排版 3. 空状态时有提示 4. 表单间距统一 5. 卡片区域上下留白自然 6. 不要出现明显的页面错位 7. 页面在常见桌面端尺寸下展示良好 8. 可以适当添加图标但不要过多 9. 工作台和智能体页尽量做出项目亮点 十、最终输出要求 请直接在我当前工程中完成代码修改不要只告诉我思路。 请按文件维度直接生成或修改这些文件的完整代码 - src/layout/AdminLayout.vue - src/router/index.js - src/views/Login.vue - src/views/Dashboard.vue - src/views/Chat.vue - src/views/KnowledgeBase.vue - src/views/Document.vue - src/views/Agent.vue 如果你认为有必要也可以补充 - src/components 下的公共组件 - 少量通用样式 但不要过度复杂化。 十一、执行方式要求 请你 1. 直接开始修改代码 2. 如果发现某个页面还需要补充一些小组件就自动创建 3. 保证代码之间互相兼容 4. 完成后给出 - 修改了哪些文件 - 如何运行 - 我下一步应该先看哪个页面 请现在开始生成完整实现代码。2.2 创建后端工程注意jdk版本建议是21同时注意maven版本也是21创建好后我们试一下是否可以package和run再进行下一步2.2.1 引入依赖包引入hutool、knife4j包其中knife包我们要复制配置一会在idea中改2.2.2 配置配置文件在resources下他是propeties文件我们改成yml文件spring: application: name: zhixi-ai server: port: 8123 servlet: context-path: /api # springdoc-openapi项目配置 springdoc: swagger-ui: path: /swagger-ui.html tags-sorter: alpha operations-sorter: alpha api-docs: path: /v3/api-docs group-configs: - group: default paths-to-match: /** packages-to-scan: org.zhuhe.zhixiai.controller # knife4j的增强配置不需要增强可以不配 knife4j: enable: true setting: language: zh_cn其中我改了这一行packages-to-scan: org.zhuhe.zhixiai.controller这是用来指定扫描路径的就是说你要监控哪些包的接口注意冒号之后要连着空格最后我们写了一个测试接口测试api/doc.html是否可以访问如下2.3 大模型接入2.3.1SDK调用大模型打开大模型服务平台百炼控制台向pom中添加!-- 阿里云百炼-- dependency groupIdcom.alibaba/groupId artifactIddashscope-sdk-java/artifactId version2.22.6/version scopecompile/scope /dependency然后申请一个api再直接调用即可// 建议dashscope SDK的版本 2.12.0 import java.util.Arrays; import java.lang.System; import com.alibaba.dashscope.aigc.generation.Generation; import com.alibaba.dashscope.aigc.generation.GenerationParam; import com.alibaba.dashscope.aigc.generation.GenerationResult; import com.alibaba.dashscope.common.Message; import com.alibaba.dashscope.common.Role; import com.alibaba.dashscope.exception.ApiException; import com.alibaba.dashscope.exception.InputRequiredException; import com.alibaba.dashscope.exception.NoApiKeyException; import com.alibaba.dashscope.utils.JsonUtils; import org.zhuhe.zhixiai.demo.invoke.TestApiKey; public class TestApi { public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException { Generation gen new Generation(); Message systemMsg Message.builder() .role(Role.SYSTEM.getValue()) .content(You are a helpful assistant.) .build(); Message userMsg Message.builder() .role(Role.USER.getValue()) .content(你是谁) .build(); GenerationParam param GenerationParam.builder() // 若没有配置环境变量请用百炼API Key将下行替换为.apiKey(sk-xxx) .apiKey(TestApiKey.ApiKey) // 此处以qwen-plus为例可按需更换模型名称。模型列表https://help.aliyun.com/zh/model-studio/getting-started/models .model(qwen-plus) .messages(Arrays.asList(systemMsg, userMsg)) .resultFormat(GenerationParam.ResultFormat.MESSAGE) .build(); return gen.call(param); } public static void main(String[] args) { try { GenerationResult result callWithMessage(); System.out.println(JsonUtils.toJson(result)); } catch (ApiException | NoApiKeyException | InputRequiredException e) { // 使用日志框架记录异常信息 System.err.println(An error occurred while calling the generation service: e.getMessage()); } System.exit(0); } }2.3.2 curl调用大模型和上面没啥两样继续打开文档然后复制复制给chatGPT让他生成java代码就行package org.zhuhe.zhixiai.demo.invoke; import cn.hutool.http.ContentType; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import cn.hutool.json.JSONUtil; import java.util.HashMap; import java.util.Map; public class TestCurlApi { public static void main(String[] args) { String apiKey TestApiKey.ApiKey; if (apiKey null || apiKey.isBlank()) { System.out.println(环境变量 DASHSCOPE_API_KEY 未设置); return; } String url https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation; MapString, Object systemMsg new HashMap(); systemMsg.put(role, system); systemMsg.put(content, You are a helpful assistant.); MapString, Object userMsg new HashMap(); userMsg.put(role, user); userMsg.put(content, 你是谁); MapString, Object input new HashMap(); input.put(messages, new Object[]{systemMsg, userMsg}); MapString, Object parameters new HashMap(); parameters.put(result_format, message); MapString, Object body new HashMap(); body.put(model, qwen-plus); body.put(input, input); body.put(parameters, parameters); String requestBody JSONUtil.toJsonStr(body); try (HttpResponse response HttpRequest.post(url) .header(Authorization, Bearer apiKey) .contentType(ContentType.JSON.getValue()) .body(requestBody) .execute()) { System.out.println(状态码 response.getStatus()); System.out.println(响应结果); System.out.println(response.body()); } catch (Exception e) { e.printStackTrace(); } } }2.3.3 SpringAI调用大模型注意 这里为了适合国产宝宝体制我使用的是Spring AI Alibaba打开快速开始 | Spring AI Alibaba在你的项目中添加 Maven 依赖然后配置api-key为保证api-key不被上传到git我们写两个yml文件application-local.yml中这样写spring: ai: dashscope: api-key: sk-2adfe435e13b7c1e9eadd0f4application.yml中这样写spring: application: name: zhixi-ai profiles: active: local server: port: 8123 servlet: context-path: /api # springdoc-openapi项目配置 springdoc: swagger-ui: path: /swagger-ui.html tags-sorter: alpha operations-sorter: alpha api-docs: path: /v3/api-docs group-configs: - group: default paths-to-match: /** packages-to-scan: org.zhuhe.zhixiai.controller # knife4j的增强配置不需要增强可以不配 knife4j: enable: true setting: language: zh_cnpackage org.zhuhe.zhixiai.demo.invoke; import jakarta.annotation.Resource; import org.springframework.ai.chat.messages.AssistantMessage; import org.springframework.ai.chat.model.ChatModel; import org.springframework.ai.chat.prompt.Prompt; import org.springframework.boot.CommandLineRunner; import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Component; Component public class SpringAIApi implements CommandLineRunner {//CommandLineRunner是 Spring Boot 提供的一个接口。它的作用是项目启动完成后自动执行一段代码。 Resource private ChatModel dashScopeChatModel;//你引入了 Spring AI DashScope 的 starter 依赖后 Spring Boot 在启动时根据自动配置帮你创建了一个 ChatModel 类型的 Bean然后再注入到这里。 Override public void run(String... args) throws Exception { AssistantMessage output dashScopeChatModel.call(new Prompt(您好 我是猪猪猪)) .getResult() .getOutput(); System.out.println(output.getText()); } }就可以了springAI比较方便2.3.4 LangChain4j和SpringAI差不多先引入依赖dependency groupIddev.langchain4j/groupId artifactIdlangchain4j-open-ai/artifactId version1.0.0-beta3/version /dependencypackage org.zhuhe.zhixiai.demo.invoke; import dev.langchain4j.model.openai.OpenAiChatModel; public class LangChain4japi { public static void main(String[] args) { OpenAiChatModel model OpenAiChatModel.builder() .baseUrl(http://langchain4j.dev/demo/openai/v1) .apiKey(demo) .modelName(gpt-4o-mini) .build(); String answer model.chat(您好 我是猪猪猪); System.out.println(answer); } }2.3.5 总结四种方式前两种是简单的调用ai后两者适合复杂情况时使用看后面吧3 前置知识3.1 prompt工程没啥意思 就是提示词怎么问的好3.2 ChatClientchatclient是一个组件可以理解为一个模块他的核心是大模型就可以定制更多内容注入的话用构造器注入法或者注解注入

更多文章