暖哇科技 大模型开发 一面
1、自我介绍
2、对大模型应用的理解
我理解的大模型应用,核心不是“模型能回答”,而是“模型能稳定解决业务问题”。单纯从能力上看,大模型擅长自然语言理解、内容生成、总结归纳、信息抽取、问答、多轮对话、代码辅助这些任务,但真正到了业务场景里,还要考虑知识时效性、幻觉控制、结果可解释性、调用成本和响应速度。
所以大模型应用一般不是一个裸模型直接上线,而是一个完整系统。常见会包括下面这些模块:
- 用户输入理解
- Prompt 构造
- 外部知识检索
- 工具调用
- 模型生成
- 输出校验
- 日志监控和效果评测
如果是企业场景,大模型应用通常有几个典型方向:
- 智能问答和知识库助手
- 企业内部 Copilot
- 智能客服
- 文档总结和信息抽取
- 数据分析辅助
- Agent 和工作流自动化
我觉得大模型应用真正的难点,不在于“会不会接模型”,而在于怎么把模型和数据、检索、工具、业务流程结合起来,让它可用、可控、可迭代。
3、对大模型训练有什么了解
大模型训练通常可以分成几个阶段来看。
第一阶段是预训练。这个阶段会准备海量文本数据,比如网页、书籍、代码、问答、百科等,然后做清洗、去重、过滤,再基于 Transformer 架构训练模型,让它学习根据前文预测下一个 token。经过这一阶段之后,模型会获得语言理解、知识记忆和一定的推理表达能力。
第二阶段是监督微调,也就是 SFT。这个阶段会给模型提供大量指令-回答数据,让它学会更像助手一样按要求回复。比如问答、摘要、翻译、分类、信息抽取等任务,都会通过 SFT 让模型更听指令。
第三阶段是偏好对齐。因为 SFT 后的模型虽然能回答,但不一定更符合人类偏好,所以还会继续做对齐,比如 RLHF 或 DPO。这个阶段主要解决的是回答质量、安全性、风格一致性和拒答边界这些问题。
最后是推理部署优化。模型训练完以后,还要考虑线上服务问题,比如:
- 量化
- 推理加速
- KV Cache
- 并发调度
- 长上下文支持
- 显存优化
如果从工程角度理解,大模型训练不只是训练本身,还包括数据构建、训练策略、评测体系和部署优化,这几个部分是连在一起的。
4、有了解过知识问答对话系统吗
有了解,也接触过这类系统的典型实现方式。知识问答对话系统的核心目标,是让模型能够基于指定知识源回答问题,而不是只依赖参数记忆。相比开放域聊天,它更强调知识依据、答案准确性和业务可控性。
这类系统一般可以拆成几个模块。
首先是知识库构建。要把原始文档进行清洗、切分、结构化整理,然后建立索引。如果是非结构化文档,通常会做 chunk 切分和向量化;如果是结构化数据,也可能直接走数据库或图谱查询。
然后是查询理解。用户的问题进来之后,先做 query 清洗、实体识别、改写补全,有时候还要结合历史对话理解用户真实意图。
接着是召回和排序。通过向量检索、关键词检索或者混合检索找出相关知识,再通过 rerank 把最相关的内容排在前面。
最后是答案生成。把用户问题和检索结果组织成上下文交给模型,让模型基于证据作答,并通过 prompt 约束它“有依据再回答,没依据就说不知道”。
一个典型的知识问答对话系统,核心链路一般是:
- 文档清洗
- 文档切分
- 向量化建库
- query 理解
- 检索召回
- 重排
- Prompt 拼接
- 模型生成
- 结果校验
如果是多轮问答,还要补上上下文管理和会话状态管理,不然模型容易在多轮里丢信息或者把旧信息误带进新问题。
5、你了解我们公司吗
6、Python 前后端开发工具用过吗
如果是后端开发,我比较常用的是:
- FastAPI
- Flask
- Django(了解和基础使用)
- requests
- aiohttp
- uvicorn / gunicorn
如果是前端相关,我不是纯前端方向,但在项目联调和简单页面展示里,也接触过一些常见方式,比如:
- Jinja2 模板渲染
- HTML / CSS / JavaScript 基础
- Gradio
- Streamlit
在大模型项目里,比较常见的情况是用 FastAPI 或 Flask 把模型能力封装成接口,对外提供问答、检索、摘要或者工具调用服务。像 FastAPI 用得比较多,因为它对异步支持比较好,接口定义也比较清晰,适合做推理服务和中间层服务。
比如一个简单的接口封装可以这样写:
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class QueryRequest(BaseModel):
query: str
@app.post("/chat")
def chat(req: QueryRequest):
answer = f"你输入的问题是:{req.query}"
return {"answer": answer}
如果是 Flask,也可以快速写一个轻量服务:
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route("/chat", methods=["POST"])
def chat():
data = request.get_json()
query = data.get("query", "")
return jsonify({"answer": f"你输入的问题是:{query}"})
if __name__ ==
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
本专栏聚焦 AI-Agent 面试高频考点,内容来自真实面试与项目实践。系统覆盖大模型基础、Prompt工程、RAG、Agent架构、工具调用、多Agent协作、记忆机制、评测、安全与部署优化等核心模块。以“原理+场景+实战”为主线,提供高频题解析、标准答题思路与工程落地方法,帮助你高效查漏补缺.
查看9道真题和解析