AI入门
本地模型安装
- 安装Ollama
- https://ollama.com/
- 配置环境变量可以改变下载位置,windows不下C盘
- 访问127.0.0.1:11434
- 通过huggingface.co下载自定义模型,GGUF参数,可集成到ollama
- 安装模型 ollama run deepseek-r1:671b
- 进入对话
- ollama run deepseek-r1:671b
- webui
- chatbox ai
- open weiui :https://github.com/open-webui/open-webui
分类
- 算法方向: ML机器学习、DL深度学习、RL强化学习
- CV计算机视觉、NLP自然语言处理、语音
模型微调
RAG
概念
- Retrieval-Augmented Generation 检索增强生成
- 是一种结合了信息检索和文本生成的自然语言处理(NLP)技术框架,主要用于提升生成式模型在问答系统、知识对话、智能客服等场景中的表现
- 其核心思想是:先从外部知识库中检索相关信息,再基于这些信息生成回答,从而弥补语言模型本身知识截止的问题。
原理
- 提取 索引 检索 生成
用户问题
↓
查询向量化(Query Encoder)
↓
向量检索(从向量数据库中找相关内容) 最近邻搜索
↓
召回K条文档(Top-K个相关文档)
↓
拼接Prompt(Query + 文档)(将这些上下文信息拼接成Prompt)
↓
输入语言模型(如GPT)
↓
生成回答
- 示例
┌───────────────┐
用户问题 │ “北京哪里好玩?”│
└─────┬─────────┘
↓(Embedding)
┌──────────────────────┐
│ 转为语义向量 Q │
└──────────────────────┘
↓
┌──────────── Vector DB ─────────────┐
│ 向量检索 Top-K 最相似语义片段 │
└────────────┬───────────────────────┘
↓
拼接用户问题 + 检索结果 → 大模型
↓
📢 输出最终答案(RAG)
其他
- RAGFlow
- LlamaParse
- LlamaIndex 索引
- langchain(编排,同dify) 分片
- Naive RAG 朴素RAG
- Advanced RAG 进阶RAG
- Modular RAG 模块化RAG QAngthing
Embedding
概念
- Embedding(嵌入)是将离散的数据(如词语、句子、图像、ID等)转换为连续向量空间中的稠密向量的一种技术。
- 它是深度学习和自然语言处理(NLP)中的核心技术之一,用于捕捉数据的语义、结构或关系。
技术流程
原始数据(如文本、用户ID)
↓
Tokenization(分词、编码)
↓
Embedding Layer(Word2Vec / BERT / Transformer 编码)
↓
向量(如 768维、1024维,float32 数组)
↓
用于计算相似度、聚类、搜索等
Transformer
- 深度学习模型架构
- 是用来“理解、处理或生成文本”的深度神经网络架构。
- 核心机制:Self-Attention(自注意力) —— 让每个词与句中其它所有词建立“依赖”关系,从而捕捉长距离依赖信息。
向量数据库
- Vector Database
- 把文本变成“语义向量”,存储和检索这些向量,以找到最相关的上下文,辅助大模型生成更精准答案。
chroma
Qdrant
langchain
提示词压缩
- LLMLingua
- LongLLMLingua
- LongLLMLingua2
提示词工程Prompt
- RGC-SF:Role、Goal、Context、Steps、Format
- 角色(Role / Persona):让智能体“入戏”
- 目标/任务(Goal / Task / Objective):明确“做什么”
- 背景信息(Context / Background):提供必要的“已知条件”
- 步骤/约束(Steps / Constraints / Rules):指导“如何做”与“不能做什么”
- 输出格式(Output Format):规定结果“长什么样”
- 少样本学习(Few-Shot Learning) 少样本提示会有限制
- 引入思维链(Chain-of-Thought, CoT) 分步骤地进行推理或解释其思考过程。
- 让我们逐步思考,引导模型
- 自我一致性
- 思维树 TOT Tree-of-thought
模型参数
模型的参数会影响模型的输出效果。不同模型的参数会有所区别,其中主要的参数名称解释如下:
- 温度(temperature): 用于控制随机性和多样性的程度。具体来说,温度值控制了生成文本时对每个候选词的概率分布进行平滑的程度。较高的温度值会降低概率分布的峰值,使得更多的底概率词被选择,生成结果更加多样化;而较低的温度值则会增强概率分布的峰值,使得高概率词更容易被选择,生成结果更加确定。
- 最大标记: 用于指定模型在生成内容时token的最大数量,它定义了生成的上限,但不保证每次都会生成到这个数量。
- Top P: 生成过程中核采样方法概率阈值,取值范围为(0,1.0),取值越大,生成的随机性越高;取值越低,生成的确定性越高。
- 取样数量: 生成时,采集候选集的大小。例如取值为50时,仅将单次生成中得分最高的50个token组成随机采样的候选集。取值越大,生成的随机性越高;取值越小,生成的确定性越高。
- 随机种子: 生成时使用的随机种子,用户控制模型生成内容的随机性。在使用随机种子时,模型将尽可能生成相同或相似的结果,但目前不保证每次生成的结果完全相同。
- 重复惩罚: 用于控制模型生成时的重复度。提高重复惩罚值时可以降低模型生成的重复度。1.0表示不做惩罚。
名词
- chunk 块
- Rerank 重排序 相关性排序