认识模型

模型是⼀个从数据中学习规律的“数学函数”或“程序”。旨在处理和⽣成信息的算法,通常模仿⼈类的认知功能。通过从⼤型数据集中学习模式和洞察,这些模型可以进⾏预测、⽣成⽂本、图像或其他输出,从⽽增强各个⾏业的各种应⽤。

模型的关键点在于

  1. 特定任务:⼀个模型通常只擅⻓⼀件事。⽐如:
    • ⼀个模型专⻔识别图⽚⾥是不是猫。
    • ⼀个模型专⻔预测明天会不会下⾬。
    • ⼀个模型专⻔判断⼀条评论是好评还是差评。
  2. 需要“标注数据”:训练这种模型需要⼤量“标准答案”。(⽐如:成千上万张已经标注好“是猫”或“不是猫”的图⽚)。
  3. 参数较少:参数是模型从数据中学到的“知识要点”或“内部规则”(⽐如:上述⽰例中的规则仅是"中间数")。参数较少说明模型的复杂度和能⼒相对有限。

认识⼤语⾔模型

⼤语⾔模型(Large Language Model,LLM)是指基于⼤规模神经⽹络(参数规模通常达数⼗亿⾄万亿级别,例如GPT-3包含1750亿参数),通过⾃监督或半监督⽅式,对海量⽂本进⾏训练的语⾔模型。
名词解释:

  1. 神经⽹络:⼀个极其⾼效的“团队⼯作流程”或“条件反射链”。
    例如教⼀个⼩朋友识别猫:
  • 不会只给⼀条规则(⽐如“有胡⼦就是猫”),因为兔⼦也有胡⼦。
  • 我们会让他看很多猫的图⽚,他⼤脑⾥的视觉神经会协同⼯作:
  • 有的神经元负责识别“尖⽿朵”,
    • 有的负责识别“胡须”,
    • 有的负责识别“⽑茸茸的尾巴”。
  • 这些神经元⼀层层地传递和组合信息,最后⼤脑综合判断:“这是猫!

