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

我们目前的认知可以简单理解为模型是⼀个"超级加⼯⼚",这个⼯⼚是经过特殊训练的,训练师给它看了海量的例⼦ (数据),并告诉它该怎么做。通过看这些例⼦,它⾃⼰摸索出了⼀套规则,学会了完成某个"特定任 务"。模型就是⼀套学到的"规则"或者"模式",它能根据你给的东西,产⽣你想要的东西。 最简单的⽐喻:给模型很多组数据:

模型的任务就是找出输⼊和输出之间的规律(⽐如:输出是中间那个数)。学成之后: 当我们再输⼊ 8, 9, 10 时,它能根据学到的规律预测出输出应该是 9 。
模型的关键特点在于:
1.特定任务:⼀个模型通常只擅⻓⼀件事。⽐如:
- ⼀个模型专⻔识别图⽚⾥是不是猫。
- ⼀个模型专⻔预测明天会不会下⾬。
- ⼀个模型专⻔判断⼀条评论是好评还是差评。
2.需要"标注数据":训练这种模型需要⼤量"标准答案"。(⽐如:成千上万张已经标注好"是
猫"或"不是猫"的图⽚)。
3.参数较少:参数是模型从数据中学到的"知识要点"或"内部规则"(⽐如:上述⽰例中的规则仅
是"中间数")。参数较少说明模型的复杂度和能⼒相对有限。
2.认识大语言模型
我们平常日常使用的豆包,千问,deekseep,chatgpt其实都是大语言模型。

1.什么是大语言模型?
⼤语⾔模型(Large Language Model,LLM)是指基于**⼤规模神经⽹络** (参数规模通常达数⼗亿⾄万 亿级别,例如GPT-3包含1750亿参数),通过**⾃监督** 或半监督⽅式 ,对海量⽂本进⾏训练的语⾔模型。
名词解释:
1. 神经⽹络:⼀个极其⾼效的"团队⼯作流程"或"条件反射链"。
例如教⼀个⼩朋友识别猫:
不会只给⼀条规则(⽐如"有胡⼦就是猫"),因为兔⼦也有胡⼦。
我们会让他看很多猫的图⽚,他⼤脑⾥的视觉神经会协同⼯作:
有的神经元负责识别"尖⽿朵",
有的负责识别"胡须",
有的负责识别"⽑茸茸的尾巴"。
这些神经元⼀层层地传递和组合信息,最后⼤脑综合判断:"这是猫!"

神经⽹络就是模仿⼈脑的这种⼯作⽅式,它由⼤量虚拟的"神经元"(也就是参数)和连接组成。
每个神经元都像⼀个⼩处理单元,负责处理⼀点点信息。⽆数个神经元分成很多层,前⼀层的输
出作为后⼀层的输⼊。
通过海量数据的训练,这个⽹络会⾃⼰调整每个"神经元"的重要性(即参数的值),最终形成
⼀个⾮常复杂的"判断流⽔线"。⽐如,⼀个识别猫的神经⽹络,某些参数可能专⻔负责识别猫
的眼睛,另⼀些参数专⻔负责识别猫的轮廓,之后将这些参数进行整合,来判断到底是不是一只猫。
简单说:神经⽹络就是⼀个通过数据训练出来的、由⼤量参数组成的复杂决策系统。
2.⾃监督学习:"完形填空"超级⼤师。
例如我们想学会⼀⻔外语,但没有⽼师给出题和批改。怎么办?
我们可以拿⼀本该语⾔的⼩说,⾃⼰玩"完形填空":随机盖住⼀个词,然后根据上下⽂猜测这个词是什么,⼀开始猜得乱七⼋糟。
但不断地重复这个过程,看了成千上万本书后,对这个语⾔的语法、词汇搭配、上下⽂逻辑了如指掌。现在不仅能轻松猜对被盖住的词,甚⾄能⾃⼰写出流畅的⽂章。

⾃监督学习就是这个过程。
- 模型⾯对海量的、没有标签的原始⽂本(⽐如互联⽹上的所有⽂章、⽹⻚)
- 它⾃⼰给⾃⼰创造任务:把⼀句话中间的某个词遮住,然后尝试根据前后的词来预测这个被遮住 的词。
- 通过亿万次这样的练习,模型就深刻地学会了语⾔的规律。它不需要⼈类⼿动去给每句话标 注"这是主语"、"这是谓语"。简单说:⾃监督就是让模型从数据本⾝找规律,⾃⼰给⾃⼰当⽼师。
3. 半监督学习:"师⽗领进⻔,修⾏在个⼈"。
例如你想学做菜:
师傅先教你⼏道招牌菜(⽐如⿇婆⾖腐、宫保鸡丁)⸺这相当于给了你⼀些 "有标注的数据"
(菜谱和成品)。
然后,师傅让你去尝遍天下各种美⻝,⾃⼰研究其中的⻔道⸺这相当于接触海量的 "⽆标注数
据" (各种未知的⻝材和味道)。
你结合师傅教的基本功和⾃⼰尝遍天下美⻝的经验,最终不仅能完美复刻招牌菜,还能创新出新
的菜式。这就是"半监督"。

先⽤少量带标签的数据让模型"⼊⻔",掌握⼀些基本规则,然后再让它去海量的⽆标签数据中⾃我
学习和提升。这对于⼤语⾔模型来说也是⼀种常⽤的训练⽅式。
简单说:半监督就是"少量指导+⼤量⾃学"的结合模式。
4.语⾔模型:⼀个"超级⾃动补全"或"语⾔预测器"。
例如你在⽤⼿机打字,输⼊"今天天⽓真",输⼊法会⾃动提⽰"好"、"不错"、"冷"等。这个
输⼊法之所以能提⽰,就是因为它内部有⼀个⼩型的"语⾔模型",它根据你输⼊的前⽂,计算下⼀
个词最可能是什么。

语⾔模型的核⼼任务就是预测下⼀个词。⼀个强⼤的语⾔模型,能够根据⼀段话,预测出最合理、最 通顺的下⼀个词是什么,这样⼀个个词接下去,就能⽣成⼀整段话、⼀篇⽂章。
简单说:语⾔模型就是⼀个计算"接下来最可能说什么"的模型。
现在,我们再回头看那段描述,就⼀⽬了然了。翻译成⼤⽩话就是:
⼤语⾔模型是⼀个:
⽤"超级团队⼯作流程"(⼤规模神经⽹络)搭建的,拥有数百亿甚⾄上万亿个"脑细胞"(参
数)的 "超级⾃动补全系统"(语⾔模型)。
它学习的⽅式,主要是通过⾃⼰玩"海量完形填空"(⾃监督学习),或者 "少量名师指导+海量 ⾃学" (半监督学习)......
从互联⽹上所有的⽂本数据中学会了语⾔的规律。
2.大语言模型的特点
- 规模巨⼤: 它的"脑细胞"(参数)特别多(通常达到数⼗亿甚⾄万亿级别),所以思考问题更复杂、更全⾯,就像⼀⽀百万⼤军和⼀个⼩分队的区别。
- 通⽤性强: 它不是为单⼀任务训练的。因为它通过"完形填空"学会的是整个语⾔世界的底层规律 (语法、逻辑、知识关联),⽽不是只背会了"猫的图⽚"。所以它能举⼀反三,把底层能⼒灵活 应⽤到聊天、翻译、写代码等各种任务上。这种"涌现"能⼒,就像孩⼦通过⼤量阅读后,突然能 写出意想不到的优美句⼦⼀样。
- 训练⽅式不同: 主要使⽤⾃监督学习,从海量⽆标注的原始⽂本中学习。它不依赖⼈⼯⼀张张地给 图⽚标"这是猫",⽽是直接从原始⽂本中⾃学,效率极⾼,规模可以做得⾮常⼤。
- 交互⽅式⾰命: 我们不⽤点按钮、写代码,直接像对⼈说话⼀样给它指令(Prompt) 它就能听懂 并执⾏,⽐如你直接说"写⼀⾸关于春天的诗",它就能给你写出来。
3.主流的大语言模型
- GPT-5 (OpenAI):⽀持 400k 背景信息⻓度,128k 最⼤输出标记,在多轮复杂推理、创意写作中表 现突出
- DeepSeek R1 (深度求索):开源,专注于逻辑推理与数学求解,⽀持128K⻓上下⽂和多语⾔ (20+语⾔) ,在科技领域表现突出
- Qwen2.5-72B-Instruct (阿⾥巴巴) :通义千问开源模型家族重要成员,擅⻓代码⽣成结构化数据 (如 JSON)处理⻆⾊扮演对话等,尤其适合企业级复杂任务,⽀持包括中⽂英⽂法语等 29 种语 ⾔
- Gemini 2.5 Pro (Google) :多模态融合标杆,⽀持图像/代码/⽂本混合输⼊,适合跨模态任务 (如 图⽂⽣成、技术⽂档解析)
更多可以参考Huggingface LLM 性能排⾏榜:
https://huggingface.co/spaces/ArtificialAnalysis/LLM-Performance-Leaderboard
4.提示词的编写
编写合理且有效的提⽰词,是我们与 AI 进⾏有效对话的第⼀步,好的提⽰词能显著提升模型输出的质 量和相关性。宗旨就是:将你的问题限定范围,让 AI 知道你要的答案具体要包含什么,提⽰词效果会大幅提升。

核⼼在于换位思考:想象 AI 对你提供的信息⼀⽆所知,你需要清晰、具体、⽆歧义地告诉它你要什么、在什么背景下、以什么⽅式呈现。善⽤⽰例、⻆⾊扮演、具体约束和迭代优化。
现在对于提示词的编写有一套主流的方案。
4.1 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种适合该⽤⼾的具体健康零⻝。
- 避免推荐任何具体的保健品或药物。 输出格式: 【免责声明】 此处输出声明 【核⼼原则】 • ... 【分餐建议】 • 早餐:... • 午餐:... 【健康零⻝推荐】 1. ... 2. ...
如果我们有针对性和目标性的告诉大语言模型,那么回答就会由专业性和针对性。
4.2 少样本提⽰ / 多⽰例提⽰
这种⽅式通过给 AI 提供⼀两个 输⼊ - 输出 的例⼦,让它"照葫芦画瓢"。
核⼼思想:你不是在给它下指令,⽽是在"教"它你想要的格式、⻛格和逻辑。
适⽤场景:格式固定、⻛格独特、逻辑复杂的任务,如⻛格仿写、数据提取、复杂格式⽣成。
例如:
优化前(零样本提⽰):
2 🦜 9 等于多少?
优化后(少样本提⽰):
根据以下⽰例,处理问题。
⽰例1:2 🦜 3 = 5
⽰例2:4 🦜 7 = 11
现在请分析这个:2 🦜 9 等于多少?
再例如:
优化前(零样本提⽰):
请分析以下客⼾反馈,提取产品名称、情感倾向和具体问题。
反馈:"我刚买的⽿机,才⽤了⼀周左边就没声⾳了,太让⼈失望了。"
优化后(少样本提⽰):
请根据以下⽰例,分析后续的客⼾反馈,并提取产品名称、情感倾向和具体问题。
⽰例1:
反馈:"笔记本的电池续航太差了,完全达不到宣传的10⼩时,最多就4⼩时。"
分析:
产品名称:笔记本电池
情感倾向:负⾯
具体问题:续航远低于宣传
4.3 思维链提示
提⽰⼯程的关键⽬标是让 AI 更好地理解复杂语义。这种能⼒的⾼低,可以直接通过模型处理复杂逻辑 推理题的表现来检验。
可以这样理解:当好的提⽰词能帮助模型解决原本解决不了的难题时,就说明它确实提升了模型的推 理⽔平。并且,提⽰词设计得越出⾊,这种提升效果就越显著。通过设置不同难度的推理测试,可以很清晰地验证这⼀点。
举个例⼦(该⽰例来⾃论⽂: Large Language Models are Zero-Shot Reasoners ):

翻译⼀下问题:
杂耍者可以杂耍16个球。其中⼀半的球是⾼尔夫球,其中⼀半的⾼尔夫球是蓝⾊的。请问总共有多
少个蓝⾊⾼尔夫球?
推理结果:
8 个蓝⾊⾼尔夫球
可以看到,答案错误。该逻辑题的数学计算过程并不复杂,但却设计了⼀个语⾔陷阱,即⼀半的⼀半是多少。
为了解决类似的逻辑问题,可以使⽤思维链提⽰。思维链提⽰相较于少样本提⽰是⼀种更好的提⽰⽅ 法,思维链提⽰最常⽤的两种⽅式:
Few-shot-CoT:少样本思维链
Zero-shot-CoT:零样本思维链
相⽐于少样本提⽰(Few-shot),少样本思维链(Few-shot-CoT)的不同之处只是在于需要在提⽰样 本中不仅给出问题的答案、还同时需要给出问题推导的过程(即思维链),从⽽让模型学到思维链的推导过程,并将其应⽤到新的问题中。此技巧主要⽤于解决复杂推理问题,如数学、逻辑或多步骤规划。
核⼼思想:要求 AI "展⽰其⼯作过程",⽽不是直接给出最终答案。这模仿了⼈类解决问题时的思考 ⽅式。
适⽤场景:数学题、逻辑推理、复杂决策、需要解释过程的任务。
例如,⼿动写⼀个思维链作为少样本提⽰的⽰例:
Q:"罗杰有五个⽹球,他⼜买了两盒⽹球,每盒有3个⽹球,请问他现在总共有多少个⽹球?"
A:"罗杰起初有五个⽹球,⼜买了两盒⽹球,每盒3个,所以,他总共买了2×3=6个⽹球,将起始
的数量和购买的数量相加,可以得到他现在总共的⽹球数量:5+6=11,所以罗杰现在总共有11个⽹ 球"
在获得了⼀个思维链⽰例后,就可以以此作为样本进⾏ Few-shot-CoT 来解决第⼆个推理问题,如下所示:
⽰例1:
Q:"罗杰有五个⽹球,他⼜买了两盒⽹球,每盒有3个⽹球,请问他现在总共有多少个⽹球?"
A:"罗杰起初有五个⽹球,⼜买了两盒⽹球,每盒3个,所以,他总共买了2×3=6个⽹球,将起始
的数量和购买的数量相加,可以得到他现在总共的⽹球数量:5+6=11,所以罗杰现在总共有11个⽹ 球"
问:"⻝堂总共有23个苹果,如果他们⽤掉20个苹果,然后⼜买了6个苹果,请问现在⻝堂总共有多
少个苹果?
4.4 ⾃动推理与零样本链式思考
零样本思维链(Zero-shot-CoT)这是少样本思维链(Few-shot-CoT)的简化版。只需在提⽰词末尾 加上⼀句魔法短语,即可激发 AI 的推理能⼒。
核⼼思想:通过指令 " 请⼀步步进⾏推理并得出结论 " ,强制 AI 在给出答案前先进⾏内部推理。 适⽤场景:任何需要⼀点逻辑思考的问题,即使你不太清楚具体步骤。
例如:
罗杰有五个⽹球,他⼜买了两盒⽹球,每盒有3个⽹球,请问他现在总共有多少个⽹球?请⼀步步进 ⾏推理并得出结论。
AI 的输出可能会变成:
罗杰最初有5个⽹球。 他买了两盒⽹球,每盒有3个⽹球,所以买来的⽹球数量是:2 × 3 = 6个⽹球。 因此,他现在总共有⽹球:5 + 6 = 11个。
答案:11个⽹球。
" ⼀步步进⾏推理 " 这个指令,相当于在引导模型的"注意⼒机制"。它告诉模型:"在⽣成最终答
案之前,请先在你的'脑海'⾥(即⽣成的⽂本序列中)模拟出⼀个缓慢、有序的推理上下⽂。"
当模型开始输出"第⼀步...第⼆步..."时,它实际上是在为⾃⼰创造⼀个更丰富、更逻辑化的上下⽂。 它在这个⾃⼰创造的优质上下⽂中进⾏推理,最终得出的结论⾃然⽐在贫瘠的上下⽂中(只有原始问 题)更准确。
根据《Large Language Models are Zero-Shot Reasoners》论⽂中的结论,从海量数据的测试结果来 看,Few-shot-CoT ⽐ Zero-shot-CoT 准确率更⾼。
4.5 自我批判与迭代
要求 AI 在⽣成答案后,从特定⻆度对⾃⼰的答案进⾏审查和优化。
核⼼思想:将"⽣成"和"评审"两个步骤分离,利⽤ AI 的批判性思维来提升内容质量。
适⽤场景:代码审查、⽂案优化、论证强化、安全检查。
案例:编写⼀段代码后进⾏检查
优化前:
写⼀个Python函数,计算列表中的最⼤值。
优化后:
请执⾏以下两个步骤:
步骤⼀:编写代码
写⼀个Python函数 find_max ,⽤于计算⼀个数字列表中的最⼤值。
步骤⼆:⾃我审查与优化
现在,请从代码健壮性和可读性的⻆度,审查你上⾯编写的代码。
请回答:
-
如果输⼊是空列表,函数会怎样?如何改进?
-
变量命名和代码结构是否清晰?能否让它更易于理解?
-
请根据你的审查,给出⼀个优化后的最终版本。
在实际应⽤中,这些技巧常常是组合使⽤的。例如,我们可以: -
使⽤ CO-STAR 框架设定基本结构和⻆⾊。
-
在框架的"Steps"或"Response"部分,融⼊思维链指令。
-
对于格式复杂的输出,在最后附上少样本⽰例。
-
最后,要求 AI 进⾏⾃我审查。
我们更多使⽤ LLM 的场景⼤都是编写代码,如果你们⽤过 Cursor、Trae这样的 AI IDE。应该不陌⽣在 AI 帮我们编码之前,需要配置相关的"编码规则"--Rules。它其实就是这些 IDE 输⼊给 LLM 的提⽰ 词,告诉 LLM 编写代码时的注意事项与要求。
Cursor 官⽅提⽰词: Cursor Directory - Plugins for Cursor
3.LLM的接入方式
前⾯我们演⽰的都是通过现成的客⼾端,来进⾏ AI ⾏为,如聊天、⽣图等。如果现在要我们⾃⼰写⼀ 个 AI 应⽤来实现相关 AI ⾏为,则需要我们⾃⾏接⼊ LLM。
常⻅的原⽣ LLM (不经过第三⽅平台或复杂的代理层,直接与⼤语⾔模型提供⽅进⾏交互的⽅法)接入方式有三种:【API 远程调⽤】、【开源模型本地部署】和【SDK 和官⽅客⼾端库】
这里我们只展示【API 远程调⽤】【SDK 和官⽅客⼾端库】

3.1 SDK 和官方客户端库
这是⽬前最主流、最便捷的接⼊⽅式,尤其适⽤于快速开发、集成到现有应⽤以及不想管理硬件资源 的场景。
通过 HTTP 请求(通常是 RESTful API)直接调⽤模型提供商部署在云端的模型服务。代表⼚商:
OpenAI (GPT-4o),Anthropic (Claude),Google (Gemini),百度⽂⼼⼀⾔,阿⾥通义千问,智谱 AI 等。
我们连接gpt-4o-mini大模型,这里我们通过国内中转站进行连接。
UiUiAPI聚合平台
典型流程就是:
- 注册账号并获取 API Key:在模型提供商的平台上注册,获得⽤于⾝份验证的密钥。
- 查阅 API ⽂档:了解请求的端点、参数(如模型名称、提⽰词、温度、最⼤⽣成⻓度等)和返回的 数据格式。
- 构建 HTTP 请求:在你的代码中,使⽤ HTTP 客⼾端库(如 Python 的 requests )构建⼀个包 含 API Key(通常在 Header 中)和请求体(JSON 格式,包含你的提⽰和参数)的请求。
- 发送请求并处理响应:将请求发送到提供商指定的 API 地址,然后解析返回的 JSON 数据,提取生成的⽂本。
我们注册登录后点击左侧的令牌管理,创建令牌,填写好之后,就可以创建应该令牌。

之后在就会出现一条创建好的密钥

这里面的密钥要自己保管好,千万不要泄露出去。
使用python代码来访问gpt-4o-mini
python
from openai import OpenAI
# 配置代理(中转站)和 API Key
client = OpenAI(
api_key="你的中转站API Key", # 替换成你的 Key
base_url="https://你的中转站地址/v1" # 替换成你的中转站地址
)
# 调用模型
response = client.responses.create(
model="gpt-4o-mini",
input="介绍一下你自己。"
)
# 输出结果
print(response.output_text)
将里面的API Key也就是我们刚刚生成的密钥,和base_url设置为网站的接入地址。
运行结果:
python
D:\Digital_image_processing\python.exe D:\OPENAI\LangChain\lang.py
我是一个由人工智能驱动的语言模型,旨在帮助用户解答问题、提供信息和进行交流。我的知识涵盖多个领域,包括科学、历史、技术、艺术等。我可以进行对话、提供建议、撰写文本,还有助于学习新知识。如果你有任何具体问题或需要帮助的地方,随时问我!
3.2 开源模型本地部署
这里就不做演示了,感兴趣的可以自己去找找资料。
3.3 API 远程调用
首先我们需要下载一个可以模拟客户端的软件,postman和apifox都可以。
下面是apifox的官网网址:
Apifox - API 文档、调试、Mock、测试一体化协作平台。拥有接口文档管理、接口调试、Mock、自动化测试等功能,接口开发、测试、联调效率,提升 10 倍。最好用的接口文档管理工具,接口自动化测试工具。
由于访问的gpt-4o-mini是国外的大模型,所以这里需要魔法上网一下,魔法上网的方法大家可以自己去找一找资料,这里不做过多解释。


在请求头中我们需要告诉大模型数据的格式
Content-Type:json格式
和访问的官网的密钥
Authorization:保存的密钥

返回结果:
cpp
代码块
{
"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": {}
}
4.问题与思考
对于以上三种接⼊⽅式,我们该如何选择?
- 看数据敏感性:如果数据极其敏感,必须留在内部,本地部署是唯⼀选择。
- 看技术实⼒和资源:如果团队没有强⼤的 MLops(机器学习运维)能⼒,也没有预算购买和维护
- GPU 服务器,云端 API 是更实际的选择。
- 看成本和规模:如果应⽤规模很⼤,⻓期来看,本地部署的固定成本可能低于持续的 API 调用费用。反之,⼩规模应⽤ API 更划算。
- 看定制需求:如果只是使⽤模型的通⽤能⼒,云端 API ⾜够。如果需要⽤⾃⼰的数据微调模型,则
需要选择⽀持微调的 API 或直接本地部署。
实际上,只要是原⽣ LLM,⽆论怎么接⼊都有限制。为什么?
1.**输入长度限制:**所有 LLM 都有固定的输⼊⻓度(如4K、8K、128K、400K Token)。我们⽆法将 ⼀本几百页的 PDF 或整个公司知识库直接塞给模型。

2. **缺乏私有知识:**模型的训练数据有截⽌⽇期,且不包含我们的私⼈数据(如公司内部⽂档、个⼈笔 记等)。让它基于这些知识回答问题,⾮常困难。

3.复杂任务处理能⼒弱:原⽣ API 本质是⼀个"⼀问⼀答"的接⼝。对于需要多个步骤的复杂任务
(如"分析这份财报,总结要点,并⽣成⼀份PPT⼤纲"),我们需要⾃⼰编写复杂的逻辑来拆解
任务、多次调⽤ API 并管理中间状态。
4.输出格式不可控:虽然可以通过提⽰词要求模型输出 JSON 或特定格式,但它仍可能产⽣格式错误 或不合规的内容,需要我们⾃⼰编写后处理代码来校验和清洗。
像 LangChain 这样的框架,正是为了系统性地解决这些问题⽽诞⽣的。
3.认识嵌入式模型
3.1什么是嵌入模型?
⼤语⾔模型是⽣成式模型。它理解输⼊并⽣成新的⽂本(回答问题、写⽂章)。它内部实际上也使⽤ 嵌⼊技术来理解输⼊,但最终⽬标是"创造"。
而嵌⼊模型(Embedding Model)是表示型模型。它的目标不是⽣成⽂本,⽽是为输⼊的⽂本创建
⼀个最佳的、富含语义的数值表示(向量)。
由于计算机天⽣擅⻓处理数字,但不理解文字、图片的含义。嵌⼊(Embedding)的核⼼思想就是将 ⼈类世界的符号(如单词、句⼦、产品、⽤⼾、图⽚)转换为计算机能够理解的数值形式(即向量, 本质上是⼀个数字列表),并且要求这种转换能够保留原始符号的语义和关系。

我们可以把它想象成⼀个翻译过程,把⼈类语⾔"翻译"成计算机的"数学语⾔"。
结论:既然是"数学语言",那么我们可以⽤数学的⽅式来⽐较向量,从而达到【度量语义】的⽬
的!
3.2 嵌入模型应⽤场景
根据嵌⼊的特性,由此延伸出了许多嵌⼊模型在 AI 应⽤的使⽤场景:
3.2.1语义搜索(Semantic Search)
传统搜索:依赖关键词匹配(搜 "苹果" ,只能找到包含 "苹果" 这个词的⽂档)。
语义搜索:则能将查询和⽂档都转换为向量,通过计算向量间的相似度来找到相关内容,即使⽂档中 没有查询的确切词汇也能被检索到。如下图所⽰,即使知识库中并未直接出现 " 笔记本电脑⽆法充电" 这个词组,语义搜索也能通过向量相似度精准地找到该⽂档。

3.2.2 检索增强生成(Retrieval-Augmented Generation, RAG)
这是当前⼤语⾔模型应⽤的核⼼模式。当用户向 LLM 提问时,系统⾸先使⽤嵌⼊模型在知识库(如公 司内部⽂档)中进⾏语义搜索,找到最相关的内容,然后将这些内容和问题⼀起交给 LLM 来⽣成答案。这极⼤地提⾼了答案的准确性和时效性。
例如:⼀家公司的内部客服机器⼈接到员⼯提问: " 我们今年新增加的带薪育儿假政策具体是怎样
的? " 系统会首先使用嵌⼊模型在公司的最新⼈事制度⽂档、福利更新备忘录等资料中进⾏语义搜
索,找到关于 "今年育⼉假规定" 的具体条款,然后将这些【条款】和【问题】⼀起提交给 LLM,
LLM 便能⽣成⼀个准确、具体的摘要回答,⽽⾮仅凭其内部训练数据可能产⽣的过时或泛泛的答案。

3.2.3 推荐系统(Recommendation Systems)
将用户(根据其历史⾏为、偏好)和物品(商品、电影、新闻)都转换为向量。喜欢相似物品的⽤用户,其向量会接近;相似的物品,其向量也会接近。通过计算⽤⼾和物品向量的相似度,就可以进行精准推荐。
例如:⼀个流媒体平台将用户 A(喜欢观看《盗梦空间》和《⿊镜》)和所有电影都表⽰为向量。系统 发现用户 A 的向量与那些也喜欢《盗梦空间》和《⿊镜》的用户向量很接近,⽽这些用户普遍还喜欢 《星际穿越》。尽管用户A从未看过《星际穿越》,但通过计算⽤⼾向量与电影向量的相似度,系统会 将这部电影推荐给用户 A。
3.2.4 异常检测(Anomaly Detection)
正常数据的向量通常会聚集在⼀起。如果⼀个新数据的向量远离⼤多数向量的聚集区,它就可能是⼀ 个异常点(如垃圾邮件、欺诈交易)。
例如:⼀个信⽤卡交易反欺诈系统,通过学习海量正常交易记录(如⾦额、地点、时间、商户类型等特征的向量)形成了"正常交易"的向量聚集区。当⼀笔新的交易发⽣时,系统将其转换为向量。如果该向量出现在"正常聚集区"之外(例如,⼀笔发⽣在通常消费地之外的⾼额交易),系统则会将 其标记为潜在的欺诈交易并进⾏警报。

3.3 主流的嵌入式模型
- 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
其他参考:
Huggingface 的 MTEB 评测: huggingface.co
Huggingface 的 MTEB(Massive Multilingual Text Embedding Benchmark)评测,是业界⽐较公 认的标准
3.4 嵌入模型接入方式
嵌⼊模型接⼊和使⽤⽅式根据模型类型(开源或闭源)有根本性的不同。下图清晰地展⽰了两种典型的接入流程:

3.4.1 API 接入(闭源)
这是最快速、最简单的⽅式,⽆需管理任何基础设施。只需要向模型提供商的服务端发送⼀个 HTTP 请求即可。
适用模型: text-embedding-3-large , gemini-embedding-001 等。
通用步骤:
- 注册账号并获取API Key:在对应的云服务平台(如OpenAI Platform, Google AI Studio/Vertex AI)上注册账号,获取⽤于⾝份验证的API Key。
- 安装 SDK 或构造 HTTP请求:使⽤官⽅提供的SDK(如 openai , google-generativeai ) 或直接构造HTTP请求。
- 调用API并处理响应:发送⽂本,接收返回的JSON格式的向量数据。
示例1:发起 HTTP 请求
代码块
cpp
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"
}'
响应包含嵌⼊向量(浮点数列表)以及⼀些其他元数据:
cpp
{
"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
安装库文件
cpp
pip install openai
示例代码:
cpp
# 使⽤ 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)
3.4.2 本地部署
这种⽅式需要⾃⾏准备计算资源(通常是带有GPU的机器)来运⾏模型,适合对数据隐私、成本和控 制权有更⾼要求的场景。
适用模型: Qwen3-Embedding-8B 等。
通用布骤:
- 环境准备:准备⼀台有⾜够 GPU 显存的服务器(对于Qwen3-Embedding-8B,需要⾄少16GB以 上显存)。
- 模型下载:从 Hugging Face 等模型仓库下载模型权重⽂件和配置⽂件。
- 代码集成:使⽤像 transformers 这样的库来加载模型并进行推理。
这部分有兴趣的伙伴可以下来⾃⾏研究。对于⼤多数初创项目或原型验证,从API方式开始是最佳选 择。当应⽤规模化或⾯临严格的数据合规要求时,再考虑迁移到本地部署开源模型。
在实际应用中,直接调⽤嵌⼊模型获取结果,与直接调用原生 LLM 存在相似的问题:⽆论是通过 API 还是本地部署获得向量,下⼀步通常都是将它们存⼊向量数据库(如Chroma, Milvus, Pinecone等) 以供后续检索。为了便于切换不同的嵌⼊模型,很多项⽬会使⽤像 LangChain 这样的框架,它们提供了统⼀的嵌⼊模型接口。



