news 2026/10/2 10:37:07

AI-Native转型的关键:知识库建设与RAG调优实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI-Native转型的关键:知识库建设与RAG调优实践

海博团队做AI-Native转型的时候,第一个被卡住的不是模型选型,而是知识库。模型只是"大脑",知识库是"记忆力"和"经验积累"。模型能写出漂亮的hello world,但写不出符合海博团队既有架构、命名规范和历史踩坑经验的业务代码。AI-Native的核心在于让AI深度参与业务,而深度参与的前提是AI必须"了解这个团队如何做事"。

先交代一下背景:海博团队是一个做智能体平台研发的中型团队,大约20多人,覆盖产品、前端、后端、测试、运维。2024年开始把AI引入日常研发之后,最初效果很差——直接用通用大模型生成的回答看起来头头是道,但要落地到具体项目里就处处不对。后来搞了AI知识库,才算是把AI真正嵌进了研发流程里。

这篇文章把我在这段时间里踩过的坑、验证过的做法整理出来,重点讲:为什么AI-Native落地离不开知识库、知识库怎么搭才不像"文档堆"、以及日常运营中怎么持续保持知识库的可用性。适合正在做AI-Native转型的团队负责人、架构师,也适合想要把个人或团队知识库真正用起来的工程师。

1. AI-Native转型为什么绕不开知识库

1.1 先想清楚AI-Native到底"native"在哪

"AI-Native"这个词这两年被说烂了,很多团队的理解就是"用AI写代码"或者"接个GPT聊天"。但真正做下来你会发现,AI-Native的"native"应该是:让AI成为软件开发全链路中的一环,而不只是边缘工具。

海博团队在规划AI-Native落地时,把研发流程拆成了这样几个环节:需求分析、架构设计、编码实现、代码审查、测试用例生成、故障排查。每一个环节都尝试引入AI辅助。结果发现问题非常一致——AI对通用知识很在行,但对海博自己的项目结构、技术决策、历史包袱一无所知。

比如让AI帮忙排查线上故障,它可能给出很标准的通用排查步骤,但不知道海博的服务部署在什么拓扑下、不知道某个模块曾经因为Redis脑裂踩过坑、不知道哪个接口是核心链路。这些恰恰是排查问题最需要的信息。没有这些知识,AI的建议只能是"正确的废话"。

所以AI-Native的底座不是算力,不是模型,而是知识库。把团队的经验、决策、代码约定、历史教训全部结构化地喂养给AI,AI才能真正"native"起来,输出有业务价值的结论。

1.2 知识库不是文档库,而是AI的"经验记忆"

很多团队一听知识库,第一反应是"我们有Confluence/语雀/Wiki,把文档喂进去不就行了"。这个想法只对了一半。

文档库的核心是"存",知识库的核心是"取"和"用"。海博团队最开始也尝试过把团队Wiki里几百篇文档直接导入向量数据库,结果问答机器人经常检索出一些过期的架构文档,答非所问。后来才明白,文档库和知识库之间隔着三道坎:

第一,结构。写给人看的文档往往是叙事式的,开头背景介绍占了一半篇幅,真正的操作步骤藏在后面。这种文档直接切片喂给AI,检索时经常截取不到关键信息。

第二,粒度。文档库里一个页面的内容粒度是"整篇",而AI问答需要的是"一段话"级别的精确匹配。从大到小需要一个拆分和索引的过程。

第三,更新。文档库可以容忍过期文档躺在那里,但知识库里的过期内容会直接污染AI的回答,让AI一本正经地给出一个已经废弃的方案。

所以知识库的本质更像AI的"经验记忆",它不能只是文件柜,得是一套经过清洗、分块、索引、标注、定期更新的资产体系。海博团队的定位是:知识库是AI的长期记忆,和代码库、文档库平级,属于研发基础设施的一部分。

1.3 海博团队的目标设定与KPI

知识库建设很容易做成自嗨型工程:搭好了平台、上传了文档、Demo跑通了,然后就没有然后了。为了避免这种情况,海博团队一开始就定了三条可量化的指标。

指标一是知识覆盖率,计算方式是"已入库的关键文档数/应入库的关键文档总数"。这一步是保证知识库不是空壳。海博团队先盘点了全团队的核心知识清单,包括架构设计文档、接口规范、部署手册、常见故障预案、历史ADR(架构决策记录),把它们列入"必须入库"清单。