神经⽹络就是模仿⼈脑的这种⼯作⽅式。

  • 它由⼤量虚拟的“神经元”(也就是参数)和连接组成。
  • 每个神经元都像⼀个⼩处理单元,负责处理⼀点点信息。⽆数个神经元分成很多层,前⼀层的输出作为后⼀层的输⼊。
  • 通过海量数据的训练,这个⽹络会⾃⼰调整每个“神经元”的重要性(即参数的值),最终形成⼀个⾮常复杂的“判断流⽔线”。⽐如,⼀个识别猫的神经⽹络,某些参数可能专⻔负责识别猫的眼睛,另⼀些参数专⻔负责识别猫的轮廓。
    简单说:神经⽹络就是⼀个通过数据训练出来的、由⼤量参数组成的复杂决策系统。
  1. ⾃监督学习:“完形填空”超级⼤师。
    例如我们想学会⼀⻔外语,但没有⽼师给出题和批改。怎么办?
  • 我们可以拿⼀本该语⾔的⼩说,⾃⼰玩“完形填空”:随机盖住⼀个词,然后根据上下⽂猜测这个词是什么。
  • ⼀开始猜得乱七⼋糟。
  • 但不断地重复这个过程,看了成千上万本书后,对这个语⾔的语法、词汇搭配、上下⽂逻辑了如指掌。现在不仅能轻松猜对被盖住的词,甚⾄能⾃⼰写出流畅的⽂章。
    ⾃监督学习就是这个过程。
  • 模型⾯对海量的、没有标签的原始⽂本(⽐如互联⽹上的所有⽂章、⽹⻚)。
  • 它⾃⼰给⾃⼰创造任务:把⼀句话中间的某个词遮住,然后尝试根据前后的词来预测这个被遮住的词。
  • 通过亿万次这样的练习,模型就深刻地学会了语⾔的规律。它不需要⼈类⼿动去给每句话标
    注“这是主语”、“这是谓语”。
    简单说:⾃监督就是让模型从数据本⾝找规律,⾃⼰给⾃⼰当⽼师。
  1. 半监督学习:“师⽗领进⻔,修⾏在个⼈”。
    例如你想学做菜:
  • 师傅先教你⼏道招牌菜(⽐如⿇婆⾖腐、宫保鸡丁)⸺这相当于给了你⼀些“有标注的数据”(菜谱和成品)。
  • 然后,师傅让你去尝遍天下各种美⻝,⾃⼰研究其中的⻔道⸺这相当于接触海量的“⽆标注数据”(各种未知的⻝材和味道)。
  • 你结合师傅教的基本功和⾃⼰尝遍天下美⻝的经验,最终不仅能完美复刻招牌菜,还能创新出新的菜式。这就是“半监督”。
    先⽤少量带标签的数据让模型“⼊⻔”,掌握⼀些基本规则,然后再让它去海量的⽆标签数据中⾃我学习和提升。这对于⼤语⾔模型来说也是⼀种常⽤的训练⽅式。
    简单说:半监督就是“少量指导+⼤量⾃学”的结合模式。
  1. 语⾔模型:⼀个“超级⾃动补全”或“语⾔预测器”。
    例如你在⽤⼿机打字,输⼊“今天天⽓真”,输⼊法会⾃动提⽰“好”、“不错”、“冷”等。这个输⼊法之所以能提⽰,就是因为它内部有⼀个⼩型的“语⾔模型”,它根据你输⼊的前⽂,计算下⼀个词最可能是什么。
    语⾔模型的核⼼任务就是预测下⼀个词。⼀个强⼤的语⾔模型,能够根据⼀段话,预测出最合理、最通顺的下⼀个词是什么,这样⼀个个词接下去,就能⽣成⼀整段话、⼀篇⽂章。
    简单说:语⾔模型就是⼀个计算“接下来最可能说什么”的模型。
    现在,我们再回头看那段描述,就⼀⽬了然了。翻译成⼤⽩话就是:
    ⼤语⾔模型是⼀个:
  • ⽤“超级团队⼯作流程”(⼤规模神经⽹络)搭建的,拥有数百亿甚⾄上万亿个“脑细胞”(参数)的“超级⾃动补全系统”(语⾔模型)。
  • 它学习的⽅式,主要是通过⾃⼰玩“海量完形填空”(⾃监督学习),或者“少量名师指导+海量⾃学”(半监督学习)……
  • 从互联⽹上所有的⽂本数据中学会了语⾔的规律。
    因此,它具有以下⼏个核⼼特点:
  • 规模巨⼤:它的“脑细胞”(参数)特别多(通常达到数⼗亿甚⾄万亿级别),所以思考问题更复杂、更全⾯,就像⼀⽀百万⼤军和⼀个⼩分队的区别。
  • 通⽤性强:它不是为单⼀任务训练的。因为它通过“完形填空”学会的是整个语⾔世界的底层规律(语法、逻辑、知识关联),⽽不是只背会了“猫的图⽚”。所以它能举⼀反三,把底层能⼒灵活应⽤到聊天、翻译、写代码等各种任务上。这种“涌现”能⼒,就像孩⼦通过⼤量阅读后,突然能写出意想不到的优美句⼦⼀样。
  • 训练⽅式不同:主要使⽤⾃监督学习,从海量⽆标注的原始⽂本中学习。它不依赖⼈⼯⼀张张地给图⽚标“这是猫”,⽽是直接从原始⽂本中⾃学,效率极⾼,规模可以做得⾮常⼤。
  • 交互⽅式⾰命:我们不⽤点按钮、写代码,直接像对⼈说话⼀样给它指令(Prompt)它就能听懂并执⾏,⽐如你直接说“写⼀⾸关于春天的诗”,它就能给你写出来。

提⽰词编写技巧

编写合理且有效的提⽰词,是我们与AI进⾏有效对话的第⼀步,好的提⽰词能显著提升模型输出的质量和相关性。宗旨就是:将你的问题限定范围,让AI知道你要的答案具体要包含什么,提⽰词效果会⼤幅提升。
核⼼在于换位思考:想象AI对你提供的信息⼀⽆所知,你需要清晰、具体、⽆歧义地告诉它你要什么、在什么背景下、以什么⽅式呈现。善⽤⽰例、⻆⾊扮演、具体约束和迭代优化。
提⽰技巧不⽌⼀种,掌握多种技巧,并根据不同任务灵活组合使⽤,才是成为提⽰词⾼⼿的秘诀。

CO-STAR结构化框架

在⽬标设定和问题解决的场景下,清晰性和结构性是⾄关重要的。⽽有⼀种⽅法论,在这些⽅⾯表现都⾮常出⾊,那就是CO-STAR框架。这个提⽰词编写框架,由新加坡政府技术局(GovTech)的数据科学与AI团队开发,重点在于确保提供给LLM的提⽰词是全⾯且结构良好的,从⽽⽣成更相关和准确的回答。
CO-STAR可以拆解为六个维度。

