Skip to content

工程方案

在完成知识构建与检索生成的技术架构设计后,为确保系统能够在生产环境中稳定运行、具备良好的扩展性与用户体验,我们进一步制定了详尽的工程落地方案。该方案涵盖了部署架构、限流机制、性能优化、用户体验提升等多个关键方面。

本章节将从系统部署、组件职责、请求控制策略、性能指标以及用户交互体验等维度进行全面阐述,旨在打造一个高可用、可维护、可持续演进的智能问答系统。

部署架构

整个系统的部署分为两个主要模块:知识检索与问答服务知识库构建服务(ETL)。每个模块由多个核心组件构成,各司其职,协同工作。

知识检索与问答服务

该模块负责接收用户的提问请求,执行检索与生成流程,并返回最终答案。主要组件包括:

Qdrant 向量数据库

  • 负责存储和查询 QA 对的语义向量与稀疏向量;
  • 支持高效的近似最近邻搜索(ANN),结合 RRF 实现混合排序;
  • 提供 RESTful 接口与 SDK 用于集成到检索服务中。

MySQL 数据库

  • 记录用户查询日志和大模型问答的反馈记录

Server 应用

  • 核心服务端逻辑,对外暴露统一 API 接口;
  • 协调检索、生成流程,处理多路请求;
  • 支持日志记录、异常捕获等通用能力。

Client 应用

  • 用户前端界面,集成至技术社区或帮助中心页面;
  • 支持输入问题、查看回答、点赞/点踩反馈、点击链接跳转原文等功能;
  • 提供多轮对话支持,识别上下文并自动进行问题改写。

第三方 LLM 服务

  • 通过接口接入外部大语言模型、TextEmbedding 服务(如阿里云百炼平台、DeepSeek 等);
  • 支持灵活配置不同模型服务,便于切换与测试;
  • 对请求频率、响应时间、错误率进行监控,保障服务质量。

知识库构建服务(ETL)

该模块负责周期性地从原始文档中提取 QA 内容、向量化并更新索引,是整个系统知识更新的核心环节。

ETL 应用

  • 定时任务驱动的数据抽取与处理程序;
  • 执行文档爬取、QA 对生成、文本嵌入、向量入库等全流程;
  • 支持全量构建与增量更新两种模式,适应不同内容源的更新频率。

第三方 LLM 服务

  • 与问答服务共用一套 LLM 接入能力,用于执行 QA 提取与摘要生成等任务;
  • 与问答服务共用一套 TextEmbedding 接入能力,用于生成文本语义向量和稀疏向量;
  • 可根据需求动态调整并发数与超时限制,提升构建效率。

请求限流策略

为了防止突发流量对系统造成冲击,同时保证公平性与资源利用率,我们在服务入口层引入了限流机制,采用 移动窗口算法(Moving Window Rate Limiter) 实现精细粒度的请求控制。

多维度限流设置

  • 按接口维度:分别对“搜索接口”、“生成接口”等设定独立限流规则;
  • 按时间维度:支持每分钟、每小时、每天三种级别的限流控制;

移动窗口算法优势

相比传统的固定窗口算法(Fixed Window),移动窗口算法避免了在窗口边界处可能出现的“突增请求”问题,具有更高的精确性和稳定性。

示例策略:

  • 每分钟最多允许 6000 次搜索请求;
  • 每小时最多允许 10,0000 次搜索请求;
  • 每天最多允许 100,0000 次搜索请求。

熔断与降级机制

当系统检测到下游服务(如 LLM 或向量数据库)出现异常或响应延迟过高时,触发熔断机制:

  • 提示“当前负载较高,请稍后再试”;
  • 结合告警系统通知运维人员及时介入。

性能目标与监控

系统整体性能直接决定了用户的使用体验与系统的稳定性。我们设定了以下性能目标,并建立了相应的监控体系。

检索性能

  • 并发支持:按照用户月度和日度 UV、PV 评估系统单日用量需求,以及瞬时并发请求;
  • 网络带宽:按照检索结果的文本大小,评估带宽用量,尤其是下行带宽;
  • 响应时间:考虑用户体验,至少保证 2 秒内完成一次完整检索过程;
  • 支持异步加载部分结果以提高感知速度。

生成性能

  • 依赖第三方 LLM 的响应速度,通常在 30 秒以内;
  • 生成服务内部做请求排队与并发控制,避免超出 LLM 接口的并发限制;
  • 设置最大等待时间阈值,超时后自动降级为备用回答。

监控指标

  • 请求成功率、失败率、平均响应时间;
  • LLM 服务调用情况(Token 使用数、耗时、错误码);
  • 向量数据库查询性能(QPS、延迟分布);
  • 日志采集与分析。

用户体验优化

为了提升用户在实际使用过程中的满意度与参与度,我们在产品层面进行了多方面的优化设计。

搜索界面优化

  • 界面简洁直观,提供产品分类选择与问题输入框;
  • 展示清晰的回答结果,附带来源链接;
  • 支持 Markdown 格式展示详细答案(Full Answer)。

多轮对话支持

  • 系统能够理解上下文,自动识别追问意图;
  • 通过问题重写机制将模糊表达转化为明确的问题表达;
  • 支持上下文记忆功能,连续交互过程中无需重复说明背景。

用户反馈机制

  • 在回答区域提供“点赞 / 点踩”按钮,收集用户满意度;
  • 所有反馈数据入库,用于后续质量评估与模型优化。
  • 用户或技术支持可提交具体建议或反馈 Bug,团队将评估任务优先级并迭代系统;

系统持续优化

  • 将响应时间控制在秒级以内,提升用户感知流畅度;
  • 定期执行知识库的增量更新,保持内容新鲜度;
  • 根据用户反馈和使用行为数据,不断优化检索与生成策略。

总结

通过上述工程方案的设计与实施,我们构建了一套结构清晰、功能完备、可扩展性强的智能问答系统。从部署架构的分层设计,到限流机制的精细控制;从性能指标的合理设定,到用户交互体验的持续优化——每一环节都围绕“稳定可用、响应高效、体验良好”的目标展开。

这些工程实践不仅保障了系统的正常运行,也为后续的数据分析和产品迭代打下了坚实基础。

展望下一阶段:落地效果分析

在完成了系统建设之后,我们进入关键的验证与评估阶段。下一章节将重点介绍本系统在实际业务场景中的落地效果分析,包括:

  • 使用数据统计:日活用户数、提问频次、热门问题分布;
  • 准确率评估:人工抽检下的答案正确率与相关性评分;
  • 用户反馈分析:点赞/点踩比例、常见不满意问题类型;
  • 性能表现回顾:平均响应时间、接口成功率、系统稳定性;
  • 典型应用场景案例:如客服答疑、文档查询、新手引导等;
  • 后续优化方向:基于数据分析提出改进计划,包括模型微调、检索策略优化、新功能规划等。

通过对真实使用场景的深入分析,我们将全面评估系统的能力边界与优化空间,为后续的功能增强和技术升级提供依据。

请查看《落地效果》一章的详细解读。