【LangChain】大模型介绍

目录

一.LangChain简介

二.大模型介绍

2.1.模型

2.2.大语言模型(LLM)

2.3.主流的LLM

[2.4. LLM 的能力包括哪些?](#2.4. LLM 的能力包括哪些?)

三.提示词编写技巧

3.1.CO-STAR结构化框架

一个完整的对比示例:健康咨询

[3.2 少样本提示 / 多示例提示](#3.2 少样本提示 / 多示例提示)

示例一:自定义运算符号

示例二:客户反馈分析

3.3.思维链提示

3.4.自动推理与零样本链式思考(Zero-shot-CoT)

3.5.自我批判与迭代

[四.为什么 LLM 如此重要?](#四.为什么 LLM 如此重要?)

五.LLM接入

[5.1.方式一:API 远程调用](#5.1.方式一:API 远程调用)

5.2.方式二:开源模型本地部署

[5.3.方式三:SDK 和官方客户端库](#5.3.方式三:SDK 和官方客户端库)

5.4.问题思考

六.嵌入模型

6.1.什么是嵌入模型

6.2.嵌入模型应用场景

6.3.接入方式


一.LangChain简介

什么是LangChain?

我们在使用deepseek的时候,可能会去下面这个网站进行提问

其实我们也可以调用deepseek的接口去进行提问

我们在使用 DeepSeek 时,通常有两种方式:

  • 一是直接访问官网的对话页面进行提问
  • 二是通过调用 DeepSeek 提供的 API 接口来实现程序化调用。

直接调用 API 接口时,开发者很容易犯错------比如处理不好请求格式、认证、超时、重试、错误解析等细节,稍有不慎就会导致请求失败或程序崩溃。

这时,LangChain 就像一个可靠的"缓冲区"或"代理层"。我们不再需要手动拼接请求、处理异常,只要把 LangChain 配置好(比如设置好模型、提示词等),它就会自动帮我们调用底层的 API 接口,并处理好各种可能出错的环节。

所以,用 LangChain 确实能避免直接调用 API 的诸多麻烦,让开发更简单、更健壮。

如何让大模型不仅仅是一个百科全书,而是成为一个能行动,能思考,能融入我们业务流程的智能伙伴?

要让大模型不再只是被动回答知识性问题,而是主动思考、调用工具、执行操作、融入业务逻辑,就需要给它配备"手脚"和"记忆"。

这正是 LangChain 发挥作用的地方。它提供了一整套框架,让大模型能够:

  • 链式思考:把一个复杂任务拆解成多个步骤,一步一步推理和执行。

  • 调用外部工具:比如搜索引擎、数据库、API、计算器、代码解释器等,让模型不仅能"说",还能"做"。

  • 记忆与上下文管理:支持短期和长期记忆,让模型在多轮交互中记住关键信息,具备持续协作能力。

  • 集成业务流程:通过模板、代理(Agent)和回调机制,LangChain 能把大模型无缝嵌入到你的审批、查询、报告生成、自动化决策等真实业务场景中。

简单说:大模型提供了"大脑",LangChain 提供了"神经系统"和"手脚"

用 LangChain 把模型和你现有的系统、数据、工具连接起来,你就能获得一个不仅能回答问题,还能主动帮你完成任务、融入工作流的智能伙伴。

二.大模型介绍

2.1.模型

模型可以理解为一个从数据中自动学习规律的数学函数计算机程序。它本质上是一类旨在处理并生成信息的算法,通常会模仿人类的某些认知功能,如理解、推理、判断或创造。

通过学习海量数据集中的模式和深层结构,模型能够进行预测、分类、生成文本、图像、音频或其他形式的输出。这种能力使得模型可以在各行各业中被广泛应用,例如自动化决策、内容推荐、智能客服、医疗诊断辅助、代码生成等,从而显著提升效率和智能化水平。

简单来说:模型就是一套通过数据训练出来的、能够接收输入并产生有用输出的规则系统。它的价值在于,不需要人为编写所有规则,而是让模型自己从例子中学会怎么做。

我们举个例子

假设你想教一个孩子识别"苹果"和"香蕉"。

你不会给他讲复杂的定义,而是给他看很多张图片,每张图片旁边告诉他:"这是苹果"、"这是香蕉"。

孩子看了几十张图片后,自己总结出了规律:

  • 红色、圆形的一般是苹果

  • 黄色、弯弯的一般是香蕉

这个时候,这个孩子的大脑里就形成了一个"识别模型"。以后你给他一张新水果的图片,他就能根据颜色和形状判断是苹果还是香蕉。

在这个例子中:

  • 训练数据:那些带标签的图片(苹果/香蕉)

  • 学习过程:孩子观察图片、总结颜色和形状的规律

  • 模型:孩子脑子里那个"红色圆形→苹果,黄色弯形→香蕉"的判断规则

  • 预测:看到新图片,输出"苹果"或"香蕉"

这个例子虽然简单,但它体现了所有模型的核心过程:从已知的例子中学习规律,然后用这个规律去处理未知的新情况

可以简单理解为:模型就像一个"超级加工厂"

这个工厂是经过专门训练的。训练师(也就是算法工程师)给工厂看了海量的例子(数据),并告诉它针对每个例子应该产出什么结果。

通过反复观察这些例子,工厂自己摸索出了一套加工规则------比如什么样的输入对应什么样的输出。最终,它学会了完成某一个特定任务

所以,模型本质上就是一套学到的规则模式。训练完成后,你给它一个输入(比如一个问题、一张图片、一段文字),它就会按照自己学到的规则,自动产生你想要的东西(比如一个答案、一个分类、一段生成的内容)。

补充一点:这个工厂的"加工能力"取决于两个因素------一是训练时看的例子够不够多、够不够好,二是工厂本身的"规模"(也就是模型的参数数量)够不够大。例子越多越丰富,工厂学到的规则就越准确;工厂规模越大,它能处理的任务就越复杂。


模型的核心任务就是找出输入和输出之间的规律。比如,给定一个由三个数组成的列表,我们希望模型学会输出中间那个数。训练时,我们会给它很多例子,比如:

  • 输入 [1, 2, 3] → 输出 2

  • 输入 [4, 5, 6] → 输出 5

  • 输入 [7, 8, 9] → 输出 8

模型通过反复观察这些例子,自己总结出规律:"输出是中间那个数"。

学成之后,当我们再输入 [8, 9, 10] 时,它就能根据学到的规律预测出输出应该是 9


模型的关键特点
1.一个模型通常只擅长一件事。

就像你训练了一个专门找中间数的模型,它就没办法同时去识别图片里的猫。常见的例子:

一个模型专门识别图片里是不是猫

一个模型专门预测明天会不会下雨

一个模型专门判断一条评论是好评还是差评

2.训练这种模型需要大量带"标准答案"的例子。

比如,要训练一个识别猫的模型,你需要成千上万张已经标注好"是猫"或"不是猫"的图片。模型就是从这些标注中学习规律。

3.参数可以理解为模型从数据中学到的"知识要点"或"内部规则"。

在上面的例子中,规则很简单,就是"输出中间那个数",所以模型的参数很少。

参数少意味着模型的复杂度和能力相对有限------它能处理的任务比较简单,但也因此训练快、运行快,更容易被人理解。

2.2.大语言模型(LLM)

大语言模型(Large Language Model,LLM) 是指基于大规模神经网络 构建的语言模型,其参数规模通常达到数十亿至万亿级别(例如,GPT-3 的参数量为 1750 亿)。

这些模型通过自监督学习半监督学习的方式,在海量文本数据上进行训练。所谓自监督学习,简单说就是模型从文本本身自动构造学习信号------比如把一句话中的某个词遮住,让模型去预测这个词,通过反复练习,模型逐渐掌握了语法、语义和世界知识。

补充几点帮助理解:

  1. "大"在哪里

    • 参数大:百亿到万亿级别的参数,意味着模型内部有极其复杂的计算结构。

    • 数据大:训练文本通常达到 TB 级别,相当于整个维基百科、大量书籍、网页、代码等。

    • 计算大:需要数千张高性能 GPU 连续训练数周甚至数月。

  2. 与传统语言模型的区别

    传统语言模型可能只关注简单的词频统计或局部搭配,而大语言模型因为规模巨大,产生了涌现能力------自动学会了推理、翻译、编程、总结等未曾专门训练过的任务。

  3. 训练方式的核心

    自监督学习不需要人工标注所有数据,大大降低了对标注数据的依赖。模型先在大规模无标注文本上"预训练"出基础能力,然后再通过少量人工标注进行"微调"或"对齐",让模型更符合人类的交流习惯和安全规范。

  4. 典型例子

    • GPT 系列(OpenAI)

    • DeepSeek(深度求索)

    • LLaMA(Meta)

    • 文心一言(百度)、通义千问(阿里)等

哎呀我去??怎么这么多陌生词汇啊??

这些名称都是啥意思啊

  1. 神经网络
  2. 自监督学习
  3. 半监督学习
  4. 语言模型

别着急,我们现在就来好好讲讲

神经网络(Neural Network)

通俗解释

可以把它理解为一个极其高效的"团队工作流程"或"条件反射链"。

举个例子------教一个小朋友识别猫:

  • 我们不会只给一条简单规则(比如"有胡子就是猫"),因为兔子也有胡子。

  • 我们会让他看很多猫的图片,他大脑里的视觉神经元会协同工作:

    • 有的神经元负责识别"尖耳朵",

    • 有的负责识别"胡须",

    • 有的负责识别"毛茸茸的尾巴"。

  • 这些神经元一层一层地传递和组合信息:第一层看边缘和颜色,第二层组合成局部特征(耳朵、眼睛),第三层形成整体形状,最后大脑综合判断:"这是猫!"

技术定义

神经网络是一种受人脑结构启发的计算模型,由大量相互连接的"神经元"(简单的计算单元)组成。这些神经元按层排列:输入层接收原始数据,中间(隐藏)层逐层提取越来越抽象的特征,输出层产生最终结果。每个连接都有对应的"权重",模型通过训练不断调整这些权重,使得最终输出越来越接近正确答案。

关键特点

  • 自动学习特征:不需要人工设计规则,模型自己从数据中发现哪些特征有用。

  • 分层抽象:浅层识别简单模式(如边缘、颜色),深层组合成复杂概念(如猫脸)。

  • 容错性强:即使输入有噪声或缺失部分信息,仍能做出合理判断。

与大模型的关系

大语言模型(如DeepSeek、GPT)的本质就是规模巨大的、深度达到数百层的神经网络。参数越多、层数越深,它能学到的模式就越复杂,表现出来的能力也越强。

神经网络就是模仿人脑神经元协同工作的方式构建出来的计算模型。

  • 它由大量虚拟的"神经元"(也就是模型中的参数)以及它们之间的连接组成。

  • 每个神经元就像一个小处理单元,只负责处理一点点信息。无数个神经元分成很多层,前一层神经元的输出会作为后一层神经元的输入,信息就这样一层层传递下去。

  • 通过海量数据的训练,这个网络会自己调整每个神经元连接的强弱(也就是参数的值),最终形成一个非常复杂的"判断流水线"。

    比如,一个专门识别猫的神经网络,某些参数可能专门负责识别猫的眼睛,另一些参数专门负责识别猫的轮廓,更高层的参数则负责把这些局部特征组合成完整的"猫"的判断。

简单说:神经网络就是一个通过数据训练出来的、由大量参数组成的复杂决策系统。它不需要人为编写所有判断规则,而是从例子中自己学会如何把输入一步步转换成正确的输出。

自监督学习:"完形填空"超级大师

我们可以这样理解:假如你想学会一门外语,但没有老师给你出题、批改,怎么办?

一个有效的方法是:拿一本该语言的小说,自己玩"完形填空"游戏------随机盖住其中的一个词,然后根据上下文来猜测这个词是什么。

  • 一开始肯定猜得乱七八糟,错误百出。

  • 但如果你不断重复这个过程,看了成千上万本书之后,你就会对这门语言的语法、词汇搭配、上下文逻辑变得了如指掌。

  • 到那个时候,你不仅能轻松猜出被盖住的词,甚至能自己写出流畅的文章。

自监督学习,就是这个过程的翻版。

  • 模型面对海量的、没有人工标签的原始文本(比如互联网上的所有文章、网页、书籍、代码等)。

  • 它自己给自己创造任务:把一句话中间的某个词遮住(或者打乱顺序、预测下一句等),然后尝试根据前后的词来预测被遮住的词是什么。

  • 通过亿万次这样的练习,模型就深刻地学会了语言的规律------比如词语之间的搭配、句子的结构、逻辑关系等。它完全不需要人类手动去标注"这是主语"、"这是谓语"之类的信息。

简单说 :自监督学习就是让模型从数据本身中找规律,自己给自己当老师。这正是大语言模型(如GPT、DeepSeek)能够在海量无标签文本上学习的基础技术,也是它们能够掌握丰富知识和语言能力的关键原因。

半监督学习:"师傅领进门,修行在个人"

我们可以用学做菜来理解这个过程:

  • 师傅先教你几道招牌菜(比如麻婆豆腐、宫保鸡丁)------这相当于给了你一些"有标注的数据"(明确的菜谱和成品对照)。

  • 然后,师傅让你去尝遍天下各种美食,自己研究其中的门道------这相当于让你接触海量的"无标注数据"(各种未知的食材、调料搭配、火候变化等)。

  • 你结合师傅教的基本功和自己尝遍天下美食的经验,最终不仅能完美复刻招牌菜,还能自己创新出新菜式。这就是"半监督学习"的精髓。

技术上的解释

半监督学习是一种介于监督学习和无监督学习之间的方法。它先用少量带标签的数据让模型"入门",掌握一些基本规则(比如什么是主语、谓语,或者什么是正面评论),然后再让模型去面对海量的无标签数据,从中自我学习和提升。模型会利用从少量标注数据中学到的初步规律,去推断无标签数据中的潜在结构,从而不断改进自己的表现。

为什么对大语言模型很重要

虽然大语言模型主要以自监督学习为主(完形填空式训练),但在某些场景下也会用到半监督学习的思想。例如:先用几千条人工标注的高质量对话数据对模型进行初步"对齐",然后让模型在大量未标注的对话文本上继续自我优化。这样既节省了昂贵的人工标注成本,又能有效提升模型的表现。

简单说 :半监督学习就是 "少量指导 + 大量自学" 的结合模式。它让模型既不是完全依赖人工标注(成本太高),也不是完全漫无目的地自学(效率太低),而是找到了一条更经济、更高效的提升路径。

语言模型:一个"超级自动补全"或"语言预测器"

你可以用手机打字来理解这个概念:

当你输入"今天天气真",输入法会自动提示"好"、"不错"、"冷"等可能的后续词。

输入法之所以能给出这些提示,是因为它内部有一个小型的语言模型。这个模型会根据你已输入的前文,计算下一个词最可能是什么。

语言模型的核心任务 就是:预测下一个词(或字符)

一个强大的语言模型,能够根据一段话的前文,预测出最合理、最通顺的下一个词。然后把这个词加入前文,继续预测再下一个词......这样一次次重复,就能自动生成一整段话、一篇文章,甚至一整本书。

补充几点帮助理解:

  • 传统 vs 现代:早期的语言模型主要靠统计词频(比如统计"天气真"后面出现"好"的概率),现在的大语言模型则基于深度神经网络,能理解更复杂的上下文和语义。

  • 大语言模型就是"巨型语言模型":当语言模型的规模(参数)和数据量扩大到百亿、千亿级别后,它不仅能做简单的预测,还会涌现出翻译、推理、编程等复杂能力。

  • 本质是概率计算:语言模型内部其实是在给每个可能的词打分------哪个词出现的概率最高,就选哪个(或按概率随机选择),这样生成的文本才会既流畅又有多样性。

简单说 :语言模型就是一个计算 "接下来最可能说什么" 的模型。你看到的所有由 AI 生成的文本,无论是聊天回答、文章摘要还是诗歌创作,本质上都是语言模型在一次次"预测下一个词"的过程中逐步生成的。

回归大语言模型

大语言模型其实是一个:

  • "超级团队工作流程" (也就是大规模神经网络)搭建起来的、拥有数百亿甚至上万亿个 "脑细胞" (参数)的 "超级自动补全系统"(语言模型)。

  • 它学习的方式,主要是自己玩"海量完形填空" (自监督学习),或者结合 "少量名师指导 + 海量自学"(半监督学习)。

  • 它从互联网上所有的文本数据(网页、书籍、代码、论文等)中,自己学会了语言的规律------包括语法、词义、逻辑关系、甚至一些常识和推理能力。

因此,大语言模型具有以下几个核心特点:

  1. 规模巨大

    它的"脑细胞"(参数)特别多,通常达到数十亿甚至万亿级别。参数越多,模型思考问题就越复杂、越全面。好比一支百万大军 vs 一个小分队,战斗力完全不在一个量级。

  2. 通用性强

    它不是为单一任务训练的(比如只识别猫的图片)。因为它通过"完形填空"学会的是整个语言世界的底层规律 (语法、逻辑、知识关联),而不是死记硬背某个具体答案。所以它能举一反三,把学到的底层能力灵活应用到聊天、翻译、写代码、写诗等各种任务上。这种能力叫 "涌现"------就像孩子通过大量阅读后,突然能写出意想不到的优美句子一样。

  3. 训练方式不同

    传统模型很多依赖人工标注数据(比如一张张标注"这是猫"的图片),成本高、规模小。而大语言模型主要使用自监督学习,直接从海量无标注的原始文本中自学,效率极高,因此可以做到非常大的规模。

  4. 交互方式革命

    我们不需要点按钮、写代码,也不需要学习复杂的命令。直接像对人说话一样,给它一句指令(Prompt),比如"写一首关于春天的诗",它就能听懂并执行。这种自然语言交互方式,大大降低了使用门槛。

2.3.主流的LLM

  1. GPT-5(OpenAI,未来预期)

目前官方未发布,以下为基于行业传闻的推测描述,请谨慎使用。

  • 上下文长度:支持约 40 万 token(大约相当于一本《三体》的体量)

  • 最大输出:单次可生成 12.8 万 token(约 9 万中文字符)

  • 擅长领域:多轮复杂推理(能记住你很久以前说的话)、创意写作(写故事、诗歌、剧本)

  • 通俗说:这是一个记忆力超强、写长文不跑题的"超级写手",但请注意它尚未正式面世。


  1. DeepSeek-R1(深度求索,已开源)
  • 开源:代码和模型权重公开,开发者可以下载并本地部署

  • 核心特长:逻辑推理与数学求解(比如做奥数题、证明定理)

  • 上下文长度:128K token(约 10 万中文字符)

  • 多语言:支持 20+ 种语言,包括中英文等

  • 擅长度域:科技领域(编程、算法、论文解读)表现突出

  • 通俗说:这是一个开源的"理科高手",特别适合用来做数学题、写代码、分析技术文档。


  1. Qwen2.5-72B-Instruct(阿里巴巴,通义千问)
  • 参数规模:720 亿参数,属于通义千问开源家族的中大型模型

  • 特长

    • 代码生成(写 Python、Java 等)

    • 结构化数据处理(比如自动生成 JSON、XML 格式内容)

    • 角色扮演对话(模拟客服、虚拟人物等)

  • 定位:特别适合企业级复杂任务(需要稳定输出固定格式的内容)

  • 多语言:支持 29 种语言,包含中文、英文、法语、西班牙语等

  • 通俗说:这是一个擅长"按规矩办事"的模型,能帮你生成格式整齐的代码和数据,也能扮演各种对话角色,是企业应用的好选择。


  1. Gemini 2.5 Pro(Google)
  • 最大特点 :多模态融合标杆 ------ 它能同时看懂和生成 图像、代码、文本

  • 输入能力:支持混合输入,比如你给它一张技术架构图 + 一段相关代码 + 一段文字说明,它能综合理解

  • 适合任务

    • 图文生成(根据文字描述画图,或根据图片写描述)

    • 技术文档解析(从扫描的 PDF 图表中提取信息并生成文字说明)

  • 通俗说:这是一个"眼睛和脑子都好使"的模型,不仅能看文字,还能看图和代码,适合做跨媒体内容理解和生成。

2.4. LLM 的能力包括哪些?

大模型对不少人来说已变得耳熟能详,从大型科技公司到初创企业,都纷纷投身于这场技术变革。AI 大模型不仅仅是技术圈的热门话题,它也正以日新月异的速度融入我们的日常生活,改变着我们获取信息、处理工作、甚至进行创作的方式。

我们将大模型的核心能力归纳为以下四点。这不仅仅是技术指标,更是它改变世界的核心利器。


2.4.1 语言大师:理解与创造的革命

想象一下,你是否遇到过以下类似问题?

  • 对学生:你是否为论文的开头绞尽脑汁?

  • 对职场人:一封礼貌又坚决的投诉邮件怎么写?

大模型可以帮你做什么?

  • 论文开头 :告诉大模型你的主题和观点,它能为你生成几个不同风格的引言段落。

    例如:"写一篇关于《基于深度学习的晶粒度智能评级方法》的大学生论文开头供我参考。"

  • 投诉邮件 :把事情经过告诉它,它即刻生成初稿,你稍作修改就能发送。

    例如:"帮我写一封礼貌又坚决的投诉邮件,事情的经过是:XXX。"

为什么说它是"语言大师"?

因为它真正"读懂"了人类语言的千变万化,并能进行高质量创作。这不是简单的关键词匹配,而是理解了上下文、情感、甚至潜台词。

补充说明(边界)

大模型在处理非常专业或冷门的术语时,可能会"编造"看似合理但错误的解释。对于关键内容(如法律文书、医疗建议),需要人工核对。它擅长"写得像",但不保证"写得对"。


2.4.2 知识巨人:拥有"全互联网"的记忆

我们可以问它:

"用物理学原理解释为什么猫咪总能四脚着地?"

它不仅能回答,还能用类比帮你加深理解。

我们可以让它:

"对比一下古希腊哲学和春秋战国百家争鸣的异同。"

它能为你提供清晰的思路框架。

为什么说它是"知识巨人"?

大模型本质上是一个被压缩的、可对话的"互联网知识库"。它通过学习海量数据,将知识内在关联,形成了一个立体的知识网络,而不仅仅是机械存储。

补充说明(边界)

它的知识截止于训练完成的那一刻,不知道之后发生的新事件(除非通过联网搜索或知识库补充)。同时,它可能"记错"或"混淆"一些冷门但确定的事实。所以它更像一个"博学的对话者",而不是万无一失的数据库。


2.5.3 逻辑与代码巫师:从思维到实现的跨越

对程序员来说:

只需用中文描述需求,比如"写一个 Python 函数,能自动爬取某个网页的最新标题并保存到 Excel 里",代码瞬间生成。

对学生或研究者来说:

可以把一道复杂的数学题丢给它,例如:"微分方程 y'' - 3y' + 2y = 3x - 2e^x 的特解 y* 的形式为?"

它不仅能给出答案,还能一步步展示解题过程,成为你的私人家教。

为什么说它是"逻辑与代码巫师"?

因为大模型不仅能处理灵活多变的自然语言,还能处理严格的逻辑和编程语法。这证明了它的能力超越了"文科",进入了需要精确和推理的"理科"领域。

补充说明(边界)

对于简单的、常见的代码任务,它表现极佳;但对于复杂的、需要深度理解大型项目架构的编程任务,它可能会生成有逻辑漏洞或安全隐患的代码。建议把它当作"高级结对程序员",而不是替代人工审查。


2.5.4 多模态先知:开启"全感知"AI 的大门

这是目前最前沿、最令人兴奋的能力。它打破了"文本"的界限,连接视觉、听觉的世界,让 AI 更接近人类的感知方式。

想象一下,你可以:

上传一张照片,加上一段描述,AI 就能实现快速的对话式创意工作流程。

两个典型例子:

  • AI 婴儿预测与生成

    指令示例:"生成他们的宝宝的样子------父母双方特征的融合,专业的照片质量。"

    模型能根据父母照片,合成出符合遗传特征的婴儿形象。

  • 3D 场景生成

    指令示例:"请把这张照片变成一个人物。在它后面,放置一个印有角色形象的盒子。在它旁边,添加一台计算机,其屏幕显示 Blender 建模过程。在盒子前面,为人物添加一个圆形塑料底座,让它站在上面。底座的 PVC 材质应具有晶莹剔透、半透明的质感,并将整个场景设置在室内。"

    模型能综合理解并生成相应的图像或 3D 描述。

为什么说它是"多模态先知"?

因为它能同时处理文本、图像、代码等多种模态的信息,让 AI 真正向"全能型"助手迈进。

补充说明(边界)

目前真正的多模态能力(如 Gemini、GPT-4o 等)仍主要掌握在少数闭源模型中,开源或小参数模型的多模态能力相对有限。此外,它在处理极其复杂的空间关系或专业图像(如医学影像)时仍可能出错。这是发展最快的方向,但远未完美。

三.提示词编写技巧

编写合理且有效的提⽰词,是我们与AI进⾏有效对话的第⼀步,好的提⽰词能显著提升模型输出的质 量和相关性。宗旨就是:将你的问题限定范围,让AI知道你要的答案具体要包含什么,提⽰词效果会 ⼤幅提升。

核⼼在于换位思考:想象AI对你提供的信息⼀⽆所知,你需要清晰、具体、⽆歧义地告诉它你要什 么、在什么背景下、以什么⽅式呈现。善⽤⽰例、⻆⾊扮演、具体约束和迭代优化。

3.1.CO-STAR结构化框架

在向大模型提问时,清晰和结构化的表达至关重要。一种非常有效的方法论就是 CO-STAR 框架 。这个提示词编写框架由新加坡政府技术局(GovTech)的数据科学与 AI 团队开发,核心目标是:确保你给大模型的提示词是全面且结构良好的,从而让它生成更相关、更准确的回答

CO-STAR 拆解为六个维度,每个维度对应一个字母:

模块 说明 示例(电商客服场景)
Context(背景) 任务的背景信息,告诉模型它是什么角色、有什么知识库 "你是电商客服,需解答用户关于 iPhone 17 的咨询,知识库包含最新价格和库存"
Objective(目标) 你希望模型达成什么核心目的 "准确回答价格、发货时间,并推荐适配配件"
Steps(步骤) 模型应该按照怎样的顺序执行 "1. 识别用户问题类型;2. 检索知识库;3. 用亲切语气整理回复"
Tone(语气) 回答应该采用什么样的语言风格 "口语化,避免专业术语,使用'亲~''呢'等语气词"
Audience(受众) 回答是给谁看的,他们的特点是什么 "20-35岁年轻消费者,对价格敏感,关注性价比"
Response(输出格式) 回答应该长什么样,用什么结构 "价格:XXX元\n库存:XXX件\n推荐配件:XXX(附链接)"

一个完整的对比示例:健康咨询

优化前(模糊、低效):

我该怎么吃才能更健康?


优化后(清晰、有效):

角色(即 Context): 你是一个基于科学证据的 AI 营养顾问。重要约束:你提供的所有建议都仅为通用信息,不能替代专业医疗诊断。在给出任何具体建议前,必须首先声明此免责条款。

任务(即 Objective): 基于以下用户信息,提供一份个性化的每日饮食原则性建议。

用户信息(属于 Context 的一部分):

  • 年龄:30 岁

  • 性别:男性

  • 目标:减脂增肌

  • 日常活动水平:办公室久坐,每周进行 3 次力量训练

执行步骤(Steps):

  1. 首先输出免责声明。

  2. 围绕"控制总热量摄入,确保充足蛋白质"给出核心原则。

  3. 分别对早餐、午餐、晚餐和训练加餐各提出 1 条核心建议。

  4. 推荐 2 种适合该用户的具体健康零食。

  5. 避免推荐任何具体的保健品或药物。

语气(Tone): 专业、鼓励、平实,不用夸张的营销语言。

受众(Audience): 30 岁男性,有一定运动习惯,希望科学饮食。

输出格式(Response):

复制代码
【免责声明】
[此处输出声明]

【核心原则】
- ...

【分餐建议】
- 早餐:...
- 午餐:...
- 晚餐:...
- 训练加餐:...

【健康零食推荐】
1. ...
2. ...

3.2 少样本提示 / 多示例提示

这种方法的核心是:给 AI 提供一两个"输入 → 输出"的例子,让它照葫芦画瓢

核心理念:你不是在给 AI 下指令,而是在"教"它你想要的格式、风格和逻辑。AI 会从例子中自己总结规律,然后应用到新的输入上。

适用场景

  • 格式固定的任务(如数据提取、格式化输出)

  • 风格独特的任务(如模仿某位作家的文风)

  • 逻辑复杂的任务(直接描述规则很麻烦,但举例子更简单)


示例一:自定义运算符号

优化前(零样本提示)

2🦜9 等于多少?

模型可能完全看不懂"🦜"是什么意思。

优化后(少样本提示)

根据以下示例,处理问题。

示例1:2🦜3 = 5

示例2:4🦜7 = 11

现在请分析这个:2🦜9 等于多少?

模型通过两个例子学会:"🦜"代表加法运算。于是输出 11。


示例二:客户反馈分析

优化前(零样本提示)

请分析以下客户反馈,提取产品名称、情感倾向和具体问题。

反馈:"我刚买的耳机,才用了一周左边就没声音了,太让人失望了。"

模型可能会提取"产品名称:耳机",但可能把"具体问题"写成一段话,格式不统一。

优化后(少样本提示)

请根据以下示例,分析后续的客户反馈,并提取产品名称、情感倾向和具体问题。

示例1:

  • 反馈:"笔记本的电池续航太差了,完全达不到宣传的10小时,最多就4小时。"

  • 分析:

    • 产品名称:笔记本电池

    • 情感倾向:负面

    • 具体问题:续航远低于宣传

示例2:

  • 反馈:"客服响应很快,非常专业地帮我解决了软件激活问题,点赞!"

  • 分析:

    • 产品名称:客服服务

    • 情感倾向:正面

    • 具体问题:无

现在请分析这个:

  • 反馈:"我刚买的耳机,才用了一周左边就没声音了,太让人失望了。"

通过这两个示例,模型清晰地学会了:

  • "产品名称"要概括成什么颗粒度(比如"耳机"而不是"耳机左边单元")

  • "情感倾向"只有"正面/负面"两个标签

  • "具体问题"要简洁描述核心缺陷

这比单纯用文字描述规则要有效得多。

3.3.思维链提示

提示工程的关键目标是让 AI 更好地理解复杂语义。这种能力的高低,可以直接通过模型处理逻辑推理题的表现来检验。

简单说:如果一段提示词能让模型解决原本答不对的难题,就说明它确实提升了模型的推理水平。而且,提示词设计得越出色,提升效果就越显著。


一个典型的失败案例

以下例子来自论文 Large Language Models are Zero-Shot Reasoners

问题(翻译后)

杂耍者可以杂耍 16 个球。其中一半的球是高尔夫球,一半的高尔夫球是蓝色的。请问总共有多少个蓝色高尔夫球?

模型直接输出(零样本,无思维链)

8 个蓝色高尔夫球

正确答案其实是 4 个

因为:16 个球 → 一半是高尔夫球 = 8 个高尔夫球 → 其中一半是蓝色 = 4 个蓝色高尔夫球。

模型之所以答错,是因为它被"一半的一半"这个语言陷阱干扰了,没有真正分步推理。


思维链提示是什么?

思维链提示(Chain-of-Thought,CoT)的核心思想是:要求 AI "展示它的工作过程",而不是直接给出最终答案。这模仿了人类解决问题时的思考方式------先一步步想清楚,再得出结论。

适用场景

数学题、逻辑推理、复杂决策、需要解释过程的任务(如诊断分析、法律论证等)。


两种常用方式

方式 说明 特点
Few-shot-CoT(少样本思维链) 在示例中不仅给出问题和最终答案,还给出完整的推理过程(思维链) 需要手动编写高质量示例,效果好但成本高
Zero-shot-CoT(零样本思维链) 不加示例,只在问题后面加一句"让我们一步步思考"(Let's think step by step) 简单方便,对简单推理有效,复杂问题效果不如 Few-shot

示例:Few-shot-CoT

第一步:准备一个带思维链的示例

Q:"罗杰有五个网球,他又买了两盒网球,每盒有 3 个网球,请问他现在总共有多少个网球?"

A:"罗杰起初有五个网球。他又买了两盒网球,每盒 3 个,所以他总共买了 2 × 3 = 6 个网球。将起始数量与购买数量相加:5 + 6 = 11。所以罗杰现在总共有 11 个网球。"

第二步:用这个示例作为"范本",让模型解决新问题

示例1:(上面的问答对)

问:"食堂总共有 23 个苹果,如果他们用掉 20 个苹果,然后又买了 6 个苹果,请问现在食堂总共有多少个苹果?"

模型会模仿示例的推理结构,输出类似:

"食堂起初有 23 个苹果。用掉 20 个后,剩余 23 - 20 = 3 个。然后又买了 6 个,所以现在共有 3 + 6 = 9 个苹果。答案是 9。"

观察:这就像"把答案告诉了 AI"------不,你告诉它的是"回答这个问题的正确方式和步骤",而不仅仅是最终数字。AI 会模仿你提供的范本结构和逻辑,来解决新问题。


重要补充:Few-shot-CoT 并不总是稳定

虽然 Few-shot-CoT 很强大,但它有几点需要注意:

  1. 示例质量至关重要

    如果你的推理过程中有一个小错误,模型会完美地"学习"那个错误。所以写示例时要反复核对。

  2. 不会自动保证正确

    对于非常规的、反直觉的题目(比如需要"零常识"对抗的题目),即使有示例,模型仍可能走错路。思维链提升的是概率,不是绝对正确。

  3. 成本更高

    因为模型输出更长(要输出中间步骤),消耗的 token 更多,时间和费用都会增加。

  4. 更适合与"自洽性"(Self-Consistency)结合

    高阶用法:让模型多次生成思维链,然后投票选出最常出现的答案,能显著提升准确率。

3.4.自动推理与零样本链式思考(Zero-shot-CoT)

零样本思维链(Zero-shot-CoT) 是少样本思维链(Few-shot-CoT)的简化版。你不需要手动编写任何示例,只需在提示词末尾加上一句"魔法短语",就能激发 AI 的推理能力。

核心思想

通过一句简单的指令,比如 "请一步步进行推理并得出结论",强制 AI 在给出最终答案之前,先输出自己的推理过程。这个过程迫使模型进入一种"慢思考"模式,而不是凭直觉"快思考"。

适用场景

任何需要一点逻辑思考的问题,即使你不清楚具体步骤怎么写示例,也可以直接用 Zero-shot-CoT。例如:数学应用题、常识推理、逻辑谜题等。

示例对比

不加魔法短语(直接问)

罗杰有五个网球,他又买了两盒网球,每盒有3个网球,请问他现在总共有多少个网球?

AI 可能直接输出:11个。(运气好的话是对的,但复杂问题容易错)

加上魔法短语(Zero-shot-CoT)

罗杰有五个网球,他又买了两盒网球,每盒有3个网球,请问他现在总共有多少个网球?请一步步进行推理并得出结论。

AI 的输出会变成:

罗杰最初有5个网球。

他买了两盒网球,每盒有3个网球,所以买来的网球数量是:2 × 3 = 6个。

因此,他现在总共有网球:5 + 6 = 11个。

答案:11个网球。

为什么这么有效?

"一步步进行推理"这个指令,相当于在引导模型的注意力机制。它告诉模型:"在生成最终答案之前,请先在你的'脑海'里(即生成的文本序列中)模拟出一个缓慢、有序的推理上下文。"

当模型开始输出"第一步......第二步......"时,它实际上是在为自己创造一个更丰富、更逻辑化的上下文。它在这个自己创造的优质上下文中进行推理,最终得出的结论自然比在贫瘠的上下文(只有原始问题)中更准确。

Few-shot-CoT vs Zero-shot-CoT:哪个更好?

根据论文 Large Language Models are Zero-Shot Reasoners 中的结论,从海量数据的测试结果来看:

方法 准确率 成本 易用性
Few-shot-CoT 更高 高(需要手动编写高质量示例,消耗更多 token) 需要准备示例
Zero-shot-CoT 相对较低,但比纯零样本好很多 低(只需加一句指令) 极其简单

实践建议

  • 对于简单的数学或逻辑题,Zero-shot-CoT 往往够用,且方便快捷。

  • 对于复杂、多步骤或格式要求严格的任务,建议使用 Few-shot-CoT(给一个完美示例),准确率更有保障。

  • 如果任务非常关键(比如考试题、财务计算),可以结合自洽性(Self-Consistency):多次运行 Zero-shot-CoT 或 Few-shot-CoT,然后投票选出最常见的答案。

一句话总结

零样本思维链就是"让 AI 自己教自己一步步思考"。你只需要说一句"请一步步推理",它就会乖乖写草稿,然后给出更靠谱的答案。这是目前最简单、最高性价比的提示增强技巧之一。

3.5.自我批判与迭代

这个技巧的核心是要求AI在生成答案后,从特定角度对自身的答案进行审查和优化

核心思想:将"生成"和"评审"两个步骤明确分离,利用AI自身的批判性思维来提升内容的最终质量。

适用场景:代码审查、文案优化、论证强化、安全检查等需要多轮打磨的任务。

案例:编写一段代码后进行自我检查

  • 优化前的简单提问(效果有限):

    写一个Python函数,计算列表中的最大值。

  • 优化后的"生成+审查"两步骤提示

    请执行以下两个步骤:

    步骤一:编写代码

    写一个Python函数 find_max,用于计算一个数字列表中的最大值。

    步骤二:自我审查与优化

    现在,请从代码健壮性可读性 的角度,审查你上面编写的代码。

    请回答:

    1. 如果输入是空列表,函数会怎样?如何改进?

    2. 变量命名和代码结构是否清晰?能否让它更易于理解?

    3. 请根据你的审查,给出一个优化后的最终版本。

通过这种方式,AI不仅能生成代码,还能像一位经验丰富的同事一样,主动发现并修复潜在的问题(如空列表异常),并优化代码风格。

四.为什么 LLM 如此重要?

如果说前几年 AI 还是"实验室里的炫技"或"少数公司的玩具",那么大模型的爆发,则真正把 AI 变成了一种像电力一样的基础资源------可以低成本、大规模地接入各行各业,驱动创新与效率提升。

具体来说,LLM 的重要性体现在以下三个层面。


一、生产力革命的"加速器"

LLM 能够自动化几乎所有基于语言和知识的重复性工作,包括:

  • 撰写报告、邮件、文案

  • 总结会议纪要、长篇文章

  • 翻译多语言内容

  • 编写、解释、调试代码

  • 回答标准化问题、处理客服咨询

它把人从繁琐的、低价值的脑力劳动中解放出来,让我们能更专注于创造性思考、战略决策、复杂问题解决和人际协作

需要强调的是:LLM 的核心价值不是替代人类 ,而是增强人类(Human Augmentation)。它像一位不知疲倦的助理,帮你完成"脏活累活",让你能发挥自己不可替代的洞察力和判断力。


二、人机交互的"新范式"

在过去,人要和机器打交道,必须学习机器的语言------记住复杂的菜单路径、命令代码、软件操作流程。

LLM 彻底改变了这一点:从"人适应机器"转变为"机器适应人"

现在,你只需要用最自然的对话方式(甚至只是随口说一句"帮我做一份销售周报"),大模型就能理解你的意图,并直接给出结果或执行操作。

这意味着:

  • 非技术人员也能轻松使用强大的 AI 工具

  • 软件的交互界面从"按钮 + 菜单"变成了"对话 + 意图"

  • 技术的使用门槛被降到前所未有的低点

简单说:LLM 让"会不会用电脑"不再成为障碍,每个人都能拥有一个听得懂人话的智能助手。


三、产业智能化的"核心引擎"

LLM 正在像当年的互联网、云计算、移动支付一样,成为一种普惠的数字化基础设施,赋能千行百业。以下只是几个典型例子:

  • 教育:提供 7×24 小时、无限耐心的一对一 AI 家教,可以随时回答学生问题、讲解知识点、批改作业。

  • 医疗:辅助医生分析医学影像、快速查阅最新文献和病历,帮助做出更准确的诊断和治疗建议。

  • 法律:在数秒内分析海量卷宗,提炼关键信息、对比法条、找出案例漏洞,大幅提升律师和法务的工作效率。

  • 文创:提供无尽的故事灵感、设计草图初稿、配乐方案;创作者可以把它当作"灵感伙伴"而不是替代品。

  • 金融:自动生成研报摘要、分析财报、识别异常交易,辅助风控和投资决策。

可以预见,未来任何需要处理语言、知识或信息的行业,都会被 LLM 重构一遍。它不再是"可选项",而会成为与电力、互联网同等重要的基础能力

五.LLM接入

前面我们演示的,都是通过现成的客户端(如 ChatGPT 网页版、DeepSeek 对话界面、Midjourney 等)来体验 AI 行为,比如聊天、生成图片等。

但如果现在我们要自己写一个AI应用 ,实现特定的业务功能(比如企业内部智能客服、自动文档摘要工具、代码审查机器人等),就需要自行接入大语言模型(LLM)

所谓的"原生接入",指的是不经过第三方平台或复杂的代理层,直接与大语言模型提供方进行交互。常见的原生接入方式有三种:

5.1.方式一:API 远程调用

怎么做

通过 HTTP 请求(通常是一段简单的代码),调用模型提供商(如 OpenAI、DeepSeek、Anthropic、Google 等)提供的 API 接口。你的应用把问题发送到云端服务器,模型计算完再把结果返回给你。

特点

  • 无需本地 GPU,只要能上网就能用

  • 按使用量付费(通常是按 token 数量计费)

  • 模型能力由服务商持续更新,你不需要自己维护

  • 响应速度取决于网络和服务端负载

适用场景

绝大多数云应用、创业项目、企业内部工具,尤其是对模型能力要求高但不想投入硬件成本的情况。

典型流程如下:

  1. 注册账号并获取 API Key:在模型提供商的平台上注册账号,获取用于身份验证的密钥。

  2. 查阅 API 文档:了解请求的端点、参数(如模型名称、提示词、温度、最大生成长度等)以及返回的数据格式。

  3. 构建 HTTP 请求 :在代码中使用 HTTP 客户端库(例如 Python 的 requests),将 API Key 放入请求头(Header)中,并以 JSON 格式构建包含提示词和参数的请求体。

  4. 发送请求并处理响应:将请求发送至提供商指定的 API 地址,然后解析返回的 JSON 数据,从中提取生成的文本。

示例

我们可以去看看deepseek的开发平台:DeepSeek 开放平台

进去之后我们先创建一个API key

创建出这个API key之后,我们点击下面这个接口文档

其实也就是:首次调用 API | DeepSeek API Docs

我们直接把这个curl的代码给复制过来,小小的修改一下

复制代码
curl https://api.deepseek.com/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer 这里换成你的密钥" \
  -d '{
        "model": "deepseek-v4-pro",
        "messages": [
          {"role": "user", "content": "你好,你是谁"}
        ]
      }'

接下来我们就可以去我们的Ubuntu系统里面运行一下

注意:在运行这个命令之前,我们需要先去deepseek那里先充值一点额度,要不然,我们是调用不了这个API的

运行结果就像下面这样子

复制代码
ubuntu@10-13-52-255:~$ curl https://api.deepseek.com/chat/completions   -H "Content-Type: application/json"   -H "Authorization: Bearer sk-7204bfd4410f408bcbe0dfff3021"   -d '{
        "model": "deepseek-v4-pro",
        "messages": [
          {"role": "user", "content": "你好,你是谁"}
        ]
      }'
{"id":"4418ee4b-1d30-4ebc-b415-f9ade232fc77","object":"chat.completion","created":1777038578,"model":"deepseek-v4-pro","choices":[{"index":0,"message":{"role":"assistant","content":"你好呀!我是DeepSeek,由深度求索公司创造的AI助手~??\n\n简单介绍一下我自己:\n- ?? 纯文本模型,擅长理解和生成文字\n- ?? 支持文件上传(图片、PDF、Word、Excel等),能从中读取文字信息处理\n- ?? 可以联网搜索(需要手动开启哦)\n- ?? 完全免费使用\n- ?? 有App端,支持语音输入\n- ?? 上下文长度1M,能一口气处理超长内容\n\n我的知识截止到2025年5月,会用热情、细腻的方式回答你的问题。有什么我可以帮你的吗?尽管问!?","reasoning_content":"好的,用户问"你好,你是谁",这是一个非常常见的开场问候和身份询问。我需要直接、清晰地介绍自己的身份和核心功能。\n\n想到了用友好、热情的语气打招呼,然后明确说明我是DeepSeek,并简要列出几个关键特点让用户快速了解我能做什么,比如免费、长上下文、文件处理等。这样既能满足用户的直接问题,也能自然地开启后续对话。\n\n可以用"你好呀!"开头,然后分点说明我的身份和能力,最后以开放式提问结束,邀请用户提出进一步需求。"},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":7,"completion_tokens":250,"total_tokens":257,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":108},"prompt_cache_hit_tokens":0,"prompt_cache_miss_tokens":7},"system_fingerprint":"fp_9954b31ca7_prod0820_fp8_kvcache_20260402"}ubuntu@10-13-52-255:~$ 

这个就是使用我们的API调用。

5.2.方式二:开源模型本地部署

怎么做

下载开源的模型权重文件(如 LLaMA、Qwen、DeepSeek-R1 等),在自己的服务器或本地电脑上运行模型。通常需要借助推理框架(如 llama.cpp、vLLM、Ollama 等)来加载模型并提供服务。

特点

  • 数据不出本地,安全性高,适合处理敏感数据

  • 无 API 调用费用,但需要自己承担硬件成本(GPU 服务器、显存、电力等)

  • 需要一定的技术能力(环境配置、模型优化、并发处理)

  • 模型能力受限于你部署的具体版本(更新需要手动下载新权重)

适用场景

对数据隐私要求极高的行业(如金融、医疗、政务),或者需要大规模、高频调用(API 费用太高)的场景。

本地部署是指将开源的大语言模型(如 Llama、ChatGLM、Qwen 等)部署在自有硬件环境(本地服务器或私有云)中。核心思路是:下载模型的权重与配置文件,借助专门的推理框架在本地服务器或 GPU 上加载并运行模型,然后通过类似 API 的方式进行交互。

典型流程如下:

  1. 获取模型:从 Hugging Face(国外)或魔搭社区(国内)等平台下载开源模型的权重文件。

  2. 准备环境:配置具有足够显存(如 NVIDIA GPU)的服务器,安装必要的驱动和推理框架。

  3. 选择推理框架:使用专为生产环境设计的框架来部署模型,例如:

    • vLLM:注重高吞吐量的推理服务,性能极佳。

    • TGI:Hugging Face 推出的推理框架,功能全面。

    • Ollama:非常用户友好,可一键拉取并运行模型,适合快速入门和本地开发。

    • LM Studio:提供图形化界面,让本地运行模型像使用普通软件一样简单。

  4. 启动服务并调用 :框架会启动一个本地 API 服务器(如 http://localhost:8000),你可以像调用云端 API 一样向这个本地地址发送请求。这种方式同样简便高效。

我们看看魔搭社区:首页 · 魔搭社区

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

我们点击模型库,就进去了下面这个

至于这些是怎么进行拉取到本地,我们就不说了。

示例

以 Ollama 为例,下面我们来演示具体过程。

1.下载并安装 Ollama:Ollama

Ollama 是一款专为本地部署和运行大语言模型(LLM)设计的开源工具,旨在简化 LLM 的安装、运行与管理。它支持多种开源模型(如 Qwen、DeepSeek、LLaMA 等),并提供简洁的 API 接口,方便开发者调用。Ollama 尤其适合开发者和企业快速搭建私有化 AI 服务。

  1. 安装Ollama 下载完成之后,⼀步⼀步安装即可。

  2. 验证 安装完成后,Ollama默认会启动。

这个时候,我们就可以打开浏览器去访问:

复制代码
http://127.0.0.1:11434/

4.修改模型存储路径

模型默认安装在 C 盘个人目录下(C:\Users\用户名\.ollama)。为避免占用系统盘空间,可以修改 Ollama 的模型存储路径,使后续下载的模型都保存在指定目录。

有以下两种方式:

方式一:配置系统环境变量,新建环境变量:

  • 变量名:OLLAMA_MODELS
  • 变量值:${自定义路径}(例如 D:\ollama_models)

方式二:通过 Ollama 界面设置

  • 在 Ollama 的图形界面中进行路径配置。

修改这里,设置完成后,重启 Ollama 使配置生效。


5.拉取模型

查找模型:访问 Ollama 模型库:Ollama

以 DeepSeek-R1 为例:deepseek-r1

DeepSeek-R1 是一系列开放推理模型,其性能接近 O3 和 Gemini 2.5 Pro 等领先模型。DeepSeek-R1 提供了不同参数量的版本,需要根据自身机器的配置及需求进行选择。

主要版本有 1.5b、7b、8b 等,其中 "b" 是 "Billion"(十亿)的缩写,代表模型的参数量级。

671b 表示"满血"版本,其余版本为"蒸馏"版本。

参数越多 → 模型"知识量"越大 → 处理复杂任务的能力越强,但硬件需求也越高。

根据需求及电脑配置,选择合适的模型版本。以 1.5b 版本为例,在我们只需要打开命令行在里面执行以下命令就可以拉取这个模型到本地来了:

复制代码
ollama run deepseek-r1:1.5b

下载完成后,命令行界面会自动进入对话模式,此时即可通过命令行与 AI 模型进行交互。

就是这么简单

当然,如果下次我们还想要这个模型和我们聊天的话,也是执行这个命令。

bash 复制代码
# 删除指定模型(需完整名称,包括标签)
ollama rm deepseek-r1:1.5b

# 查看当前已安装的模型列表,确认要删除的名称
ollama list

# 一次删除多个模型(空格分隔)
ollama rm model1:tag model2:tag

5.3.方式三:SDK 和官方客户端库

怎么做

模型提供商通常会提供官方 SDK (软件开发工具包),比如 Python 库、JavaScript 库等。你在代码中 import 这个库,调用里面的函数,库会帮你处理好底层的 API 请求、认证、重试、错误处理等细节。

特点

  • 使用最方便:几行代码就能完成接入,不用手动构造 HTTP 请求

  • 通常内置了最佳实践(如自动重试、超时控制、流式输出)

  • 本质上是对"API 远程调用"的封装,所以底层仍然是 API,但开发体验更好

  • 需要安装和维护 SDK 版本(但一般更新不频繁)

适用场景

几乎所有开发者都应该优先使用 SDK,除非你使用的模型没有提供 SDK,或者你需要一些 SDK 不支持的底层控制。

典型流程(以 DeepSeek Python SDK 为例)

DeepSeek 官方推荐使用与 OpenAI 兼容的 API 端点,因此安装相同的库即可。

  1. 安装库
bash 复制代码
pip install openai
  1. 创建示例文件

创建一个名为 example.py 的文件,并将以下代码复制进去:

bash 复制代码
from openai import OpenAI

# 替换为你的 DeepSeek API Key
client = OpenAI(
    api_key="your-deepseek-api-key",
    base_url="https://api.deepseek.com/v1",
)

response = client.chat.completions.create(
    model="deepseek-chat",          # 或 deepseek-reasoner
    messages=[
        {"role": "user", "content": "介绍一下你自己。"}
    ],
    stream=False
)

print(response.choices[0].message.content)

这个就是SDK的方式。

5.4.问题思考

上面讲了云端 API、本地部署等几种接入大模型的方式,那到底该怎么选呢?

  • 数据安全要求高吗?

    如果你的数据非常敏感(比如医疗记录、公司机密),不能传到外网,那就只能选本地部署。

  • 你们团队技术强吗?有钱买显卡吗?

    如果你们没有专业的机器学习运维(MLOps)工程师,也买不起昂贵的 GPU 服务器,那用云端 API 是最省事的。

  • 用量大不大?

    如果每天要调几百万次,长期算下来,自己买服务器可能比一直给 API 付费更便宜。

    但如果只是偶尔用用,API 就划算得多,像按小时租车比买车省钱。

  • 需要对模型做"私人定制"吗?

    如果只是让模型聊天、翻译、写邮件,云端 API 就够了。

    但如果你想用自己公司的文档来"训练"模型(微调),让它学会公司内部的术语和流程,那要么选支持微调的 API,要么自己本地部署。


然而,不管用哪种方式接入,所有大模型(LLM)本身都有一些天生的"毛病"。新手最容易遇到的坑有四个:

1. 输入长度有限 ------ 不能一口气"吃"太多内容

每个模型一次能处理的内容是有限的,比如 4K、8K 或 128K 个 Token(你可以把 Token 理解成半个或一个词)。

这意味着:你没法把一本几百页的 PDF 直接扔给模型让它总结,也没法把整个公司知识库全塞进去。它"嘴小胃小",一次只能吃一小段。

2. 不知道你的私人数据 ------ 像个没有你办公电脑密码的实习生

模型的训练数据只到某个日期为止,而且都是网上公开的内容。它不认识你公司内部的文件、你的个人笔记、你们群的聊天记录。

所以,如果你问它"我们公司下午开会几点?",它不可能知道。

3. 不擅长复杂任务 ------ 一次只能做一件事

原生 API 就像你给模型发一条消息,它回你一条消息,一问一答。

但如果你的任务是:"先分析这份财报 → 总结出三个要点 → 再根据要点生成一份 PPT 大纲",模型不会自己分步骤完成。你需要自己写代码来:

  • 把大任务拆成小步骤

  • 多次调用 API

  • 记下中间结果(比如先拿到财报分析结果,再拿它去生成 PPT 大纲)

这对初学者来说,写起来挺麻烦的。

4. 输出格式不稳定 ------ 你让它写 JSON,它可能乱写

你可以用提示词告诉模型:"请输出 JSON 格式"。

但它偶尔会"叛逆",比如输出 JSON 时少了逗号、多了一个括号,或者直接写一段话加一个残缺的 JSON 片段。

你得自己写额外代码来"检查"和"修正"它的输出,否则程序会崩。


因为这些问题普遍存在,所以才出现了像 LangChain 这样的工具。它就像一套"乐高积木",帮你把模型调用、任务拆分、知识记忆、输出解析等能力组合起来,让你不用从零开始解决上面那些头疼的问题。

六.嵌入模型

6.1.什么是嵌入模型

大语言模型:像一位"创作者"

你问它问题,它回答你;你让它写文章,它动笔写。它的目标是生成新内容

比如:

  • 你问"北京有什么好玩的地方?" → 它给你列出一堆景点。

  • 你说"写一首关于春天的诗" → 它真的会写一首出来。

虽然它内部也会用"嵌入"技术来理解你的话,但它的本职工作是创造

嵌入模型:像一位"翻译官"

它不负责写文章,也不回答问题。它的唯一工作是:把你给的一段文字,转成一串有意义的数字(叫"向量")

为什么需要这个?

因为电脑天生只懂数字,不懂文字。你给它一个词"苹果",它不知道这是水果还是手机。所以嵌入模型就像翻译官,把"苹果"翻译成一串数字,比如 [0.12, -0.56, 0.89, ...],让电脑能"理解"。

而且,好的翻译要做到:

  • 意思相近的词,翻译出来的数字串也相近

    比如"苹果"(水果)和"香蕉"翻译出的数字串比较像;

    "苹果"(手机)和"华为"翻译出的数字串更像。

6.2.嵌入模型应用场景

基于"嵌入可以将人类语言转换为可计算的数学语言,从而用数学方式度量语义"这一核心特性,衍生出了以下典型应用场景。

• 语义搜索(Semantic Search)

  • 传统搜索:依赖关键词匹配。例如搜"苹果",只能找到文档中确切包含"苹果"一词的结果。

  • 语义搜索:将查询和文档都转换为向量,通过计算向量之间的相似度来查找相关内容。即使文档中没有查询的精确词汇,也能被检索到。

如下图所示,即使知识库中并未直接出现"笔记本电脑无法充电"这个词组,语义搜索也能通过向量相似度精准地找到相关文档。

• 检索增强生成(RAG,Retrieval-Augmented Generation)

这是当前大语言模型应用的核心模式。当用户向 LLM 提问时,系统首先使用嵌入模型在知识库(如公司内部文档)中进行语义搜索,找到最相关的内容,然后将这些内容和问题一起交给 LLM 来生成答案。这极大地提高了答案的准确性和时效性。

举例 :一家公司的内部客服机器人收到员工提问:"我们今年新增加的带薪育儿假政策具体是怎样的?"

系统会先用嵌入模型在公司最新的人事制度文档、福利更新备忘录等资料中进行语义搜索,找到关于"今年育儿假规定"的具体条款,然后将这些【条款】连同【问题】一起提交给 LLM。LLM 便能生成一个准确、具体的回答,而非仅凭其内部训练数据可能产生的过时或泛泛的答案。

• 推荐系统(Recommendation Systems)

将用户(根据其历史行为、偏好)和物品(商品、电影、新闻)都转换为向量。喜欢相似物品的用户,其向量会接近;相似的物品,其向量也会接近。通过计算用户向量与物品向量之间的相似度,就可以进行精准推荐。

举例:一个流媒体平台将用户 A(喜欢观看《盗梦空间》和《黑镜》)和所有电影都表示为向量。系统发现用户 A 的向量与那些同样喜欢《盗梦空间》和《黑镜》的用户向量很接近,而这些用户普遍还喜欢《星际穿越》。尽管用户 A 从未看过《星际穿越》,但通过计算用户向量与电影向量的相似度,系统会将这部电影推荐给用户 A。

• 异常检测(Anomaly Detection)

正常数据的向量通常会聚集在一起。如果一个新数据的向量远离大多数向量的聚集区,它就可能是一个异常点(如垃圾邮件、欺诈交易)。

举例:一个信用卡交易反欺诈系统,通过学习海量正常交易记录(将金额、地点、时间、商户类型等特征转换为向量),形成了"正常交易"的向量聚集区。当一笔新交易发生时,系统将其转换为向量。如果该向量出现在"正常聚集区"之外(例如,一笔发生在通常消费地之外的高额交易),系统就会将其标记为潜在的欺诈交易并发出警报。

6.3.接入方式

通用步骤

这是最快速、最简单的接入方式,无需管理任何基础设施。只需要向模型提供商的服务端发送一个 HTTP 请求即可。

适用模型

  • text-embedding-3-large

  • gemini-embedding-001

操作流程

  1. 注册账号并获取 API Key:在对应的云服务平台(如 OpenAI Platform、Google AI Studio / Vertex AI)上注册账号,获取用于身份验证的 API Key。

  2. 安装 SDK 或构造 HTTP 请求:使用官方提供的 SDK或直接构造 HTTP 请求。

  3. 调用 API 并处理响应:发送文本,接收返回的 JSON 格式的向量数据。

示例

API接入(闭源)------ 以阿里云通义嵌入模型为例

我们先去官网创建一个api key:大模型服务平台百炼控制台

方式1:使用 DashScope SDK(Python)

安装 SDK

bash 复制代码
pip install dashscope

示例代码

bash 复制代码
import dashscope
from dashscope import TextEmbedding

# 1. 设置 API Key
dashscope.api_key = "sk-5972de15cab44c85fc752c7ecd419"

# 2. 准备输入文本
text = "这是一段需要转换为向量的文本。"

# 3. 调用嵌入模型(以 text-embedding-v3 为例)
response = TextEmbedding.call(
    model=TextEmbedding.Models.text_embedding_v3,  # 或 text_embedding_v1/v2
    input=text,
    dimension=1024  # v3 支持动态维度,如 512/1024/1536/2048
)

# 4. 获取向量
if response.status_code == 200:
    embedding = response.output['embeddings'][0]['embedding']
    print(f"向量维度:{len(embedding)}")
    print(embedding[:10])  # 打印前10个值
else:
    print(f"请求失败:{response.message}")

运行结果

bash 复制代码
向量维度:1024
[-0.0733518972992897, 0.05233882740139961, -0.06276782602071762, -0.012454702518880367, -0.05280406028032303, -0.02459924854338169, 0.016835656017065048, 0.06420229375362396, 0.01804720237851143, 0.027623269706964493]

方式2:直接构造 HTTP 请求

bash 复制代码
import requests
import json

url = "https://dashscope.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding"
api_key = "sk-5972de15cab44ce5fc752c7ecd419"

headers = {
    "Authorization": f"Bearer {api_key}",
    "Content-Type": "application/json"
}

data = {
    "model": "text-embedding-v3",
    "input": {
        "texts": ["这是一段需要转换为向量的文本。"]
    },
    "parameters": {
        "dimension": 1024
    }
}

response = requests.post(url, headers=headers, data=json.dumps(data))
result = response.json()
print(result)

运行结果

bash 复制代码
{'output': {'embeddings': [{'embedding': [-0.0733518972992897, 0.05233882740139961, -0.06276782602071762, -0.012454702518880367, -0.05280406028032303, -0.02459924854338169, 0.016835656017065048, 0.06420229375362396, 0.01804720237851143, 0.027623269706964493, -0.013879481703042984, 0.02940666675567627, 0.02824358269572258, 0.015565955080091953, 0.02725495956838131, -0.038149189203977585, 0.04016520455479622, -0.005510115530341864, 0.007899286225438118, -0.05156343802809715, -0.039254121482372284, 0.01700042560696602, -0.05935610830783844, 0.05272652208805084, -0.014412562362849712, 0.07808177918195724, 0.006532661151140928, -0.03717995062470436, 0.02686726488173008, -0.03747072443366051, 0.022156769409775734, 0.03843995928764343, 0.055789314210414886, -0.07521283626556396, -0.016981041058897972, 0.00635819835588336, -0.03219807147979736, -0.017388122156262398, -0.07653099298477173, 0.005548885092139244, 0.025200175121426582, -0.05253267288208008, 0.0039835660718381405, -0.043887075036764145, 0.03022082708775997, -0.03840119019150734, 0.040514130145311356, -0.06885463744401932, -0.049508653581142426, -0.018890440464019775, -0.02901897206902504, -0.023319855332374573, 0.047298792749643326, 0.026828495785593987, 0.026634646579623222, -0.012289931997656822, -0.01775643229484558, -0.04788033291697502, -0.055750541388988495, -0.022874005138874054, -0.028553737327456474, -0.00531142158433795, 0.016690270975232124, 0.06024780496954918, 0.017775816842913628, 0.08343196660280228, 0.03287653625011444, -0.0036806794814765453, 0.0021795728243887424, -0.028146658092737198, -0.002609672024846077, 0.03000759333372116, -0.020702913403511047, -0.023087238892912865, -0.05443238094449043, 0.0034650242887437344, -0.011097770184278488, -0.05307544767856598, 0.00027774713817052543, 0.02487063594162464, 0.09141848236322403, 0.02797219529747963, 0.004174990579485893, -0.009052678942680359, 0.017184581607580185, 0.014819641597568989, -0.006779816467314959, 0.02647957019507885, 0.008146441541612148, 0.021924152970314026, -0.017998741939663887, -0.053308065980672836, -0.0032711767125874758, -0.025529716163873672, -0.062147509306669235, -0.04070797562599182, -0.013801942579448223, -0.0061837355606257915, 0.023474933579564095, 0.03857565298676491, 0.017068272456526756, 0.07017279416322708, 0.01102992333471775, -0.033070385456085205, -0.01759166084229946, -0.022001691162586212, 0.008626214228570461, 0.03933165967464447, -0.02525833062827587, -0.019791830331087112, 0.007351666688919067, 0.03778088092803955, 0.014984412118792534, -0.01412179134786129, -0.012280239723622799, -0.03326423093676567, -0.029774976894259453, -0.0502065047621727, 0.010525919497013092, -0.028592506423592567, 0.019985677674412727, 0.0085486751049757, 0.05621577799320221, -0.050826817750930786, 0.03832365199923515, -0.037315644323825836, -0.005015804432332516, 0.05307544767856598, -0.049780040979385376, 0.003804257372394204, -0.025142021477222443, 0.03266330435872078, -0.002286189002916217, -0.007119049783796072, -0.09901730716228485, -0.01677750237286091, 0.013065322302281857, 0.03051159717142582, 0.028728200122714043, -0.04671724885702133, 0.03326423093676567, 0.02438601665198803, -0.059162259101867676, -0.03681164234876633, 0.0042840298265218735, -0.039971355348825455, 0.03126760199666023, 0.02238938771188259, 0.027216190472245216, -0.015808263793587685, -0.042723990976810455, -0.012173623777925968, 0.039137810468673706, 0.005253267474472523, 0.011136539280414581, 0.0012515279231593013, -0.021497689187526703, -0.000626369786914438, -0.0013702595606446266, 0.036831025034189224, -0.04043658822774887, 0.012735781259834766, -0.010874845087528229, -0.01616688258945942, -0.028166042640805244, 0.051602207124233246, 0.0039617582224309444, 0.01808597333729267, 0.003060367424041033, -0.031248217448592186, 0.018832284957170486, -0.005941425915807486, -0.011844082735478878, 0.028321120887994766, 0.004572378005832434, 0.041793521493673325, 0.0970788300037384, -0.003312369342893362, 0.008393596857786179, -0.04225875809788704, -0.04055289924144745, 0.01981121487915516, -0.03181037679314613, 0.025006327778100967, -0.007109357509762049, 0.0027332499157637358, 0.008451751433312893, -0.011466080322861671, -0.024812480434775352, 0.02884450927376747, -0.02079983800649643, -0.008175518363714218, -0.01788243278861046, 0.004698378965258598, 0.05071050673723221, 0.03132575750350952, 0.01522672176361084, -0.010680997744202614, -0.003615255933254957, -0.043499380350112915, -0.06482260674238205, -0.012154238298535347, -0.018241049721837044, -0.04474000632762909, -0.01793089509010315, 0.02235061675310135, -0.0628841295838356, -0.05532407760620117, 0.026944803074002266, -0.03448547050356865, -0.03332238644361496, -0.022932160645723343, -0.012260855175554752, -0.006348506081849337, -0.032353147864341736, -0.014218715019524097, -0.0002653287665452808, -0.03768395632505417, 0.032740842550992966, -0.03723810613155365, 0.0003086415817961097, 0.01271639671176672, -0.013734095729887486, 0.049004651606082916, 0.018560899421572685, 0.007351666688919067, 0.041948601603507996, 0.04431353881955147, 0.009430681355297565, -0.029096510261297226, 0.007085126359015703, -0.01914244145154953, 0.019239364191889763, -0.022970929741859436, 0.047570180147886276, 0.014296253211796284, -0.04291783645749092, 0.008068902418017387, 0.015313953161239624, -0.018909825012087822, 0.008475982584059238, -0.04629078507423401, 0.05253267288208008, -0.0038212190847843885, -0.0435769185423851, 0.04342184215784073, 0.0018633591243997216, 0.01313316822052002, 0.008412981405854225, 0.02382385917007923, 0.019568905234336853, -0.0072159734554588795, -0.02438601665198803, 0.028495583683252335, 0.03400085121393204, 0.03111252561211586, 0.03838180750608444, -0.01815381832420826, -0.0325663797557354, -0.05005142465233803, 0.018493052572011948, 0.03824611380696297, 0.04287906736135483, 0.035551633685827255, 0.0325663797557354, -0.0014635486295446754, -0.016477037221193314, 0.010506534948945045, 0.029193434864282608, -0.04946988448500633, -0.01981121487915516, -0.01494564302265644, 0.005083650816231966, 0.005917195230722427, 0.030530981719493866, -0.015817956998944283, -0.03929289057850838, -0.018948594108223915, 0.04253014177083969, 0.009420989081263542, 0.02647957019507885, 0.01947198249399662, 0.0019239365356042981, -0.05047789216041565, 0.022602619603276253, 0.008456597104668617, -0.01382132712751627, -0.032857153564691544, -0.013588710688054562, -0.04043658822774887, -0.03591994196176529, -0.007007587235420942, 0.07160726934671402, -0.0060625807382166386, -0.016079651191830635, 0.015565955080091953, 0.004400338511914015, -0.18190650641918182, 0.02708049677312374, -0.0008038613595999777, 0.026246951892971992, 0.0193169042468071, -0.00660535367205739, -0.04993511736392975, -0.02835988998413086, -0.0047274562530219555, 0.004257375840097666, 0.020702913403511047, -0.03993258625268936, 0.004751686938107014, -0.023765703663229942, -0.024192169308662415, 0.012125161476433277, 0.018415512517094612, -0.021439533680677414, 0.013782558031380177, -0.01853182166814804, 0.01382132712751627, -0.017940586432814598, 0.07536791265010834, 0.043499380350112915, -0.01525579858571291, 0.005655501037836075, 0.03215930238366127, 0.03789718821644783, -0.04477877542376518, -0.020489681512117386, -0.03458239510655403, 0.02167215198278427, -0.01924905739724636, -0.0032978306990116835, -0.01249347161501646, 0.012231777422130108, 0.024909405037760735, 0.009566374123096466, -0.007390436250716448, -8.026498107938096e-05, -0.005514961667358875, 0.01412179134786129, 0.0020620529539883137, 0.013346401043236256, 0.018493052572011948, -0.05156343802809715, 0.020257065072655678, 0.011553311720490456, -0.017359044402837753, -0.019278135150671005, 0.015265490859746933, -0.024308476597070694, 0.0031282140407711267, -0.029251588508486748, -0.01643826812505722, 0.0190261323004961, 0.022273078560829163, 0.04369322955608368, -0.04710494354367256, -0.018997056409716606, -0.013579017482697964, -0.025510331615805626, 0.02118753269314766, 0.029309744015336037, -0.0153042608872056, -0.012154238298535347, 0.05233882740139961, -0.009401604533195496, 0.033845774829387665, -0.013346401043236256, 0.008131902664899826, 0.015100721269845963, 0.019181210547685623, -0.03685041144490242, -0.019268441945314407, 0.029522975906729698, 0.0025999797508120537, -0.06307797878980637, -0.005025496706366539, -0.1092524528503418, 0.01935567334294319, 0.00606742687523365, 0.0044269924983382225, -0.009740836918354034, -0.01776612363755703, 0.018493052572011948, -0.007138434331864119, 0.046639710664749146, 0.005553731229156256, 0.23509825766086578, 7.227634341688827e-05, 0.0010364784393459558, 0.003932681400328875, 0.015207337215542793, -0.02178845927119255, 0.0026581338606774807, -0.022156769409775734, -0.01356932520866394, -0.03289592266082764, -0.005190267227590084, 0.013753480277955532, -0.0013230092590674758, 0.009091448038816452, 0.013404554687440395, 0.02516140602529049, -0.019617367535829544, 0.02134261094033718, 0.07323558628559113, 0.01748504489660263, 0.002791404025629163, -0.04187106341123581, -0.015866419300436974, 0.03431100770831108, -0.027041727676987648, 0.0019445328507572412, 0.001600453513674438, -0.002866520080715418, -0.06590814888477325, 0.03150022029876709, 0.013259169645607471, 0.000660293095279485, 0.016302576288580894, 0.01887105405330658, -0.03134514018893242, -0.026169413700699806, 0.07331312447786331, -0.01389886625111103, 0.004754110239446163, 0.0016622423427179456, -0.045864321291446686, -0.030530981719493866, -0.05140835791826248, -0.014005482196807861, 0.006503583863377571, -0.013414247892796993, -0.012987783178687096, -0.06148843094706535, -0.013162245973944664, -0.033962082117795944, -0.0012806050945073366, -0.05230005830526352, -0.01307501457631588, 0.03039528988301754, 0.055905621498823166, -0.0012963551562279463, -0.014160560443997383, -0.013685634359717369, -0.040126435458660126, 0.017291197553277016, 0.07145219296216965, 0.005112728103995323, -0.03768395632505417, 0.031151294708251953, 0.005175728350877762, 0.017698276787996292, -0.029910670593380928, -0.013705018907785416, -0.012503163889050484, -0.00456268573179841, 0.0030046363826841116, -0.02283523604273796, 0.0010873633436858654, -0.021168148145079613, 0.002218342386186123, -0.013036244548857212, -0.025917410850524902, 0.0025490946136415005, -0.022311847656965256, 0.04656217247247696, -0.013414247892796993, 3.498341902741231e-05, -0.014131483621895313, -0.032857153564691544, -0.01108807697892189, -0.012706704437732697, 0.02062537521123886, 0.03089929185807705, -0.036055635660886765, 0.02582048811018467, -0.017795201390981674, 0.00021595823636744171, -0.03338054195046425, -0.007962286472320557, -0.003998104948550463, -0.050943125039339066, 0.059666261076927185, 0.008025286719202995, -0.02824358269572258, 0.001836705137975514, -0.00814159493893385, -0.004887380171567202, -0.023436164483428, -0.05478130653500557, 0.0009219872299581766, -0.01788243278861046, 0.0007868997054174542, 0.015575647354125977, -0.018686899915337563, 0.0019869368989020586, -0.053424373269081116, 0.020373372361063957, 0.010574381798505783, -0.009285295382142067, -0.01056468952447176, 0.035823021084070206, 0.012978090904653072, -0.003166983602568507, -0.005040035117417574, 0.0063775829039514065, -0.017795201390981674, -0.08575813472270966, 0.009139910340309143, 0.01915213279426098, 0.0015180682530626655, -0.031480833888053894, 0.0022437849547713995, 0.004199221730232239, -0.019113363698124886, 0.0430341474711895, 0.0106228431686759, -0.02818542718887329, -0.03791657090187073, 0.0026920572854578495, 0.041948601603507996, 0.0320042222738266, 0.05532407760620117, 0.025452177971601486, -0.013414247892796993, 0.04039781913161278, 0.005321113858371973, 0.004681417252868414, 0.02008260227739811, -0.02295154519379139, 0.024734942242503166, -0.02339739352464676, -0.0036976411938667297, -0.002902866341173649, -0.0058396561071276665, 0.0341947004199028, 0.01588580384850502, 0.016922887414693832, 0.004611147567629814, -0.06800170242786407, -0.018997056409716606, -0.03066667541861534, -0.013239785097539425, 0.000739043636713177, -0.009663297794759274, -0.046368323266506195, 0.011727774515748024, -0.01820228062570095, 0.06238012760877609, 0.055246539413928986, -0.008984832093119621, 0.0248318649828434, -0.019723983481526375, -0.00768120726570487, 0.045709241181612015, -0.049392346292734146, -0.0006318216910585761, -0.023474933579564095, -0.03518332168459892, 0.03440793231129646, 0.012193008325994015, -0.011039615608751774, -0.07199496775865555, -0.012871474027633667, -0.04229752719402313, -0.01174715906381607, 0.014829333871603012, -0.01277455035597086, -0.016670886427164078, 0.006726508494466543, -0.00653750728815794, 0.03756764531135559, 0.0004646282468456775, -0.02492878958582878, 0.056681010872125626, -0.0336519256234169, -0.011175308376550674, 0.14329208433628082, -0.023184161633253098, -0.016477037221193314, 0.024521710351109505, -0.04380953684449196, 0.06912601739168167, 0.008136749267578125, -0.0074534364975988865, -0.07304173707962036, 0.0021795728243887424, 0.01202823780477047, 0.004589339718222618, -0.010894229635596275, 0.0011473349295556545, -0.028980202972888947, 0.028476199135184288, -0.024734942242503166, -0.02543279342353344, 0.03481501340866089, 0.0029949438758194447, -0.03712179884314537, 0.0032081762328743935, -0.035105783492326736, 0.031131910160183907, -0.03557101637125015, 0.05299790948629379, -0.004950380884110928, -0.03735441341996193, -0.04016520455479622, -0.012609780766069889, 0.020509066060185432, 0.011524233967065811, -0.04043658822774887, -0.056293316185474396, -0.0002633600088302046, -0.02669280208647251, -0.03543532267212868, 0.017640123143792152, 0.007133588194847107, -0.0007675149827264249, 0.04536031559109688, -0.05323052406311035, 0.008524443954229355, 0.03305099904537201, 0.03981627896428108, 0.007724822964519262, 0.04287906736135483, -0.009285295382142067, -0.035881172865629196, 0.037819650024175644, -0.029309744015336037, 0.01760135404765606, 0.09638097882270813, -0.012939320877194405, 0.049237266182899475, -0.046872328966856, -0.06238012760877609, 0.020315218716859818, 0.007288666442036629, -0.010176993906497955, -0.06559799611568451, 0.009009063243865967, 0.009052678942680359, 0.003382639028131962, -0.0193169042468071, -0.05470376834273338, 0.019840292632579803, 0.008253057487308979, 0.02642141468822956, -0.013743788003921509, -0.0029731362592428923, -0.02615002915263176, -0.010913615114986897, -0.018018126487731934, -0.031131910160183907, 0.004267068114131689, -0.024095244705677032, -0.0024134013801813126, -0.06385336816310883, -0.020334603264927864, -0.006493891589343548, 0.006624738685786724, -0.06947494298219681, 0.020063217729330063, -0.025142021477222443, 0.011514541693031788, -0.01914244145154953, -0.01908428780734539, -0.01981121487915516, 0.0007790246745571494, 0.06296166777610779, 0.002297092927619815, -0.010477458126842976, -0.03425285592675209, 0.008883061818778515, 0.0025369792710989714, 0.01059376634657383, 0.005800886545330286, -0.045088931918144226, 0.010932999663054943, -0.019006747752428055, -0.025200175121426582, 0.023862628266215324, -0.061372119933366776, 0.00301917502656579, 0.010487150400876999, 0.05660347267985344, 0.013453016988933086, 0.03727687522768974, 0.02140076458454132, 0.02735188417136669, -0.03977750986814499, -0.02310662344098091, 0.0051078819669783115, 0.00495280371978879, -0.0008771599968895316, 0.010215763933956623, 0.02741003781557083, -0.005805732682347298, 0.029387282207608223, -0.03801349550485611, -0.02438601665198803, 0.020005062222480774, -0.008088286966085434, -0.009619682095944881, 0.042840298265218735, -0.017465660348534584, 0.008345135487616062, 0.009866838343441486, -0.021303841844201088, -0.006939740851521492, -0.026828495785593987, 0.016855040565133095, -0.04698863625526428, 0.005403499118983746, 0.033303000032901764, 0.009183526039123535, -0.028204811736941338, -0.02196292206645012, -0.012280239723622799, -0.017417198047041893, -0.004802572075277567, 0.0020438795909285545, 0.03140329569578171, -0.003920565824955702, 0.01318163052201271, -0.0002759298076853156, 0.010496842674911022, 0.013142861425876617, 0.024967558681964874, -0.007283820305019617, 0.0028931740671396255, -0.05730132386088371, 0.03619132936000824, -0.023630011826753616, -0.025025712326169014, 0.014790564775466919, 0.048074182122945786, 0.0051078819669783115, 0.030472828075289726, 0.024366632103919983, 0.003944796975702047, -0.03937042877078056, -0.004972188733518124, 0.05633208528161049, -0.008568059653043747, 0.0026678263675421476, 0.0193072110414505, 0.007288666442036629, -0.003956912085413933, -0.0006814951193518937, -0.03700548782944679, 0.0306085217744112, -0.02570417895913124, 0.020431527867913246, -0.0103417644277215, -0.031093141064047813, -0.019442904740571976, 0.007821747101843357, 0.003949643112719059, 0.04450738802552223, 0.052493903785943985, -0.03537717089056969, -0.03159714490175247, 0.03386516124010086, -0.01583734154701233, -0.027933426201343536, 0.02713865041732788, 0.03237253427505493, 0.002440055599436164, -0.03851750120520592, 0.023319855332374573, -0.02014075592160225, 0.02708049677312374, 0.025180790573358536, 0.0027502113953232765, 0.0015532030956819654, 0.008267596364021301, 0.008432366885244846, -0.023630011826753616, -0.006309736520051956, -0.014412562362849712, 0.05493638291954994, -0.16624362766742706, -0.0064841993153095245, -0.021361995488405228, 0.0007081491639837623, -0.010399919003248215, 0.003154868260025978, -0.0005803309613838792, -0.033341772854328156, 0.011815005913376808, -0.02752634510397911, -0.02157522737979889, -0.006871894001960754, -0.022253694012761116, -0.005364729557186365, 0.03400085121393204, 0.0066780466586351395, 0.05032281205058098, -0.015546570532023907, -0.00255151791498065, 0.04268522188067436, 0.00674589304253459, 0.011369156651198864, 0.07056049257516861, 0.007656976580619812, 0.011204386129975319, 0.030550366267561913, 0.024463554844260216, 0.03117067925632, -0.03355500474572182, -0.053540680557489395, 0.03909904137253761, -0.01915213279426098, 0.01732027530670166, 0.006518122274428606, 0.018657822161912918, 0.009677836671471596, 0.023378008976578712, -0.03524147719144821, 0.0061982739716768265, 0.0010873633436858654, 0.020121371373534203, 0.022311847656965256, -0.006149812135845423, -0.0195882897824049, 0.03904088959097862, 0.028262967243790627, 0.018279820680618286, -0.021924152970314026, -0.03469870239496231, -0.016951965168118477, 0.0011491522891446948, 0.016186267137527466, -0.005757270846515894, 0.03446608781814575, 0.01782427914440632, 0.03128698840737343, -0.003171829739585519, -0.005432576406747103, 0.015100721269845963, 0.0028277505189180374, 0.011572696268558502, -0.028166042640805244, -0.03758703172206879, -0.039971355348825455, -0.02791404165327549, 0.03392331302165985, -0.025025712326169014, 0.062922902405262, -0.013598402962088585, -0.013065322302281857, -0.011766543611884117, -0.025006327778100967, 0.020683528855443, -0.03341931104660034, 0.0024582287296652794, 0.008030133321881294, 0.019404135644435883, -0.0017506852746009827, 0.019627060741186142, -0.025994950905442238, 0.0016816271236166358, -0.005330806598067284, -0.05978257209062576, 0.02773957885801792, 0.003404446877539158, 0.025859257206320763, 0.021652767434716225, 0.047143712639808655, -0.041173212230205536, -0.01836705207824707, -0.004683840554207563, -0.018173204734921455, -0.0013593556359410286, 0.011834390461444855, -0.026770340278744698, -0.011243155226111412, -0.03151960298418999, 0.023436164483428, 0.025607256218791008, -0.011844082735478878, -0.005815425422042608, -0.007230511866509914, 0.002992520807310939, 0.045205239206552505, -0.029096510261297226, 0.049392346292734146, 0.039525505155324936, 0.012697012163698673, 0.028728200122714043, -0.001835493603721261, -0.026246951892971992, -0.009731144644320011, -0.031248217448592186, 0.0034092930145561695, -0.02985251694917679, 0.02845681458711624, -0.01500379666686058, -0.007109357509762049, 0.06424106657505035, 0.02421155385673046, 0.004739571362733841, -0.014577332884073257, -0.025394024327397346, -0.01274547353386879, 0.05912349000573158, 0.0070802802219986916, 0.0011879217345267534, 0.05373452976346016, 0.027429422363638878, -0.00948398932814598, 0.001114017446525395, -0.006813739892095327, 0.05423853173851967, 0.02659587748348713, 0.012328701093792915, 0.06606323271989822, 0.020567219704389572, 0.037102412432432175, -0.007099664770066738, -0.002185630612075329, -0.02173030562698841, 0.01781458593904972, -0.004596609156578779, -0.03295407444238663, 0.03266330435872078, -0.025200175121426582, -0.0030482520814985037, -0.004480300471186638, -0.01781458593904972, -0.027623269706964493, -0.013094399124383926, 0.008645598776638508, 0.03338054195046425, -0.008979985490441322, 0.005199959501624107, -0.021749690175056458, 0.017455967143177986, -0.02372693456709385, -0.006532661151140928, 0.004245260264724493, -0.005325960461050272, -0.020063217729330063, -0.005451960954815149, 0.041793521493673325, 0.048578184098005295, 0.011582388542592525, 0.008916985243558884, -0.011853775009512901, -0.016816271468997, 0.029697438701987267, 0.04644586145877838, -0.020993685349822044, -0.010506534948945045, 0.014451331458985806, -0.002395228249952197, -0.0037582186050713062, 0.024812480434775352, -0.020896760746836662, 0.021885383874177933, -0.032682690769433975, 0.008093133568763733, 0.007526129484176636, 0.03624948486685753, -0.020431527867913246, -0.01566287875175476, 0.041134439408779144, -0.035726096481084824, -0.0053453450091183186, 0.04210367798805237, -0.0005706385709345341, 0.017388122156262398, 0.0015047412598505616, -0.041018132120370865, -0.01385040394961834, 0.004356722813099623, 0.013220399618148804, 0.0008256692090071738, 0.0027841348201036453, -0.024793095886707306, 0.01788243278861046, 0.017281504347920418, 0.02973620779812336, -0.020101986825466156, -0.026712186634540558, -0.0036443332210183144, 0.01072945911437273, -0.019985677674412727, 0.0027138651348650455, 0.004351876676082611, 0.014373792335391045, -0.013482093811035156, -0.009139910340309143, -8.162797166733071e-05, 0.014625794254243374, 0.018337974324822426, -0.00617888942360878, -0.0051224203780293465, 0.025936797261238098, -0.0026605569291859865, -0.001600453513674438, 0.024560479447245598, -0.007763592526316643, -0.0010697959223762155, 0.0021977461874485016, -0.01830889657139778, -0.0025369792710989714, -0.06610199809074402, 0.008834600448608398, -0.01354024838656187, -0.040901824831962585, -0.008238518610596657, 0.00811251811683178, 0.008383904583752155, -0.013675942085683346, -0.026557108387351036, 0.07215004414319992, 0.059549953788518906, 0.030763600021600723, -0.013724403455853462, -0.0051030358299613, 0.07350697368383408, 0.0005718501633964479, 0.003065213793888688, 0.0060044266283512115], 'text_index': 0}]}, 'usage': {'total_tokens': 9}, 'request_id': '6f4811d6-9171-94f9-a24c-589ffa88c0a2'}

方式3.本地部署(开源)

这种方式需要自行准备计算资源(通常是带有 GPU 的机器)来运行模型,适合对数据隐私、成本和控制权有更高要求的场景。

适用模型

  • Qwen3-Embedding-8B

通用步骤

  1. 环境准备:准备一台有足够 GPU 显存的服务器(对于 Qwen3-Embedding-8B,至少需要 16GB 以上显存)。

  2. 模型下载:从 Hugging Face 等模型仓库下载模型权重文件和配置文件。

  3. 代码集成 :使用像 transformers 这样的库来加载模型并进行推理。

💡 建议:这部分有兴趣的同学可以下来自行研究。对于大多数初创项目或原型验证阶段,从 API 方式开始是最佳选择。当应用规模化或面临严格的数据合规要求时,再考虑迁移到本地部署开源模型。

相关推荐
Where-2 小时前
LangChain核心组件-Tool
python·langchain
小陈的进阶之路5 小时前
LangChain应用(1)
langchain
不会敲代码16 小时前
RAG 进阶:从网页加载到智能文档分割
langchain·node.js
尘埃落定wf6 小时前
用 FastAPI 将 LangChain Agent 封装成对外接口
langchain·fastapi
Irissgwe9 小时前
LangChain之聊天模型核心能力
人工智能·langchain·大模型·llm
FrontAI9 小时前
深入浅出 LangGraph —— 第5章:条件边与动态路由
人工智能·langchain·ai agent·langgraph
草莓熊Lotso9 小时前
从 LLM 底层原理到 LangChain 全链路打通:大模型应用开发新征程
linux·运维·服务器·人工智能·langchain
花千树-0109 小时前
ReAct 思考-行动-观察循环的底层实现机制
langchain·agent·react·ai编程·ai agent·langgraph·mcp
老刘说AI9 小时前
Text2SQL到数据智能
人工智能·python·低代码·语言模型·langchain