模块 说明 示例
Context 任务背景与上下文 “你是电商客服,需解答用户关于 iPhone 17 的咨询,知识库包含最新价格和库存”
Objective 核心目标 “准确回答价格、发货时间,推荐适配配件”
Steps 执行步骤 “1. 识别用户问题类型;2. 检索知识库;3. 用亲切语气整理回复”
Tone 语言风格 “口语化,避免专业术语,使用‘亲~’‘呢’等语气词”
Audience 目标用户 “20-35 岁年轻消费者,对价格敏感,关注性价比”
Response 输出格式 “价格:XXX 元 \n 库存:XXX 件 \n 推荐配件:XXX(链接)”
例如,我需要进⾏健康咨询,希望给出营养建议。那么我可以这样构建提⽰词:
  • 优化前(模糊、低效):
    我该怎么吃才能更健康?

  • 优化后(清晰、有效):
    ⻆⾊:你是⼀个基于科学证据的 AI 营养顾问。重要约束:你提供的所有建议都仅为通⽤信息,不能替代专业医疗诊断。在给出任何具体建议前,必须⾸先声明此免责条款。
    任务:基于以下⽤⼾信息,提供⼀份个性化的每⽇饮⻝原则性建议。
    ⽤⼾信息:

  • 年龄:30岁

  • 性别:男性

  • ⽬标:减脂增肌

  • ⽇常活动⽔平:办公室久坐,每周进⾏3次⼒量训练
    回答要求:

  1. ⾸先,输出免责声明:“请注意:以下建议为通⽤健康信息…”
  2. 核⼼原则应围绕“控制总热量摄⼊,确保充⾜蛋⽩质”。
  3. 分别对早餐、午餐、晚餐和训练加餐提出各1条核⼼建议(例如:早餐应包含优质蛋⽩和复合碳⽔)。
  4. 推荐2种适合该⽤⼾的具体健康零⻝。
  5. 避免推荐任何具体的保健品或药物。
    输出格式:
    【免责声明】
    [此处输出声明]
    【核⼼原则】

  • 【分餐建议】
  • 早餐:…
  • 午餐:…
    【健康零⻝推荐】
少样本提⽰/多⽰例提⽰

这种⽅式通过给AI提供⼀两个 输⼊-输出 的例⼦,让它“照葫芦画瓢”。
核⼼思想:你不是在给它下指令,⽽是在“教”它你想要的格式、⻛格和逻辑。
适⽤场景:格式固定、⻛格独特、逻辑复杂的任务,如⻛格仿写、数据提取、复杂格式⽣成。
例如:
优化前(零样本提⽰):
2🦜9等于多少?
优化后(少样本提⽰):
根据以下⽰例,处理问题。
⽰例1:2🦜3=5
⽰例2:4🦜7=11
现在请分析这个:2🦜9等于多少?
再例如:
优化前(零样本提⽰):
请分析以下客⼾反馈,提取产品名称、情感倾向和具体问题。
反馈:“我刚买的⽿机,才⽤了⼀周左边就没声⾳了,太让⼈失望了。”
优化后(少样本提⽰):
请根据以下⽰例,分析后续的客⼾反馈,并提取产品名称、情感倾向和具体问题。
⽰例1:

  • 反馈:“笔记本的电池续航太差了,完全达不到宣传的10⼩时,最多就4⼩时。”
  • 分析:
    • 产品名称:笔记本电池
    • 情感倾向:负⾯
    • 具体问题:续航远低于宣传
      ⽰例2:
  • 反馈:“客服响应很快,⾮常专业地帮我解决了软件激活问题,点赞!”
  • 分析:
    • 产品名称:客服服务
    • 情感倾向:正⾯
    • 具体问题:⽆
      现在请分析这个:
  • 反馈:“我刚买的⽿机,才⽤了⼀周左边就没声⾳了,太让⼈失望了。”
    通过⽰例,AI清晰地学会了“产品名称”如何概括,“情感倾向”的标签是什么,“具体问题”如何简洁描述。这⽐单纯⽤⽂字描述规则要有效得多。
思维链提⽰

提⽰⼯程的关键⽬标是让AI更好地理解复杂语义。这种能⼒的⾼低,可以直接通过模型处理复杂逻辑推理题的表现来检验。
可以这样理解:当好的提⽰词能帮助模型解决原本解决不了的难题时,就说明它确实提升了模型的推理⽔平。并且,提⽰词设计得越出⾊,这种提升效果就越显著。通过设置不同难度的推理测试,可以很清晰地验证这⼀点。

EG:
杂耍者可以杂耍16个球。其中⼀半的球是⾼尔夫球,其中⼀半的⾼尔夫球是蓝⾊的。请问总共有多少个蓝⾊⾼尔夫球?

该逻辑题的数学计算过程并不复杂,但却设计了⼀个语⾔陷阱,即⼀半的⼀半是多少。
为了解决类似的逻辑问题,可以使⽤思维链提⽰。思维链提⽰相较于少样本提⽰是⼀种更好的提⽰⽅法,思维链提⽰最常⽤的两种⽅式:

  • Few-shot-CoT:少样本思维链
  • Zero-shot-CoT:零样本思维链
    相⽐于少样本提⽰(Few-shot),少样本思维链(Few-shot-CoT)的不同之处只是在于需要在提⽰样本中不仅给出问题的答案、还同时需要给出问题推导的过程(即思维链),从⽽让模型学到思维链的推导过程,并将其应⽤到新的问题中。此技巧主要⽤于解决复杂推理问题,如数学、逻辑或多步骤规划。
    核⼼思想:要求AI“展⽰其⼯作过程”,⽽不是直接给出最终答案。这模仿了⼈类解决问题时的思考⽅式。
    适⽤场景:数学题、逻辑推理、复杂决策、需要解释过程的任务。

