faq-bot / faqs.json
2045max's picture
Initial deploy: FAQ bot with bge-small-zh
71245aa verified
[
{
"category": "基础概念",
"q": "什么是向量化(embedding)?",
"a": "把文字(或图片、音频)转换成一串数字(向量)的过程。意思相近的文本,向量也相近。这是 AI 理解语义的基础。例如 'all-MiniLM' 把句子变成 384 维的数字向量。"
},
{
"category": "基础概念",
"q": "什么是 NLP?",
"a": "Natural Language Processing,自然语言处理。让计算机理解、生成人类语言的技术。包括分类、翻译、问答、生成等任务。"
},
{
"category": "基础概念",
"q": "什么是预训练模型?",
"a": "在海量数据上提前训练好的模型,学到了通用的语言规律。直接拿来用或在小数据集上微调即可,省去从零训练的巨大成本。HuggingFace 上的模型大多是预训练的。"
},
{
"category": "基础概念",
"q": "什么是 RAG?",
"a": "Retrieval-Augmented Generation,检索增强生成。让 LLM 在回答前先从知识库检索相关资料,再基于资料生成答案。能解决 LLM 幻觉、知识过期等问题,是当前 AI 落地最主流的方案。"
},
{
"category": "基础概念",
"q": "什么是 Transformer 模型?",
"a": "2017 年 Google 论文《Attention is All You Need》提出的神经网络架构。基于自注意力机制,是 BERT、GPT、Llama 等几乎所有现代大模型的基础。"
},
{
"category": "HuggingFace 平台",
"q": "HuggingFace 是什么?",
"a": "AI 领域的 GitHub。提供模型托管、数据集分享、应用部署(Spaces)等服务。截至 2025 年有 280 万+ 模型,是开源 AI 最大的社区。"
},
{
"category": "HuggingFace 平台",
"q": "怎么在 HuggingFace 找适合的模型?",
"a": "1) 在 huggingface.co/models 按 task 筛选;2) 看 downloads 和 likes 排序;3) 看模型卡片的 benchmark;4) 注意语言支持和大小。中文优先看 BAAI、Qwen、uer 等团队。"
},
{
"category": "HuggingFace 平台",
"q": "HuggingFace Space 是什么?",
"a": "托管 AI 应用的免费平台。支持 Gradio、Streamlit、Docker 等 SDK。push 代码到 git 仓库即自动部署,自带 HTTPS 和域名(xxx.hf.space)。免费版给 16GB 内存、2 核 CPU。"
},
{
"category": "HuggingFace 平台",
"q": "模型许可证怎么看?",
"a": "在模型页右侧能看到 license 标签。Apache 2.0 / MIT 可商用;CC-BY-NC 仅限非商业;Llama 等大模型有自己的许可需要单独看条款。商用务必先看清楚。"
},
{
"category": "HuggingFace 平台",
"q": "怎么从 HuggingFace 下载模型?",
"a": "通常不需要手动下载。代码里 from_pretrained('模型名') 会自动下载并缓存到 ~/.cache/huggingface。也可以用 git lfs clone 整个仓库到本地。"
},
{
"category": "模型选型",
"q": "中文向量化用什么模型?",
"a": "推荐 BAAI/bge-small-zh-v1.5(95MB,中文专门优化)。多语言场景用 BAAI/bge-m3。英文为主用 all-MiniLM-L6-v2。"
},
{
"category": "模型选型",
"q": "英文向量化用什么模型?",
"a": "推荐 sentence-transformers/all-MiniLM-L6-v2(90MB,速度快)。需要更高质量用 BAAI/bge-base-en-v1.5。下载量最高的是 all-MiniLM-L6-v2。"
},
{
"category": "模型选型",
"q": "BERT 和 GPT 有什么区别?",
"a": "BERT 是 Encoder(双向,看全文),适合理解任务(分类、检索);GPT 是 Decoder(单向,从左到右),适合生成任务(写作、对话)。现代 LLM 多是 Decoder-only 架构。"
},
{
"category": "模型选型",
"q": "DistilBERT 是什么?",
"a": "BERT 的蒸馏版(小学生抄大模型)。参数量减半(67M vs 110M),速度快 60%,但准确率只降 3%。入门和资源受限场景的好选择。"
},
{
"category": "模型选型",
"q": "什么时候用零样本分类?",
"a": "当你的分类标签会变化、或没有标注数据训练时。零样本模型(如 xlm-roberta-large-xnli)能根据你描述的标签直接分类,无需重新训练。代价是慢一点、有时不准。"
},
{
"category": "框架使用",
"q": "sentence-transformers 和 transformers 有什么区别?",
"a": "都是 HuggingFace 生态。transformers 是底层库,能做所有 NLP 任务。sentence-transformers 专做嵌入/相似度,封装了池化和 cos_sim,更易用。要嵌入用前者,其他任务用后者。"
},
{
"category": "框架使用",
"q": "pipeline() 是什么?",
"a": "transformers 库的傻瓜相机。一行代码加载模型并完成 tokenize+推理+后处理。例:pipeline('sentiment-analysis')('I love it') 直接出结果。入门首选,生产慎用。"
},
{
"category": "框架使用",
"q": "怎么用 pipeline 做情感分析?",
"a": "三行代码:from transformers import pipeline; clf = pipeline('sentiment-analysis'); clf('I love it')。会返回 [{'label': 'POSITIVE', 'score': 0.99}]。"
},
{
"category": "框架使用",
"q": "怎么用 GPU 加速推理?",
"a": "pipeline 加 device=0 参数(0 表示第 0 块 GPU)。原生 model 用 model.to('cuda')。同时数据 inputs.to('cuda')。批量推理(batch_size>1)能进一步加速。"
},
{
"category": "框架使用",
"q": "什么是 Tokenizer?",
"a": "把文字拆成 token(子词单元)的工具。例如 'hello' 可能被拆成 ['hel', 'lo']。每个 token 对应一个 ID,模型输入的是 ID 序列。每个模型有自己专属的 tokenizer。"
},
{
"category": "实战技能",
"q": "怎么计算两句话的相似度?",
"a": "1) 用 embedding 模型把两句话转成向量;2) 算余弦相似度(cosine similarity);3) 范围 -1 到 1,越接近 1 越相似。代码:util.cos_sim(emb1, emb2)。"
},
{
"category": "实战技能",
"q": "什么是 cosine similarity(余弦相似度)?",
"a": "衡量两个向量方向是否一致的指标。取值 -1 到 1:1 = 完全一致,0 = 无关,-1 = 相反。在 embedding 比较中是事实标准,比欧几里得距离更稳定。"
},
{
"category": "实战技能",
"q": "什么是 temperature 参数?",
"a": "控制 LLM 生成的'创造力'。低温度(0.3)保守、容易重复;中温度(0.7-0.9)自然平衡;高温度(1.5)狂野、容易幻觉。生产环境推荐 0.7-0.9。"
},
{
"category": "实战技能",
"q": "为什么 GPT-2 会重复?",
"a": "低 temperature 时模型总选最高概率词,容易陷入循环。解决:1) 提高 temperature;2) 用 repetition_penalty=1.2;3) 用 top_k 或 top_p 采样;4) 换更新的模型(GPT-2 是 2019 年的)。"
},
{
"category": "实战技能",
"q": "怎么避免 LLM 幻觉?",
"a": "1) 用 RAG 提供真实资料;2) 降低 temperature;3) 在 prompt 里要求引用来源;4) 检索 + 生成 + 校验三步走;5) 关键场景做事实核查。完全消除是不可能的。"
},
{
"category": "部署应用",
"q": "FAQ 机器人怎么做?",
"a": "1) 准备 FAQ 数据;2) 用 embedding 模型把问题向量化;3) 用户提问时算与 FAQ 的相似度;4) 返回最相似那条的答案;5) 设阈值兜底转人工。这就是检索式 FAQ 的核心。"
},
{
"category": "部署应用",
"q": "什么时候需要接 LLM?",
"a": "需要:1) 改写答案让语气更自然;2) 综合多条信息;3) 多轮对话上下文;4) 处理库外问题。不需要:标准化 FAQ、合规答复(必须原文)、对延迟敏感的场景。"
},
{
"category": "部署应用",
"q": "怎么部署 AI 应用?",
"a": "MVP 阶段:HuggingFace Space + Gradio(最快)。中等规模:FastAPI + Docker + 云服务器。大规模:Kubernetes + GPU 集群 + 向量数据库。先简单后复杂,别提前优化。"
},
{
"category": "部署应用",
"q": "训练数据从哪里来?",
"a": "1) 网页爬取(Common Crawl);2) 维基百科;3) 书籍;4) 社区(Reddit、知乎);5) 专门数据集(电商评论等)。模型训练数据决定能力上限,但你做应用时关心的是'应用数据',要从客服记录、文档、知识库等业务源头收集。"
},
{
"category": "部署应用",
"q": "Gradio 是什么?",
"a": "HuggingFace 出的 Python 库,几行代码生成 AI 应用的 web 界面。和 Spaces 完美集成,是 HF 生态部署 demo 的首选。例:gr.Interface(fn=my_func, inputs='text', outputs='text').launch()。"
}
]