网址查询地址查询,seo专员是指什么意思,上海网论坛网址,亚洲男女做暖网站目录
2.大模型开发
2.1 模型部署
2.1.1 云服务-开放大模型API
2.1.2 本地部署
搜索模型
运行大模型
2.2 调用大模型
接口说明
提示词角色
编辑
会话记忆问题
2.3 大模型应用开发架构
2.3.1 技术架构
纯Prompt模式
FunctionCalling
RAG检索增强
Fine-tuning …目录
2.大模型开发
2.1 模型部署
2.1.1 云服务-开放大模型API
2.1.2 本地部署
搜索模型
运行大模型
2.2 调用大模型
接口说明
提示词角色
编辑
会话记忆问题
2.3 大模型应用开发架构
2.3.1 技术架构
纯Prompt模式
FunctionCalling
RAG检索增强
Fine-tuning
2.3.2 技术选型
2.大模型开发
2.1 模型部署
首先大模型应用开发并不是在浏览器中跟AI聊天。而是通过访问模型对外暴露的API接口实现与大模型的交互
因此需要有一个可访问的大模型通常有三种选择
2.1.1 云服务-开放大模型API
部署在云服务器上部署维护简单部署方案简单全球访问 缺点数据隐私网络依赖长期成本问题
通常发布大模型的官方、大多数的云平台都会提供开放的、公共的大模型服务。以下是一些国内提供大模型服务的云平台 这些开放平台并不是免费而是按照调用时消耗的token来付费每百万token通常在几毛~几元钱而且平台通常都会赠送新用户百万token的免费使用权 以百炼大模型为例 大模型服务平台百炼_企业级大模型开发平台_百炼AI应用构建-阿里云 注册一个阿里云账号然后访问百炼平台开通服务(首次开通应该会赠送百万token的使用权包括DeepSeek-R1模型、qwen模型。)
申请API_KEY(百炼平台右上角个人中心)创建APIKEY进入模型广场 选择一个自己喜欢的模型然后点击API调用示例即可进入API文档页立即体验进入API调用大模型的试验台模拟调用大模型接口 2.1.2 本地部署
数据安全不依赖网络成本低缺点初期成本高部署麻烦周期长
最简单的方案是使用ollama Download Ollama on macOS当然这种方式不推荐阉割版
访问官网下载查看对应模型的本地调用即可
在OllamaSetup.exe所在目录打开cmd命令行然后输入命令如下
OllamaSetup.exe /DIR你要安装的目录位置
安装完成后还需要配置一个环境变量更改Ollama下载和部署模型的位置。配置完成如图 搜索模型 Ollama是一个模型管理工具和平台它提供了很多国内外常见的模型可以在其官网上搜索自己需要的模型Ollama Search 搜索DeepSeek-R1后进入DeepSeek-R1页面会发现DeepSeek-R1也有很多版本 运行大模型
选择自己电脑合适的模型后Ollama会给出运行模型的命令 打开cmd运行即可
ollama run deepseek-r1:7b #运行大模型
/bye #退出当前大模型
ollama ps #查看运行的大模型
Ollama是一个模型管理工具有点像Docker而且命令也很像常见命令如下
ollama serve # Start ollama
ollama create # Create a model from a Modelfile
ollama show # Show information for a model
ollama run # Run a model
ollama stop # Stop a running model
ollama pull # Pull a model from a registry
ollama push # Push a model to a registry
ollama list # List models
ollama ps # List running models
ollama cp # Copy a model
ollama rm # Remove a model
ollama help # Help about any command
2.2 调用大模型
调用大模型并不是在浏览器中跟AI聊天而是通过访问模型对外暴露的API接口实现与大模型的交互所以要学习大模型应用开发就必须掌握模型的API接口规范
目前大多数大模型都遵循OpenAI的接口规范是基于Http协议的接口。因此请求路径、参数、返回值信息都是类似的可能会有一些小的差别。具体需要查看大模型的官方API文档。 以DeepSeek官方给出的文档为例 # Please install OpenAI SDK first: pip3 install openaifrom openai import OpenAI# 1.初始化OpenAI客户端要指定两个参数api_key、base_url
client OpenAI(api_keyDeepSeek API Key, base_urlhttps://api.deepseek.com)# 2.发送http请求到大模型参数比较多
response client.chat.completions.create(# 2.1.选择要访问的模型modeldeepseek-chat,# 2.2.发送给大模型的消息messages[{role: system, content: You are a helpful assistant},{role: user, content: Hello},],# 2.3.是否以流式返回结果streamFalse
)
print(response.choices[0].message.content)
接口说明 请求方式通常是POST因为要传递JSON风格的参数 请求路径与平台有关 DeepSeek官方平台https://api.deepseek.com 阿里云百炼平台https://dashscope.aliyuncs.com/compatible-mode/v1 本地ollama部署的模型http://localhost:11434 安全校验开放平台都需要提供API_KEY来校验权限本地Ollama则不需要 请求参数参数很多比较常见的有 model要访问的模型名称 messages发送给大模型的消息是一个数组 stream true代表响应结果流式返回 false代表响应结果一次性返回但需要等待 temperature取值范围[0:2)代表大模型生成结果的随机性越小随机性越低。DeepSeek-R1不支持 注意这里请求参数中的messages是一个消息数组而且其中的消息要包含两个属性 role消息对应的角色 content消息内容也被称为提示词Prompt也就是发送给大模型的指令。
提示词角色
常用的消息的角色有三种 其中System类型的消息非常重要影响了后续AI会话的行为模式 比如当我们询问AI对话产品文心一言、DeepSeek等“你是谁” 这个问题的时候每一个AI的回答都不一样这是怎么回事呢 这其实是因为AI对话产品并不是直接把用户的提问发送给LLM通常都会在user提问的前面通过System消息给模型设定好背景 所以当你问问题时AI就会遵循System的设定来回答了。因此不同的大模型由于System设定不同回答的答案也不一样
## Role
System: 你是邓超
## Example
User: 你是谁
Assisant: 到gogogo黑咖啡品味有多浓我只要汽水的轻松大热天做个白日梦梦见我变成了彩虹
我是邓超啊哈哈你没看错就是那个又帅又幽默的邓超怎么样是不是被我的魅力惊到了
会话记忆问题 为什么要把历史消息都放入Messages中形成一个数组呢 这是因为大模型是没有记忆的因此在调用API接口与大模型对话时每一次对话信息都不会保留但是可以发现AI对话产品却能够记住每一轮对话信息根据这些信息进一步回答这是怎么回事呢
答案就是Messages数组
只需要每一次发送请求时都把历史对话中每一轮的User消息、Assistant消息都封装到Messages数组中一起发送给大模型这样大模型就会根据这些历史对话信息进一步回答就像是拥有了记忆一样
2.3 大模型应用开发架构
2.3.1 技术架构
目前大模型应用开发的技术架构主要有四种 纯Prompt模式
不同的提示词能够让大模型给出差异巨大的答案
不断雕琢提示词使大模型能给出最理想的答案这个过程就叫做提示词工程Prompt Engineering
很多简单的AI应用仅仅靠一段足够好的提示词就能实现了这就是纯Prompt模式流程如图 FunctionCalling
大模型虽然可以理解自然语言更清晰地弄懂用户意图但是确无法直接操作数据库、执行严格的业务规则。这个时候就可以整合传统应用与大模型的能力了 把传统应用中的部分功能封装成一个个函数Function 在提示词中描述用户的需求并且描述清楚每个函数的作用要求AI理解用户意图判断什么时候需要调用哪个函数并且将任务拆解为多个步骤Agent 当AI执行到某一步需要调用某个函数时会返回要调用的函数名称、函数需要的参数信息 传统应用接收到这些数据以后就可以调用本地函数。再把函数执行结果封装为提示词再次发送给AI 以此类推逐步执行直到达成最终结果。 RAG检索增强
检索增强生成Retrieval-Augmented Generation简称RAG已成为构建智能问答系统的关键技术。
模型从知识角度存在很多限制 时效性差大模型训练比较耗时其训练数据都是旧数据无法实时更新 缺少专业领域知识大模型训练数据都是采集的通用数据缺少专业数据 把最新的数据或者专业文档都拼接到提示词一起发给大模型不就可以了 现在的大模型都是基于Transformer神经网络Transformer的强项就是所谓的注意力机制。它可以根据上下文来分析文本含义
但是上下文的大小是有限制的GPT3刚刚出来的时候仅支持2000个token的上下文。所以海量知识库数据是无法直接写入提示词的 RAG原理 RAG 的核心原理是将检索技术与生成模型相结合结合外部知识库或私有数据源来检索相关信息来指导和增强生成模型的输出有效解决了传统大语言模型的知识更新滞后和幻觉问题。
其核心工作流程分为三个阶段 接收请求: 首先系统接收到用户的请求(例如提出一个问题) 信息检索(R): 系统从一个大型文档库中检索出与查询最相关的文档片段。这一步的目标是找到那些可能包含答案或相关信息的文档。这里不一定是从向量数据库中检索但是向量数据库能反应相似度最高的几个文档(比如说法不同意思相同)而不是精确查找 文本拆分将文本按照某种规则拆分为很多片段 文本嵌入Embedding)根据文本片段内容将文本片段归类存储 文本检索根据用户提问的问题找出最相关的文本片段 生成增强(A): 将检索到的文档片段与原始查询一起输入到大模型(如chatGPT)中注意使用合适的提示词比如原始的问题是XXX检索到的信息是YY给大模型的输入应该类似于: 请基于YYY回答XXXX。 输出生成(G): 大模型LLM 基于输入的查询和检索到的文档片段生成最终的文本答案并返回给用户
由于每次都是从向量库中找出与用户问题相关的数据而不是整个知识库所以上下文就不会超过大模型的限制同时又保证了大模型回答问题是基于知识库中的内容 Fine-tuning
模型微调就是在预训练大模型比如DeepSeek、Qwen的基础上通过企业自己的数据做进一步的训练使大模型的回答更符合自己企业的业务需求。这个过程通常需要在模型的参数上进行细微的修改以达到最佳的性能表现
在进行微调时通常会保留模型的大部分结构和参数只对其中的一小部分进行调整。减少了训练时间和计算资源的消耗。
微调的过程包括以下几个关键步骤 选择合适的预训练模型根据任务的需求选择一个已经在大量数据上进行过预训练的模型如Qwen-2.5 准备特定领域的数据集收集和准备与任务相关的数据集这些数据将用于微调模型 设置超参数调整学习率、批次大小、训练轮次等超参数以确保模型能够有效学习新任务的特征 训练和优化使用特定任务的数据对模型进行训练通过前向传播、损失计算、反向传播和权重更新等步骤不断优化模型的性能
2.3.2 技术选型 从开发成本由低到高来看四种方案的排序Prompt Function Calling RAG Fine-tuning 所以在选择技术时通常也应该遵循在达成目标效果的前提下尽量降低开发成本这一首要原则。然后可以参考以下流程来思考