实际上,Few-shot-CoT的⽅式虽然有效,但不⼀定是稳定且准确的。如果想要得到稳定的正确答案,需要更⾼阶的提⽰⽅法。你给的例⼦越详细,它模仿得就越像,这更像是⼀种“教学”或“格式化”。当你有⼀个⾮常复杂的逻辑流程,或者你希望AI严格按照某种格式(⽐如先分析A,再对⽐B,最后总结C)来输出时,就可以直接提供⼀个完美的“思考过程”作为范例。

⾃动推理与零样本链式思考

零样本思维链(Zero-shot-CoT)这是少样本思维链(Few-shot-CoT)的简化版。只需在提⽰词末尾加上⼀句魔法短语,即可激发AI的推理能⼒。
核⼼思想:通过指令 “请⼀步步进⾏推理并得出结论” ,强制AI在给出答案前先进⾏内部推理。
适⽤场景:任何需要⼀点逻辑思考的问题,即使你不太清楚具体步骤。

例如:
罗杰有五个⽹球,他⼜买了两盒⽹球,每盒有3个⽹球,请问他现在总共有多少个⽹球?请⼀步步进⾏推理并得出结论。
AI的输出可能会变成:
罗杰最初有5个⽹球。
他买了两盒⽹球,每盒有3个⽹球,所以买来的⽹球数量是:2×3=6个⽹球。
因此,他现在总共有⽹球:5+6=11个。
答案:11个⽹球

“⼀步步进⾏推理” 这个指令,相当于在引导模型的“注意⼒机制”。它告诉模型:“在⽣成最终答案之前,请先在你的‘脑海’⾥(即⽣成的⽂本序列中)模拟出⼀个缓慢、有序的推理上下⽂。”
当模型开始输出“第⼀步…第⼆步…”时,它实际上是在为⾃⼰创造⼀个更丰富、更逻辑化的上下⽂。它在这个⾃⼰创造的优质上下⽂中进⾏推理,最终得出的结论⾃然⽐在贫瘠的上下⽂中(只有原始问题)更准确。

⾃我批判与迭代

要求AI在⽣成答案后,从特定⻆度对⾃⼰的答案进⾏审查和优化。
核⼼思想:将“⽣成”和“评审”两个步骤分离,利⽤AI的批判性思维来提升内容质量。
适⽤场景:代码审查、⽂案优化、论证强化、安全检查。

编写⼀段代码后进⾏检查
优化前:
写⼀个Python函数,计算列表中的最⼤值。
优化后:
请执⾏以下两个步骤:
步骤⼀:编写代码
写⼀个Python函数 find_max ,⽤于计算⼀个数字列表中的最⼤值。
步骤⼆:⾃我审查与优化
现在,请从代码健壮性和可读性的⻆度,审查你上⾯编写的代码。
请回答:

  1. 如果输⼊是空列表,函数会怎样?如何改进?
  2. 变量命名和代码结构是否清晰?能否让它更易于理解?
  3. 请根据你的审查,给出⼀个优化后的最终版本。

在实际应⽤中,这些技巧常常是组合使⽤的。例如,我们可以:

  1. 使⽤CO-STAR框架设定基本结构和⻆⾊。
  2. 在框架的“Steps”或“Response”部分,融⼊思维链指令。
  3. 对于格式复杂的输出,在最后附上少样本⽰例。
  4. 最后,要求AI进⾏⾃我审查。
    我们更多使⽤LLM的场景⼤都是编写代码,如果你们⽤过Cursor、Trae这样的AI IDE。应该不陌⽣在AI帮我们编码之前,需要配置相关的“编码规则”–Rules。它其实就是这些IDE输⼊给LLM的提⽰词,告诉LLM编写代码时的注意事项与要求。
    Cursor Directory
    ![[Pasted image 20260301212307.png]]

LLM的接⼊⽅式

常⻅的原⽣LLM(不经过第三⽅平台或复杂的代理层,直接与⼤语⾔模型提供⽅进⾏交互的⽅法)接⼊⽅式有三种:【API远程调⽤】、【开源模型本地部署】和【SDK和官⽅客⼾端库】

API接⼊

