1. 聊一聊你项目中的AI模块
参考答案:
我项目中的AI模块是我负责的,我们做的是一个AI智能助手,基本的技术框架是使用SpringAI来实现,对接的大模型是阿里的千问max,我们是基于ES来实现RAG知识库的,将系统中的业务数据( 比如:课程数据)通过向量化存储到ES中,在发起大模型请求前,先查询ES向量库,查询到数据后,一起发给大模型进行处理,再和其他业务系统对接中,我们使用的Tool Calling方式来实现,在自定义的Tool中通过Feign来调用其他微服务的接口来获取数据。
对于对话管理,我们是采用Redis + Mysql的方式,Redis中存储的具体的对话内容数据,Mysql中存储的是对话列表数据(没有内容,只要标题、时间等)。
在项目中,我们还引入了MCP,将一些通用的服务封装成MCP服务,这样再其他的AI中就可以直接使用了,提供了服务的复用性。
2. 你项目中的AI怎么训练的,要什么条件(硬件)?
参考答案:
我们项目中并没有做大模型微调,我们是采用RAG的方式来实现扩充大模型的认知的。
当然,我对大模型的训练也是有一点了解的:
训练流程包括数据清洗、模型选择、超参数调优、验证与部署。硬件方面,主要依赖[具体硬件,如NVIDIA A100 GPU集群],使用分布式训练框架[如Horovod、Distributed TensorFlow]加速。数据存储采用[存储方案,如HDFS、云存储],训练环境基于[云平台,如AWS、阿里云]或本地集群。
3. 最新那个 Spring AI 框架你知道吗?
参考答案:
Spring AI 是 Spring 家族推出的 AI 集成框架,旨在简化机器学习模型与 Spring Boot 应用的集成。它提供统一的 API 管理、模型部署、数据流水线等功能,支持快速构建 AI 服务。
Spring AI提供的功能还是比较多的,比如说:RAG、Tool、ChatMemory等,基本能够满足与大模型对接的各种场景。并且还提供了MCP的客户端与服务端的实现,可以快速的集成MCP服务。
4. 你这个AI客服功能里涉及的RAG技术是什么?具体怎么实现?
参考答案:
RAG(Retrieval-Augmented Generation)是一种结合检索和生成的技术。我的实现步骤如下:
- 知识库构建:将文档分段并用向量化工具(如Sentence-BERT)生成向量,存储到向量数据库(如FAISS、Milvus),我们用的是ES。
- 用户查询处理:输入问题后,先通过检索模块从知识库中找出Top-K相关段落。
- 生成回答:将检索结果与原始问题拼接,输入到大模型(如Qwen)中生成最终回答。
- 结果优化:通过后处理(如去重、置信度过滤)提升准确性。
5. AI客服功能里,怎么调用的百度云千帆大模型
参考答案:
通过百度千帆的API接口调用大模型:
- 注册并获取API密钥。
- 在代码中集成SDK(如Python的
requests库),构造请求参数(如prompt、温度、最大长度)。 - 处理异步响应,将结果返回给用户。
- 通过限流和缓存机制优化调用效率,避免API超频。
import requests # 1. API 基础配置(换成你自己的密钥和接口地址) API_URL = "https://api.openai.com/v1/chat/completions" # 通用格式接口 API_KEY = "你的API密钥" # 2. 构造请求头 headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } # 3. 核心:构造请求参数(你要的关键参数都在这里) data = { "model": "gpt-3.5-turbo", # 模型名称 "messages": [ {"role": "user", "content": "请用一句话介绍Python"} # prompt 提问内容 ], "temperature": 0.7, # 温度:0~2,值越低越严谨,越高越创意 "max_tokens": 512, # 最大生成长度 "top_p": 1, # 核采样(可选) "stream": False # 关闭流式输出 } # 4. 发送 POST 请求 response = requests.post(url=API_URL, headers=headers, json=data) # 5. 解析并打印结果 if response.status_code == 200: result = response.json() answer = result["choices"][0]["message"]["content"] print("模型回答:\n", answer) else: print("请求失败,错误码:", response.status_code) print("错误信息:", response.text)
6. 项目为什么会接这个AI客服机器人?
参考答案:
主要基于以下需求:成本优化:24/7自动响应,减少人工客服压力。
效率提升:秒级响应,处理标准化问题(如订单查询、常见问题)。
用户体验:通过自然语言交互提升用户满意度。
数据价值:积累用户对话数据,反哺模型训练。
7. AI部署是哪个模型。
参考答案:
我们用的是阿里云百炼平台的千问max模型,也对比很多的模型,比如:Deepseek R1、gpt-4.1、千问plus等,综合比测试下来,千问max模型能够满足我们的需求。
8. 你给我讲一下这里的AI分析功能是如何实现的。
参考答案:
AI分析功能分为三层:
- 数据层:从数据库或API获取结构化数据(如用户行为日志)。
- 模型层:使用[具体模型,如Prophet、LSTM]进行预测,或通过NLP模型(如BERT)进行情感分析。
- 可视化层:通过图表工具(如ECharts、Tableau)展示结果。
关键点在于数据清洗和特征工程,确保输入数据的准确性和模型的鲁棒性。
9. 讲下AIGC的客服的相关业务
参考答案:
AIGC(AI Generated Content)客服的核心业务包括:
- 智能问答:处理用户咨询(如产品信息、故障排查)。
- 工单分类:自动将用户问题分派给对应部门。
- 情感分析:识别用户情绪,触发人工介入阈值。
- 内容生成:自动生成回复模板或营销文案。
业务价值在于降低人力成本,提升服务覆盖范围。
10. AIGC智能客服回答的准确率怎么改进的?
参考答案:
改进方法包括:
- 数据增强:引入更多标注数据,覆盖长尾场景。
- 模型微调(Fine-tuning):在行业数据上对预训练模型进行适配。
- 反馈闭环:收集用户纠错反馈,实时更新知识库。
- 多模型融合:结合多个模型的输出,通过投票或加权提升鲁棒性。
- 规则引擎:对特定问题设置规则优先级(如高风险问题强制人工审核)。
11. ollama是什么,有什么作用?
参考答案:
Ollama 是一个轻量级的本地大模型部署工具,允许用户快速在本地或服务器上部署和管理多个大模型(如Llama、Qwen)。其核心作用是:
- 本地推理:避免依赖云端API,降低延迟和成本。
- 模型管理:支持多模型并行运行,切换灵活。
- 轻量化:优化模型加载速度,适合边缘设备。
12. Ollama谁部署的?你的AI机器人怎么部署的?
参考答案:
Ollama是我们公司运维部署的,本地我自己也搭过,我的AI机器人部署流程如下:
- 环境准备:安装Ollama并拉取所需模型(如
ollama pull qwen)。 - 服务集成:通过Spring AI集成Ollama。
- 容器化:使用Docker封装服务,便于扩展和维护。
- 监控与优化:通过Prometheus监控资源使用,调整并发配置。
13. 你们的Ollama怎么用的,你们用的是什么硬件
参考答案:
我们用Ollama部署了qwen2.5:32b,硬件配置为:
- 服务器:NVIDIA A10/A40 GPU,支持多模型并行推理。
- 存储:SSD硬盘加速模型加载。
- 网络:高带宽保证API调用延迟低于200ms。
14. 你们的Ollama用的什么模型版本?
参考答案:
当前使用的是qwen2.5:32b,该版本在[具体任务,如对话连贯性、代码生成]上性能提升显著。
15. 你们Ollama大模型里面都是老数据,是怎么解决的?
参考答案:
通过以下方式更新数据:
- 增量训练:定期用新数据微调模型。
- 知识库联动:结合RAG技术,动态检索最新知识库内容。
- API混合调用:对时效性要求高的场景,优先调用云端最新模型API。
16. 你的Maxkb和Ollama是怎么联系起来的?
参考答案:
Maxkb是知识库系统,Ollama是推理引擎,两者通过以下方式协作:
- 数据同步:Maxkb将文档向量化后,存储到Ollama支持的检索数据库。
- 联合推理:用户查询先通过Ollama生成初步回答,再结合Maxkb的检索结果优化输出。
17. 用户是直接和Ollama对话还是和Maxkb知识库对话?
参考答案:
用户直接与Ollama对话,但Maxkb作为后端支持:
- Ollama负责生成回答,Maxkb提供上下文知识检索。
- 例如:用户问“产品价格”,Ollama调用Maxkb的最新价格数据生成回答。
18. 你项目中的AI是怎么做的,怎么将数据公司项目数据同步到大模型中
参考答案:
数据同步流程:
- 数据采集:从公司数据库或API获取结构化数据。
- 清洗与标注:去噪、标准化,并标注关键字段。
- 向量化存储:使用Sentence-BERT等工具将文本转化为向量,存入Maxkb或Milvus,我们用的是ES。
- 模型微调:用公司数据对预训练模型进行Fine-tuning,提升领域适配性。
19. 大模型在你们的项目里怎么用的,有什么兴趣吗
参考答案:
大模型在项目中用于:
- 文本生成:客服对话、报告撰写。
- 数据分析:从非结构化数据中提取关键信息。
- 多模态处理:结合图像/语音输入生成综合回答。
兴趣点在于探索大模型在[具体领域,如医疗、金融]的垂直应用潜力。
20. 大模型的使用心得,尤其是在图像处理上
参考答案:
使用心得:
- 优势:单模型支持多任务(如文本生成、图像描述)。
- 挑战:
- 图像处理需结合专用模型(如Stable Diffusion)或API。
- 需要数据增强解决小样本问题。
- 优化:通过CLIP模型实现图文对齐,提升跨模态理解能力。
21. 你部署大模型是用别人软件部署的,有没有自己写程序进行部署并使用模型推理?
参考答案:
我们用的是SpringAI对接大模型的,自己通过Ollama部署了deepseek-r1,基于DS进行推理的。
22. 大模型怎么搭建的
参考答案:
我们是基于Ollama搭建大模型的,使用的大模型是qwen2.5.
23. 项目里面不是已经集成了这个AI大模型。
参考答案:
是的,我们集成了千问max,通过SpringAI进行集成的。
24. 部署AIGC的时候用到了哪些资源
参考答案:
主要资源包括:
- 计算资源:GPU集群(如AWS EC2 P4d实例)。
- 存储资源:对象存储(如阿里云OSS)存放数据和模型。
- 网络资源:专线或高带宽公网连接。
- 开发资源:Kubernetes集群管理、CI/CD流水线。
25. AI大模型是你使用API接入的步骤?
参考答案:
API接入步骤:
- 注册并获取API密钥。
- 在代码中对接大模型,使用的是SpringAI
- 采用流式输出的方式
- 添加错误处理和重试机制,确保高可用性。
26. spring AI了解吗
参考答案:
Spring AI 是 Spring 家族的 AI 集成框架,提供以下功能:
- 模型管理:统一管理本地和云端模型。
- API封装:简化模型调用。
- 数据流水线:支持从数据输入到结果输出的端到端流程。
27. 千帆大模型,它多大的模型?是7B还是14B的
参考答案:
百度千帆大模型有多个版本,常见参数量包括:
- Qwen-Max:14B参数,适合复杂任务。
- Qwen-Plus:7B参数,平衡性能与效率。
具体选择取决于业务需求(如成本、响应速度)。
28. Ollama下载的模型是什么模型,怎么下的?
参考答案:
Ollama支持下载主流模型,如:
- 指令模型:Qwen、Llama2。
- 代码模型:CodeLlama。
下载命令示例:ollama pull qwen2.5,模型会自动缓存到本地。
29. 你搭建的对话模型是用什么语言写的?
参考答案:
主要用Java开发开发,使用的框架是SpringAI。
30. 为什么你的高血压助手项目要接AI大模型?
参考答案:
需求包括:
- 个性化建议:根据用户数据生成定制化健康方案。
- 实时交互:通过对话理解用户症状,推荐就医或药物。
- 数据驱动:分析用户历史数据,预测风险并预警。
31. Al机器人客服知识库问答模块如何实现的?
参考答案:
实现步骤:
- 知识库构建:将文档分段并转化为向量,存储到ES中。
- 检索模块:用户提问后,用向量化检索Top-N相关文档。
- 生成模块:将检索结果与问题输入大模型,生成最终回答。
- 优化:通过置信度阈值过滤低质量结果。
32. 你们用AIGC大模型做了些啥?
参考答案:
应用场景包括:
- 智能客服:自动回答用户咨询、课程推荐、课程购买等。
- 文本处理:自动答复、润色、扩写等
33. 为什么当时选型用千问大模型来做这个大模型?
参考答案:
选型原因:
- 性能:在中文场景下表现优异,支持多轮对话。
- 生态支持:与阿里云其他服务(如OSS)无缝集成。
- 成本:API调用价格合理,适合业务规模。
34. deepseek用的r1还是v3
参考答案:
我们使用的是DeepSeek的v3版本,我们项目的场景主要是自然语言的生成,所以选择v3版本,如果是需要推理性比较强的场景,可以选择r1版本。
35. AIGC智能体有了解吗?
参考答案:
了解的。在我们项目中就是用过SpringAI构建的智能体,用他来实现课程推荐、课程购买等业务。
36. 健康分析的命中率有多少
参考答案:
当前健康分析的命中率约为[具体数值,如85%],通过以下方式优化:
- 数据清洗:排除噪声数据。
- 模型微调:在医疗领域数据上训练。
- 多模型融合:结合统计模型和深度学习模型。
37. 对于不准确的数据如何进行模型的微调
参考答案:
微调步骤:
- 标注数据:人工修正错误数据。
- 增量训练:用新数据微调模型,冻结部分参数。
- 对抗训练:引入对抗样本提高鲁棒性。
- 监控反馈:通过A/B测试验证效果。
38. DDPM、DDIM算法有了解吗
参考答案:
- DDPM(Denoising Diffusion Probabilistic Model):通过逐步去噪生成图像,常用于高保真图像生成。
- DDIM(Denoising Diffusion Implicit Models):改进版DDPM,通过确定性采样加速推理速度。
39. 为什么需要模型微调?
参考答案:
模型微调的必要性包括:
- 领域适配:预训练模型可能不熟悉特定领域(如医疗术语)。
- 数据偏差:原始数据与业务场景分布不一致。
- 性能优化:在特定任务(如分类、生成)上提升准确率。
40. ollama是怎么部署大模型的?
参考答案:
Ollama通过以下方式部署模型:
- 模型下载:从Hugging Face或官方仓库获取模型权重。
- 优化加载:使用ONNX或TensorRT加速推理。
- 本地服务:通过HTTP API、命令行或是通过SpringAI调用模型。
41. 你都知道什么大模型?
参考答案:
熟悉的大模型包括:
- 开源模型:Llama2、Qwen、DeepSeek。
- 闭源模型:GPT-4、Claude、通义千问。
- 专用模型:Stable Diffusion(图像生成)、CodeLlama(代码生成)
42. 你部署大模型的流程
参考答案:
部署流程:
- 环境准备:安装CUDA、PyTorch、Docker。
- 模型选择:根据任务选择模型(如qwen2.5)。
- 微调:在自有数据上训练。
- 服务化:通过FastAPI或Ollama部署为API。
- 监控:使用Prometheus和Grafana监控性能。
43. maxkb请求流程
参考答案:
Maxkb请求流程:
- 用户输入:发送查询到API接口。
- 向量化:用Sentence-BERT将文本转化为向量。
- 检索:在Faiss中搜索Top-K相似向量。
- 结果返回:将匹配的文档返回给前端或模型。
44. 用户交互请求与请求如何保证交互不影响
参考答案: 与大模型对话时我们采用的是SSE,由服务端向客户端推送数据,而其他的请求依然是使用http,这样可以确保互不影响。
45. 你怎么训练模型的,过程是什么?
参考答案:
训练流程:
- 数据准备:清洗、标注数据集。
- 模型选择:根据任务选择Transformer架构。
- 超参数调优:通过Grid Search或Ray Tune优化学习率、批次大小。
- 训练:在GPU集群上分布式训练。
- 评估:用F1-score、BLEU等指标验证效果。
46. 如何提高精准度
参考答案:
提升精准度的方法:
- 数据增强:合成更多训练数据。
- 模型集成:结合多个模型的输出。
- 正则化:Dropout、Early Stopping防止过拟合。
- 反馈学习:收集用户纠错数据,持续优化模型。
47. 数据集采集清理
参考答案:
数据集处理步骤:
- 采集:从API、爬虫或内部系统获取数据。
- 去噪:去除重复、低质量数据。
- 标注:人工或半自动标注(如使用Label Studio)。
- 分词:用NLTK或jieba进行中文分词。
- 划分:按8:1:1比例分为训练集、验证集、测试集。