指标二是检索命中率,也就是在评测集中,AI的检索结果能否找到正确文档。海博团队建了一套约200条问题的评测集,覆盖领域概念、代码生成、故障排查、配置查询四类,每改一次检索策略,都跑一遍评测集看分数变化。

指标三是AI辅助任务占比,统计研发流程中AI真正参与的任务比例。不求一步到位,但每个月都要能看到这个数字在涨。

这三条指标分别对应知识库建设的三个维度:有东西、找得到、用得上。后面所有的技术选型和运营机制,都围绕这三条KPI展开。

2. 知识库建设的技术底座与选型

2.1 RAG架构是当前最务实的落地路径

知识库的落地技术路线,无非两条:微调和RAG(检索增强生成)。海博团队最终选了RAG,而且在可见的未来也不会换。

不是说微调没用,而是微调和知识库的场景不太匹配。微调适合"学习某种风格或固定能力",比如让模型学会输出JSON格式、学会某种代码风格。但知识库的特点是内容变动频繁,一个接口改了、一个组件升级了,知识库就要跟着变。如果走微调路线,每次更新都要重新准备数据集和训练,成本高、周期长,而且模型还会出现灾难性遗忘——学会了新知识,忘了老知识。

RAG就灵活得多。它的工作流程是这样的:离线阶段,把文档清洗后切成片段,用Embedding模型向量化,存入向量数据库并建立索引;在线阶段,收到用户提问后,把问题向量化,去向量库里检索最相关的Top-K个片段,再配合重排序模型精筛,然后将这些片段和问题一起拼进提示词,交给大模型生成回答。

这套架构的好处有三个:一是知识更新即时生效,改文档不用重新训练模型;二是答案可溯源,AI回答的内容能找到原始出处,方便团队核对纠错;三是可控性强,可以通过调整检索范围、过滤条件来精确限制AI的知识边界。

2.2 工具链选型:Dify、向量库、Embedding模型怎么配

海博团队知识库的中枢是Dify。选Dify的原因很直接:团队没有太多精力从零开发一套RAG编排引擎,Dify是开源项目、社区活跃,自带了知识库管理、检索配置、工作流编排、Agent接入和完整的API接口。它相当于是把RAG流水线和应用发布平台打包好了,团队可以专注在内容和调优上,而不是重复造轮子。

向量数据库用的是pgvector。海博团队本身就有PostgreSQL在跑,pgvector作为扩展安装,省了单独维护一个向量库中间件的成本。数据量大到千万级之后,再考虑迁移到Milvus或者Elasticsearch,当前阶段pgvector完全够用。

Embedding模型选了bge-m3。中文场景下这个模型的效果比OpenAI的embedding-3-small更贴合,而且开源、可以本地部署。海博团队处理过中文技术文档和英文注释混排的内容,bge-m3对中英混合的支持比较稳。

工具链选型上有两个坑可以提前说。第一个坑是:不要一上来就追求"最强"方案。海博团队最初考虑上Milvus+ES混合集群,结果配置复杂,运维负担直接翻倍,后来回归pgvector才把精力释放出来做调优。第二个坑是:Dify的版本迭代比较快,升级前一定要先看Release Note,否则自定义配置可能会失效。

2.3 文档接入与清洗:决定上限的脏活

知识库的效果上限,很大程度上在文档清洗阶段就决定了。RAG不是魔法,垃圾进垃圾出。向量检索再强,遇到一篇结构混乱、内容过期的文档,也只能检索出一个错误答案。

海博团队的文档来源很杂:Confluence上的架构设计、GitLab Wiki里的部署说明、飞书文档里的接口变更记录、代码仓库里的README、还有散落在个人电脑里的PDF和Word。第一步是统计盘点,搞清楚到底有什么、在哪儿、谁负责。

清洗这一步是最花时间的。PDF要先转成Markdown,表格单独提取出来转成结构化数据;扫描版PDF拉去OCR;图片里的文字能提取的提取,提取不了的加文字描述;代码块要保留语言标签和缩进;过期的文档标记"已废弃",而不是删除,防止AI引用历史版本。这个流程听起来琐碎,但直接决定了AI回答的质量。