这是⽬前最主流、最便捷的接⼊⽅式,尤其适⽤于快速开发、集成到现有应⽤以及不想管理硬件资源的场景。
通过HTTP请求(通常是RESTful API)直接调⽤模型提供商部署在云端的模型服务。代表⼚商:OpenAI(GPT-4o),Anthropic(Claude),Google(Gemini),百度⽂⼼⼀⾔,阿⾥通义千问,智谱AI等。
典型流程就是:

  1. 注册账号并获取API Key:在模型提供商的平台上注册,获得⽤于⾝份验证的密钥。
  2. 查阅API⽂档:了解请求的端点、参数(如模型名称、提⽰词、温度、最⼤⽣成⻓度等)和返回的数据格式。
  3. 构建HTTP请求:在你的代码中,使⽤HTTP客⼾端库(如Python的 requests )构建⼀个包含APIKey(通常在Header中)和请求体(JSON格式,包含你的提⽰和参数)的请求。
  4. 发送请求并处理响应:将请求发送到提供商指定的API地址,然后解析返回的JSON数据,提取⽣成的⽂本。
    OpenAI Platform
    ![[Pasted image 20260301212825.png]]

Developer quickstart | OpenAI API
![[Pasted image 20260301212848.png]]

![[Pasted image 20260301213531.png]]
![[Pasted image 20260301213619.png]]

curl "https://api.openai.com/v1/responses" \  
	-H "Content-Type: application/json" \  
	-H "Authorization: Bearer $OPENAI_API_KEY" \  
	-d '{  
		"model": "gpt-5",  
		"input": "Write a one-sentence bedtime story about a unicorn."  
	}'

或使⽤HTTP客⼾端(如Apifox)发起调⽤:(调⽤需要开启系统代理)
![[Pasted image 20260301215211.png]]

{  
	"id": "resp_68da0ae40f40819c8f33465a1d923fcb0b003ac22034ffda",  
	"object": "response",  
	"created_at": 1759120100,  
	"status": "completed",  
	"background": false,  
	"billing": {  
		"payer": "developer"  
	},
	"error": null,  
	"incomplete_details": null,  
	"instructions": null,  
	"max_output_tokens": null,  
	"max_tool_calls": null,  
	"model": "gpt-4o-mini-2024-07-18",  
	"output": [  
		{  
			"id": "msg_68da0ae4ab90819cb9544144353167060b003ac22034ffda",  
			"type": "message",  
			"status": "completed",  
			"content": [  
				{  
					"type": "output_text",  
					"annotations": [],  
					"logprobs": [],  
					"text": "你好!我是⼀个⼈⼯智能助⼿,旨在回答你的问题和提供帮助。有什么我可以为你做的呢?"  
				}  
			],  
			"role": "assistant"  
		}  
	],  
	"parallel_tool_calls": true,  
	"previous_response_id": null,  
	"prompt_cache_key": null,  
	"reasoning": {  
		"effort": null,  
		"summary": null  
	},  
	"safety_identifier": null,  
	"service_tier": "default",  
	"store": true,  
	"temperature": 1.0,  
	"text": {  
		"format": {  
			"type": "text"  
		},  
		"verbosity": "medium"  
	},  
	"tool_choice": "auto",  
	"tools": [],  
	"top_logprobs": 0,  
	"top_p": 1.0,  
	"truncation": "disabled",  
	"usage": {  
		"input_tokens": 11,
		"input_tokens_details": {  
			"cached_tokens": 0  
		},  
		"output_tokens": 27,  
		"output_tokens_details": {  
			"reasoning_tokens": 0  
		},  
		"total_tokens": 38  
	},  
	"user": null,  
	"metadata": {}  
}

API Overview | OpenAI API Reference

本地接⼊

