【AI大模型原理与API使用】

本文主要学习目标

  1. 理解大模型的概念
  2. 学会大模型 API 的使用

大模型中的 Temperature、Top P 的作用

它们都是用来控制LLM生成文本的多样性,但原理不同

Temperature(温度)

  • 原理: 在模型计算出下一个Token所有可能的概率分布后,Temperature会调整这个分布的"平滑度"。
  • 高Temperature (如 1.0+): 会让低概率的Token更容易被选中,使生成结果更具创造性,可能出现不连贯的词语。
  • 低Temperature (如 0.2): 会让高概率的Token权重更大,使生成结果更稳定、更符合训练数据,但会更保守。

Top P(核采样)

  • 原理: 它设定一个概率阈值(P),然后从高到低累加所有Token的概率,直到总和超过P为止。模型只会在这个累
    加出来的"核心"词汇表中选择下一个Token。
  • 高Top P (如 0.9): 候选词汇表非常小,结果更具确定性。
  • 低Top P (如 0.1): 候选词汇表较大,结果更多样。

假设模型要完成句子:"今天天气真..."

模型预测的下一个词可能是:好(60%)、不错(30%)、糟(9%)、可乐(0.01%)。

高Temperature:会提升所有词的概率,使得"可乐"这个不相关的词也有机会被选中。

Top P (设为0.9):会选择概率总和达到90%的词。这里 好(60%) + 不错(30%) = 90%,所以模型只会从"好"和"不错"中选择,直接排除了"可乐"这种离谱的选项。

相比Temperature,Top P能更动态地调整候选词的数量,避免选到概率极低的离谱词汇 => 产生更高质量的文本。

DashScope API

DashScope 是阿里云提供的模型即服务(Model-as-a-Service)平台 API。集合了多种AI大模型(比如这里使用的 deepseek-v3)

如何使用这个 API?

首先,需要通过 pip install dashscope 安装函数库。

然后,设置API 密钥。再按照规定的格式准备输入消息(messages),

最后调用 dashscope.Generation.call() 函数,即可向指定的模型发送请求并获得回复。

bash 复制代码
import json
import os
import dashscope
from dashscope.api_entities.dashscope_response import Role
dashscope.api_key = "sk-XX"
# 封装模型响应函数
def get_response(messages):
	response = dashscope.Generation.call(
		model='qwen-turbo',
		messages=messages,
		result_format='message' # 将输出设置为message形式
	)
	return response



review = '这款音效特别好 给你意想不到的音质。'
messages=[
{"role": "system", "content": "你是一名舆情分析师,帮我判断产品口碑的正负向,回复请用一个词语:正向 或者 负向"},
{"role": "user", "content": review}
]
response = get_response(messages)
response.output.choices[0].message.content

使用方法

常用参数

bash 复制代码
response = dashscope.Generation.call(
model='模型名称',
messages=messages,
result_format='message', # 输出格式
temperature=0.7, # 温度参数,控制随机性
top_p=0.8, # 控制输出的多样性
max_tokens=1500, # 最大输出长度
stream=False # 是否使用流式输出
)

获取响应结果

bash 复制代码
# 从模型众多可能的响应(choices)中,取出第一个([0]),并读取其消息(message)中的实际文本内容
# 获取生成的文本
result = response.output.choices[0].message.content
# 如果是流式输出
for chunk in response:
	print(chunk.output.choices[0].message.content, end='')

系统提示词 与 用户提示词

系统提示词 (System Prompt)

• 用于设定AI的角色、行为准则和输出格式,是贯穿对话的全局指令,为其提供了扮演的"人设"。

• 应在对话开始时设定,内容要清晰明确。

• 它会像普通问题一样消耗Token,不应在其中包含用户的具体问题。频繁更改可能导致AI行为不稳定。

LLM的输入与输出Token限制

输入Token限制

• 模型单次API调用能处理的最大信息量,包含系统提示词、历史对话和当前用户输入的所有内容。

• 所有输入内容的总长度不能超过此限制,否则API会报错。

• 我们需自行管理历史对话长度,比如通过截断或总结旧消息来确保请求不超过上限。

输出Token限制

• 指模型在一次回复中能生成的最大内容长度。

• 我们通常可以在API请求中手动设置此参数(如 max_output_tokens)。

• 设置过低会导致回答不完整,内容被突然截断;

• 设置过高则可能增加API调用时间和费用。需要根据具体任务需求权衡。

相关推荐
'pi%'2 分钟前
RAG系统的“最后一公里“:数据清洗、特征工程与向量化策略的工程化实践
人工智能
tachibana28 分钟前
性能指标的口径选择
数据库·人工智能·架构·大模型·llm
HIT_Weston23 分钟前
183、【Agent】【OpenCode】TuiThreadCmd(JS&TS 历史)
人工智能·agent·opencode
蓝狐社30 分钟前
你的软件越来越卡,是因为它多了个AI
人工智能
万悉科技32 分钟前
AI时代的“搜索战争“变了:从关键词排名到意图匹配,品牌正在大模型的注意力机制里“失声“
人工智能
W_3260034 分钟前
Python-OpenCV HSV颜色空间与inRange颜色分割:按颜色提取目标物体
图像处理·人工智能·python·opencv·机器学习
小小测试开发39 分钟前
Agent 安全测试:pytest 原生红队框架 RAMPART 实战解析
人工智能·pytest
FunTester39 分钟前
DeepSeek Harness 常用插件介绍
人工智能·语言模型·常用插件·deepseek·harness
九硕智慧建筑一体化厂家41 分钟前
楼宇自控|智慧建筑核心引擎!楼宇自控系统,赋能建筑高效低碳运维
运维·人工智能·笔记·智慧城市
byte轻骑兵1 小时前
【BlueZ 】蓝牙 SDAP 协议入门:BlueZ 中设备服务发现的基础逻辑
linux·人工智能·bluez·电脑蓝牙·嵌入式蓝牙