海博团队的一个经验是:宁可少而精,不要多而杂。知识库里塞进去100篇低质量文档,不如放30篇高质量文档。团队在上传文档时强制要求过一道"筛选闸门":这篇文档是否仍然有效?是否和其他文档内容重叠?是否具有检索价值?三道关都过了才允许入库。

2.4 分块策略与索引设计

文档清洗完之后就是分块。这是RAG pipeline里最容易被忽略、但影响最大的环节之一。

固定大小切片是最省事的方案,比如每512个字符切成一块,重叠50字符。但问题也很明显:一个完整的知识点可能会被切成两半,检索时只能找回一半信息。海博团队遇到过这样的情况:一份数据库迁移文档,在"schema变更"的地方被拦腰截断,导致AI回答时只给出了前半段,忽略了后半段的回滚方案。

后来换成了语义分块。具体做法是:优先按Markdown标题层级(##、###)切分,一级标题下的内容就是一个候选块;没有标题的段落按语义完整性切开,比如一段介绍接口参数的文字尽量保持完整。对于代码类文档,按函数或类为单位切片,保证一段代码是一个逻辑整体。

索引设计上,海博团队给每个知识块挂了元数据:所属模块、文档类型、负责人、最后更新时间、标签。这几个字段在做检索过滤时非常关键。比如后端问答机器人只检索"后端架构"和"接口规范"分类下的内容,避免前端文档干扰结果。

另外一个可行技巧是父子块。把长文档的高层摘要作为父块,把细粒度的内容片段作为子块,检索时先命中最相关的子块,再通过父块补充上下文。这样既保证了检索的精度,又不会让上下文窗口被大量无关内容撑爆。

3. 知识库能力在研发流程中的落地实践

3.1 需求分析与设计文档的知识化

知识库对AI-Native的支撑,首先体现在研发的起点——需求与设计阶段。

海博团队有一类很典型的问题:新项目启动时,工程师经常要问"我们之前那个XX模块是什么样的"、"某个决策当时为什么这么做"。以前全靠问老同事,现在知识库可以回答。具体做法是把PRD、架构设计文档、接口定义全部知识化入库,并且强制要求每个关键设计补充一段"决策记录",写清楚为什么选A方案而不是B方案。

这种"决策记录"是知识库里最宝贵的语料。当AI被问到"为什么数据库选了PostgreSQL而不是MySQL"时,它能检索到当时的架构选型分析,给出有前因后果的答案,而不是只丢给你一句"PostgreSQL功能更强"的空泛结论。

知识库反过来也在改善文档质量。因为入库有分块和清洗的要求,写文档的人会意识到"这段内容会被AI检索和引用",所以会更注意结构完整、标题清晰、关键结论不要藏在段落中间。这算是知识库建设带来的一个额外红利。

3.2 AI辅助编码与测试:让模型"带着团队经验"去工作

海博团队把知识库接入了内部使用的AI编程助手。这里的核心思路是:不要让AI凭通用知识写代码,要让AI在生成代码前先检索团队的知识库,把编码规范、常用组件封装、历史踩坑记录注入到生成的上下文里。

举个例子。后端同学让AI生成一个新增列表查询接口的代码,如果只依赖通用大模型,AI会给出一个普通的REST接口实现。但接入知识库之后,AI会先去检索"海博后端编码规范"和"现有接口实现示例",然后按照团队约定输出:统一的响应包装类、分页参数校验、日志埋点规范、以及接口限流注解。这个差别对一个追求代码一致性的团队来说,是本质性的。

测试环节也类似。海博团队把历史缺陷样本和测试规范导入知识库,AI生成测试用例前会检索这些内容,生成更能覆盖团队历史问题的用例。比如某个模块过去频繁出现并发问题,AI在生成测试用例时会自动加上并发场景的覆盖。这比让AI从头凭空设计用例靠谱得多。

3.3 代码Review与onboarding场景

代码Review是知识库发挥作用的另一个高频场景。海博团队用AI做代码审查时,不只让AI看语法错误和潜在Bug,而是让AI结合知识库中的团队规范来审。这样就解决了一个老问题:新人Review代码时经常看不出代码是否符合团队历史约定,而老手又没时间逐行看。AI作为"规范检查员",能先把不符合团队规范的地方标出来,老手再把精力集中在业务逻辑上。

onboarding场景更直接。海博团队的新人入职第一周,每天一百个问题,问得老员工焦头烂额。后来团队做了一个内部问答机器人,接知识库,新人在群里直接问"海博的测试环境怎么申请""我们的服务怎么部署""这个模块的负责人是谁",机器人在20秒内给出带出处引用的答案。这直接把老员工的打扰频率降了一半。

这个机器人用的就是Dify上编排的一个问答应用,检索范围限定在入职指南、部署文档、模块负责人表这几个专属分类里。成本很低,但价值非常直观,团队里的非技术角色也愿意用。

3.4 知识运营机制:谁维护、怎么更新、怎么用

知识库建起来之后,最难的不是技术,而是运营。海博团队在运营机制上踩了不少坑,最后沉淀下来的几条制度值得参考。

第一是owner制。团队规定每个核心模块都有一位知识负责人,负责保证该模块的文档不过期、结构清晰、检索友好。这个角色不等同于"写文档的人",而是"知识资产责任人"。

第二是变更联动的更新机制。代码合并触发CI的时候,会顺带检查对应模块的知识库文档是否有更新,如果没有,流水线只给提醒,不强制阻塞。这个机制保证了知识库和代码库不会长期脱节。

第三是周会Review。每周的周会只留5分钟,看一组数据:本周AI回答了哪些问题、哪些回答被用户点"踩"了、检索频次最低的文档有哪些。回答错了的问题,反推去修文档;检索频次低的文档,分析是内容过时还是检索不到。

知识库不是建完就结束的一次性项目,而是一个需要持续维护的活体系统。运营机制跟不上,技术再先进都是白搭。

4. 检索质量与效果调优实录

4.1 混合检索:关键词+向量为什么缺一不可

知识库上线初期,海博团队用的是纯向量检索,很快就遇到了问题:向量检索擅长语义相似匹配,但对精确词、专有名词、缩写的处理非常弱。

举个例子。有人问"ImageIO压缩报错怎么排查",纯向量检索的结果里可能会出现一大堆"图像处理""IO异常"这类语义接近但完全不沾边的文档,而真正包含"com.sun.imageio.ImageIO"精确代码的文档反而排得很靠后。原因在于向量模型不擅长处理代码里的大小写、点号、精确类名。

解决思路是混合检索:同时跑关键词检索(BM25)和向量检索,再把两路结果用RRF算法融合排序。RRF的原理不复杂:每个文档在两路结果中都算一个排名分,融合时把排名分相加,最终按总分排序。这个方案实操起来不复杂,Dify里直接可以配置混合检索模式。

海博团队实测对比下来,在代码类问答场景,混合检索的准确率比纯向量检索高20%以上。这个收益非常明显,属于低投入高回报的优化项。

4.2 Rerank重排序的必要性

混合检索之后,召回阶段能取回几十条候选文档,但最终能给到大模型的上下文窗口有限。靠什么决定哪几条进入最终的提示词?答案是重排序模型。

海博团队用的是bge-reranker。它的作用是:拿用户的原始问题,对召回的候选文档逐一打分,把最相关的排到最前面。这个排序效果比单纯按向量距离排序好很多。因为向量距离衡量的是"语义相似度",而重排序模型学习的是"是否真正回答了这个问题",这两个目标并不完全一致。

加了Rerank之后,海博团队的知识库问答Top-5准确率有了明显提升。但这里有一个坑要提醒:Rerank是独立的模型推理步骤,会带来额外延迟。如果候选集取100条去重排,响应时间可能就飙了。海博团队的经验是候选集控制在30到50条之间,在准确率和延迟之间找一个平衡点。

4.3 提示词模板与上下文注入技巧

RAG只是检索,真正生成最终答案的是大模型。所以提示词怎么设计,直接影响回答质量的稳定性。海博团队的提示词模板里加了几条硬性约束:

第一,回答必须基于知识库内容,引用来源编号。知识库里每篇文档都有来源标注,提示词要求AI在回答时带上"根据文档xx"这样的引用标识,方便用户核验。

第二,知识库里没有答案时,明确说"不知道",不许编造。这个约束对技术场景尤其重要,宁可让用户去找文档,也不能让AI一本正经地胡说。

第三,涉及代码时,输出完整可运行的代码片段,并标注适用环境或版本。

上下文注入的顺序也有讲究:系统指令放最前面,然后是知识库检索片段,再然后是对话历史,最后才是用户当前问题。因为大模型对距离指令较远的内容关注度会下降,如果把知识库片段压在后面,AI可能会忽略掉关键约束,输出不受控的结果。

4.4 效果评估:给自己设计一套评测集

如果没有评测集,所有调优都是凭感觉。海博团队踩过这个坑:上线初期全靠人工点点点来验证效果,改一个参数就要手动试十几条问题,效率极低,而且没法量化"变好了多少"。

后来团队花了几个下午,建了一套200条问题的评测集,覆盖四类场景:领域概念解释、代码生成、故障排查、配置查询。每条问题都标注了期望答案要点,或者至少标注了"答案应引用的文档"。每次调整分块策略、切换Embedding模型、修改检索参数、更新Rerank候选数之后,都跑一遍评测集,记录各项指标。

跑评测集的时候,top-k检索命中率和RAG答案采纳率要分开看。前者衡量检索系统本身找没找对文档,后者衡量最终答案质量。很多时候答案不好,问题出在检索环节而不是生成环节,分开评估才能精准定位瓶颈。

海博团队现在把评测集的跑批脚本挂在了CI里,每次知识库配置变更自动触发回归,效果有没有回退一眼就能看到。这可能是整个知识库建设里最值得投入的一项基础设施。

5. 常见问题与排查技巧速查

5.1 检索结果不准,先查这五处

知识库上线后,最常被吐槽的就是"回答驴唇不对马嘴"。海博团队总结了一套排查顺序,按照这个顺序走,90%的检索问题都能定位。

第一查文档本身是否过期。知识库调优的第一步永远不是调参数,而是检查喂进去的文档。一个已经废弃的旧接口文档,会让模型自信地输出一个错误方案。遇到这类问题,直接修文档比改任何配置都管用。

第二查分块是否切断了关键信息。如果回答里缺失了关键步骤,大概率是分块时把知识点切散了。把出问题的文档重新分块验证一下就知道。

第三查Embedding模型是否适合领域。中文技术文档混合场景,通用Embedding模型可能表现不佳,换成领域模型往往有奇效。

第四查检索参数topK和Score阈值是否合理。topK太小会漏掉正确答案,阈值太高会把答案过滤掉,都值得反复调。

第五查提示词是否限制了模型发挥。有时候检索没问题,文档没问题,但提示词里加了太多限制,模型拘谨得不敢回答。把限制条件放开一点再看看。

5.2 多模态内容怎么处理(图片、表格、代码)

知识库里大量内容是图表和代码,这是技术团队知识库的独特难题。不能像处理纯文本一样直接扔进去,否则检索时什么都匹配不到。

海博团队定了这样几条处理约定。图片方面,能OCR的图片一律先OCR转成文本再入库;架构图、流程图这类无法用文本完整描述的内容,单独写一段文字说明,描述图形结构和关键信息点。表格方面,一律从PDF或Word里提取出来,转成Markdown表格或CSV格式入库,结构化数据在分块和检索上都比图片友好得多。

代码方面,保留代码块的完整性是底线。按函数、类、配置文件为单位切片,并打上语言标签和功能描述。这样工程师问"我们的XX服务配置了哪些环境变量",AI能精确定位到对应的配置文件片段,而不是在包含整个代码仓库的文本汪洋里捞针。

5.3 知识库与私有化部署的边界

企业敏感数据不能出内网,这是知识库建设的底线要求。海博团队做了完整的本地化部署:Embedding模型、Rerank模型、向量数据库、Dify服务、LLM推理全部跑在内网服务器上,不出内网、不走云端API。没有这个前提,知识库在企业环境里根本立不住。

还要特别关注权限控制。不是所有团队成员都能访问所有知识内容,尤其是一些涉及核心业务逻辑的技术细节。海博团队在Dify里按用户角色和部门做了检索范围隔离,后端组的AI问答不会检索到营销组的知识条目,反之亦然。这个权限隔离不光是为了安全,也能减少跨领域的知识干扰,让检索结果更精准。

5.4 成本控制与性能优化

跑一套完整RAG流水线,成本主要是三块:Embedding模型的推理开销、Rerank模型的推理开销、最终大模型生成答案的开销。海博团队在成本控制上有几条经验。

Embedding模型不需要追求参数规模大,中等规模的模型足够用。bge-m3的嵌入效果和推理速度平衡得很好,每天处理几千条文档完全无压力。Rerank模型也一样,控制在每请求30到50条候选文档内推理,延迟可接受。

缓存机制值得重视。高频问题直接命中缓存的话,可以大幅减少重复调用大模型的费用。海博团队在Dify里配置了语义缓存策略,相似度超过阈值的问题直接读缓存答案,实测一个月能省下将近三成大模型调用成本。

批量处理策略也要注意。文档入库时的Embedding计算,尽量走异步批量任务,不要在用户问答的实时链路上做。海博团队每天凌晨跑一次增量入库任务,白天用户访问用的都是已经索引好的数据,性能和成本都稳定。

写在最后

知识库建设这件事,说到底是把团队的隐性经验显性化、资产化、模型化。海博团队做了小半年,最大的体会是:技术和工具只是地基,真正决定知识库价值的,是团队愿不愿意持续喂养它、维护它。没有运营机制的知识库,半年之后就变成一堆过期文档的数字坟墓。如果你所在的团队也在做AI-Native转型,建议从自己团队最痛的场景切入,不必一开始就求大而全。先把一个场景的问答体验做到让团队愿意用,再慢慢扩展,这条路走起来最踏实。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/2 10:36:37

DX12 PBR渲染实战:金属度、粗糙度与线性空间全解析

如果你是跟着这个系列一路写过来的,应该还记得第一篇里我花了很大篇幅处理 DX12 的"初始化三件套":创建设备、配命令队列、建交换链,最后屏幕上能画出一个受了 Blinn-Phong 光照的旋转立方体。这周继续第二篇,目标很明确…

作者头像 李华
网站建设 2026/10/2 10:36:07

高情商沟通的底层逻辑与实战方法:从连接到表达

1. 沟通的底层逻辑:先搞清楚“高情商”到底在解决什么问题 先说个真实感受。我在团队里带过不少人,发现一个特别普遍的误解:很多人觉得高情商沟通就是嘴甜、圆滑、会来事儿,说白了就是“哄人开心”。可真到了工作中你会发现&#…

作者头像 李华
网站建设 2026/10/2 10:36:04

HashMap默认负载因子0.75:时间与空间权衡的底层逻辑

面试官抛出“为什么 HashMap 的默认负载因子要设置成 0.75?”这个问题时,其实不是一个纯记忆题。他真正想看的是你对空间换时间、哈希碰撞、扩容代价这些底层权衡有没有系统性的理解。先说结论:0.75 是时间和空间的一个折中,既没有…

作者头像 李华
网站建设 2026/10/2 10:35:27

加密恶意流量检测实战:基于机器学习的完整实现方案

简介:这是一套面向毕业设计场景的加密恶意流量检测项目,基于机器学习技术,解决加密流量中恶意行为难以识别的问题,包含完整Python源码与配套文档,适合计算机相关专业学生用于毕设、课程设计或期末大作业。压缩包共217个…

作者头像 李华
网站建设 2026/10/2 10:35:09

div和span的本质区别:从HTML语义、CSS渲染到JS交互全解析

1. 为什么这个问题每天被问上百遍,却仍有90%的人答不全?“span和div的区别是什么?”——这行字我见过太多次:前端新人在面试前夜的焦虑笔记里、刚转行的设计师在自学群里的求助消息中、甚至老手在CodePen调试布局时突然卡壳的cons…

作者头像 李华
网站建设 2026/10/2 10:34:24

Codex CLI 接入本地模型 Jev:从零配置到常见报错排查

很多人问我最近在折腾什么,一句话总结就是标题这句:给 Codex 配上 Jev,确实起飞了。这里的 Codex 是现在开发者圈子里讨论度很高的开源命令行编码代理 Codex CLI,Jev 则是社区里口碑不错的可自托管模型服务。把两者接在一起&#…

作者头像 李华