⼤模型本地部署,这种⽅式就是将开源的⼤型语⾔模型(如Llama、ChatGLM、Qwen等)部署在你⾃⼰的硬件环境(本地服务器或私有云)中。核⼼概念就是,将下载模型的⽂件(权重和配置⽂件),使⽤专⻔的推理框架在本地服务器或GPU上加载并运⾏模型,然后通过类似API的⽅式进⾏交互。
典型流程是:

  1. 获取模型:从Hugging Face(国外)、魔搭社区(国内)等平台下载开源模型的权重
  2. 准备环境:配置具有⾜够显存(如NVIDIA GPU)的服务器,安装必要的驱动和推理框架。
  3. 选择推理框架:使⽤专为⽣产环境设计的框架来部署模型,例如:
  • vLLM:特别注重⾼吞吐量的推理服务,性能极佳。
  • TGI:Hugging Face推出的推理框架,功能全⾯。
  • Ollama:⾮常⽤⼾友好,可以⼀键拉取和运⾏模型,适合快速⼊⻔和本地开发。
  • LM Studio:提供图形化界⾯,让本地运⾏模型像使⽤软件⼀样简单。
  1. 启动服务并调⽤:框架会启动⼀个本地API服务器(如 http://localhost:8000 ),你可以像调⽤云端API⼀样向这个本地地址发送请求。
下载并安装Ollama

Ollama
Ollama是⼀款专为本地部署和运⾏⼤型语⾔模型(LLM)设计的开源⼯具,旨在简化⼤型语⾔模型(LLM)的安装、运⾏和管理。它⽀持多种开源模型(如qwen、deepseek、LLaMA),并提供简单的API接⼝,⽅便开发者调⽤,适合开发者和企业快速搭建私有化AI服务。
![[Pasted image 20260301220456.png]]

安装完成后,Ollama默认会启动
Title Unavailable | Site Unreachable

拉取模型
  • 修改模型存储路径
    模型默认安装在C盘个⼈⽬录下 C:\Users\XXX.ollama ,可以修改ollama的模型存储路径,使得每次下载的模型都在指定的⽬录下。有以下两种⽅式:
  1. 配置系统环境变量
	变量名: OLLAMA_MODELS  
	变量值: ${⾃定义路径}
  1. 通过Ollama界⾯来进⾏设置
    ![[Pasted image 20260301221640.png]]
  • 拉取模型
    查找模型:Ollama
    以DeepSeek-R1 为例, DeepSeek-R1 是⼀系列开放推理模型,其性能接近O3和Gemini 2.5 Pro等领先模型。 DeepSeek-R1 有不同的版本,我们需要根据⾃⼰机器的配置及需求来选择相应的版本。
    ![[Pasted image 20260301221910.png]]

参数越多 → 模型"知识量"越⼤ → 处理复杂任务的能⼒越强,硬件需求也越⾼。

测试

通过命令⾏和AI模型对话。

ollama run deepseek-r1:1.5b

![[Pasted image 20260301222005.png]]

可以通过接⼝调⽤:

curl "http://127.0.0.1:11434/api/chat" \  
	-d '{  
		"model": "deepseek-r1:1.5b",  
		"messages":[  
			{"role": "user", "content": "夸夸我"}  
		],  
		"stream": false  
	}'

SDK接⼊

这并⾮⼀种独⽴的接⼊⽅式,⽽是对第⼀种API接⼊的封装和简化。模型提供商通常会发布官⽅编程语⾔SDK,为我们封装好了底层的HTTP请求细节,提供⼀个更符合编程习惯的、语⾔特定的函数库。
典型流程(以OpenAI Python SDK 为例):

pip install openai

安装OpenAI SDK后,可以创建⼀个名为 example.py 的⽂件并将⽰例代码复制到其中:

from openai import OpenAI  
client = OpenAI(api_key="your-api-key")  

response = client.responses.create(  
	model="gpt-5",  
	input="介绍⼀下你⾃⼰。"  
) 

print(response.output_text)

相⽐直接构造HTTP请求,代码更简洁、更易读、更易维护。

问题与思考

对于以上三种接⼊⽅式,我们该如何选择?

  • 看数据敏感性:如果数据极其敏感,必须留在内部,本地部署是唯⼀选择。
  • 看技术实⼒和资源:如果团队没有强⼤的MLops(机器学习运维)能⼒,也没有预算购买和维护GPU服务器,云端API是更实际的选择。
  • 看成本和规模:如果应⽤规模很⼤,⻓期来看,本地部署的固定成本可能低于持续的API调⽤费⽤。反之,⼩规模应⽤⽤API更划算。
  • 看定制需求:如果只是使⽤模型的通⽤能⼒,云端API⾜够。如果需要⽤⾃⼰的数据微调模型,则需要选择⽀持微调的API或直接本地部署。
    实际上,只要是原⽣LLM,⽆论怎么接⼊都有限制。为什么?
  1. 输⼊⻓度限制:所有LLM都有固定的输⼊⻓度(如4K、8K、128K、400KToken)。我们⽆法将⼀本⼏百⻚的PDF或整个公司知识库直接塞给模型。
  2. 缺乏私有知识:模型的训练数据有截⽌⽇期,且不包含我们的私⼈数据(如公司内部⽂档、个⼈笔记等)。让它基于这些知识回答问题,⾮常困难。
  3. 复杂任务处理能⼒弱:原⽣API本质是⼀个“⼀问⼀答”的接⼝。对于需要多个步骤的复杂任务(如“分析这份财报,总结要点,并⽣成⼀份PPT⼤纲”),我们需要⾃⼰编写复杂的逻辑来拆解任务、多次调⽤API并管理中间状态。
  4. 输出格式不可控:虽然可以通过提⽰词要求模型输出JSON或特定格式,但它仍可能产⽣格式错误或不合规的内容,需要我们⾃⼰编写后处理代码来校验和清洗。像LangChain这样的框架,正是为了系统性地解决这些问题⽽诞⽣的

认识嵌⼊模型

什么是嵌⼊模型

⼤语⾔模型是⽣成式模型。它理解输⼊并⽣成新的⽂本(回答问题、写⽂章)。它内部实际上也使⽤嵌⼊技术来理解输⼊,但最终⽬标是“创造”。
⽽嵌⼊模型(Embedding Model)是表⽰型模型。它的⽬标不是⽣成⽂本,⽽是为输⼊的⽂本创建⼀个最佳的、富含语义的数值表⽰(向量)。
由于计算机天⽣擅⻓处理数字,但不理解⽂字、图⽚的含义。嵌⼊(Embedding)的核⼼思想就是将⼈类世界的符号(如单词、句⼦、产品、⽤⼾、图⽚)转换为计算机能够理解的数值形式(即向量,本质上是⼀个数字列表),并且要求这种转换能够保留原始符号的语义和关系。
![[Pasted image 20260301222702.png]]

我们可以把它想象成⼀个翻译过程,把⼈类语⾔“翻译”成计算机的“数学语⾔”。
结论:既然是“数学语⾔”,那么我们可以⽤数学的⽅式来⽐较向量,从⽽达到【度量语义】的⽬的!

嵌⼊模型应⽤场景

根据嵌⼊的特性,由此延伸出了许多嵌⼊模型在AI应⽤的使⽤场景:

  • 语义搜索(Semantic Search)
    传统搜索:依赖关键词匹配(搜 “苹果” ,只能找到包含 “苹果” 这个词的⽂档)。
    语义搜索:则能将查询和⽂档都转换为向量,通过计算向量间的相似度来找到相关内容,即使⽂档中没有查询的确切词汇也能被检索到。如下图所⽰,即使知识库中并未直接出现 “笔记本电脑⽆法充电” 这个词组,语义搜索也能通过向量相似度精准地找到该⽂档。
  • 检索增强⽣成(Retrieval-Augmented Generation, RAG)
    这是当前⼤语⾔模型应⽤的核⼼模式。当⽤⼾向LLM提问时,系统⾸先使⽤嵌⼊模型在知识库(如公司内部⽂档)中进⾏语义搜索,找到最相关的内容,然后将这些内容和问题⼀起交给LLM来⽣成答案。这极⼤地提⾼了答案的准确性和时效性。
    例如:⼀家公司的内部客服机器⼈接到员⼯提问: “我们今年新增加的带薪育⼉假政策具体是怎样的?” 系统会⾸先使⽤嵌⼊模型在公司的最新⼈事制度⽂档、福利更新备忘录等资料中进⾏语义搜索,找到关于“今年育⼉假规定”的具体条款,然后将这些【条款】和【问题】⼀起提交给LLM,LLM便能⽣成⼀个准确、具体的摘要回答,⽽⾮仅凭其内部训练数据可能产⽣的过时或泛泛的答案。
  • 推荐系统(Recommendation Systems)
    将⽤⼾(根据其历史⾏为、偏好)和物品(商品、电影、新闻)都转换为向量。喜欢相似物品的⽤⼾,其向量会接近;相似的物品,其向量也会接近。通过计算⽤⼾和物品向量的相似度,就可以进⾏精准推荐。
    例如:⼀个流媒体平台将⽤⼾A(喜欢观看《盗梦空间》和《⿊镜》)和所有电影都表⽰为向量。系统发现⽤⼾A的向量与那些也喜欢《盗梦空间》和《⿊镜》的⽤⼾向量很接近,⽽这些⽤⼾普遍还喜欢《星际穿越》。尽管⽤⼾A从未看过《星际穿越》,但通过计算⽤⼾向量与电影向量的相似度,系统会将这部电影推荐给⽤⼾A。
  • 异常检测(Anomaly Detection)
    正常数据的向量通常会聚集在⼀起。如果⼀个新数据的向量远离⼤多数向量的聚集区,它就可能是⼀个异常点(如垃圾邮件、欺诈交易)。
    例如:⼀个信⽤卡交易反欺诈系统,通过学习海量正常交易记录(如⾦额、地点、时间、商⼾类型等特征的向量)形成了“正常交易”的向量聚集区。当⼀笔新的交易发⽣时,系统将其转换为向量。如果该向量出现在“正常聚集区”之外(例如,⼀笔发⽣在通常消费地之外的⾼额交易),系统则会将其标记为潜在的欺诈交易并进⾏警报。
主流的嵌⼊模型
  • text-embedding-3-large(OpenAI):OpenAI最强⼤的英语和⾮英语任务嵌⼊模型。默认维度3072,可降维如1024维;输⼊令牌⻓度⽀持为8192
  • Qwen3-Embedding-8B(阿⾥巴巴):开源模型,⽀持100+种语⾔;上下⽂⻓度32k;嵌⼊维度最⾼4096,⽀持⽤⼾定义的输出维度,范围从32到4096。推理需要⼀定的GPU计算资源(例如,⾄少需要16GB以上显存的GPU才能⾼效运⾏)。
  • gemini-embedding-001(Google):⽀持100+种语⾔;默认维度3072,可选降维版本:1536维或768维;输⼊令牌⻓度⽀持为2048
嵌⼊模型接⼊⽅式

嵌⼊模型接⼊和使⽤⽅式根据模型类型(开源或闭源)有根本性的不同。下图清晰地展⽰了两种典型的接⼊流程:
![[Pasted image 20260301223708.png]]

API接⼊(闭源)

这是最快速、最简单的⽅式,⽆需管理任何基础设施。只需要向模型提供商的服务端发送⼀个HTTP请求即可。
适⽤模型: text-embedding-3-large , gemini-embedding-001 等。
通⽤步骤:

  1. 注册账号并获取API Key:在对应的云服务平台(如OpenAI Platform,Google AI Studio/Vertex AI)上注册账号,获取⽤于⾝份验证的API Key。
  2. 安装 SDK 或构造 HTTP请求:使⽤官⽅提供的SDK(如 openai , google-generativeai )或直接构造HTTP请求。
  3. 调⽤API并处理响应:发送⽂本,接收返回的JSON格式的向量数据。

⽰例1:发起HTTP请求

curl https://api.openai.com/v1/embeddings  
	-H "Content-Type: application/json"  
	-H "Authorization: Bearer $OPENAI_API_KEY"  
	-d '{  
		"input": "Your text string goes here",  
		"model": "text-embedding-3-small"  
	}'

响应包含嵌⼊向量(浮点数列表)以及⼀些其他元数据:

{  
	"object": "list",  
	"data": [  
		{  
			"object": "embedding",  
			"index": 0,  
			"embedding": [  
				-0.006929283495992422,  
				-0.005336422007530928,  
				-4.547132266452536e-05,  
				-0.024047505110502243  
			],  
		}  
	],  
	"model": "text-embedding-3-small",  
	"usage": {  
		"prompt_tokens": 5,  
		"total_tokens": 5  
	}  
}

⽰例2:接⼊SDK

pip install openai
# 使⽤ OpenAI Python SDK  
from openai import OpenAI  
import os  

# 1. 设置 API Key  
client = OpenAI(api_key="your-api-key")  

# 2. 准备输⼊⽂本  
text = "这是⼀段需要转换为向量的⽂本。"  

# 3. 调⽤ API  
response = client.embeddings.create(  
	model="text-embedding-3-large", # 指定模型  
	input=text,  
	dimensions=1024 # 可选:指定输出维度,例如从3072降维到1024  
) 

# 4. 获取向量  
embedding = response.data[0].embedding  
print(f"向量维度:{len(embedding)}")  
print(embedding)
本地部署(开源)

这种⽅式需要⾃⾏准备计算资源(通常是带有GPU的机器)来运⾏模型,适合对数据隐私、成本和控
制权有更⾼要求的场景。
适⽤模型: Qwen3-Embedding-8B 等。
通⽤步骤:

  1. 环境准备:准备⼀台有⾜够GPU显存的服务器(对于Qwen3-Embedding-8B,需要⾄少16GB以上显存)。
  2. 模型下载:从Hugging Face等模型仓库下载模型权重⽂件和配置⽂件。
  3. 代码集成:使⽤像 transformers 这样的库来加载模型并进⾏推理。
    这部分有兴趣的同学可以下来⾃⾏研究。对于⼤多数初创项⽬或原型验证,从API⽅式开始是最佳选择。当应⽤规模化或⾯临严格的数据合规要求时,再考虑迁移到本地部署开源模型。
    在实际应⽤中,直接调⽤嵌⼊模型获取结果,与直接调⽤原⽣LLM存在相似的问题:⽆论是通过API还是本地部署获得向量,下⼀步通常都是将它们存⼊向量数据库(如Chroma,Milvus,Pinecone等)
    以供后续检索。为了便于切换不同的嵌⼊模型,很多项⽬会使⽤像LangChain这样的框架,它们提供了统⼀的嵌⼊模型接⼝。

模型平台

Hugging Face

Hugging Face是⼀个知名的开源库和平台,该平台以其强⼤的Transformer模型库和易⽤的API⽽闻名,为开发者和研究⼈员提供了丰富的预训练模型、⼯具和资源。对于从事AI研究的⼈来说,其重要性不亚于GitHub。
huggingface

魔搭社区

魔搭(ModelScope)是由阿⾥巴巴达摩院推出的开源模型即服务(MaaS)共享平台,汇聚了计算机视觉、⾃然语⾔处理、语⾳等多领域的数千个预训练AI模型。其核⼼理念是"开源、开放、共创",通过提供丰富的⼯具链和社区⽣态,降低AI开发⻔槛,尤其为企业本地私有化部署提供了⼀条⾼效路径。
ModelScope 魔搭社区

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