【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调用时间和费用。需要根据具体任务需求权衡。

相关推荐
weixin_422329311 小时前
Agent 评测的基本概念与经典方法
人工智能
云浪1 小时前
给 AI Agent 加上语音交互:ASR + 流式 TTS 实战
前端·人工智能·后端
一次旅行1 小时前
fzf+ripgrep+fd终端三合一实战:一套检索工具链,大幅提升大型项目开发效率
人工智能·python·github
m4Rk_1 小时前
【论文阅读】Agent 记忆机制(27):MemRefine——用 LLM 事实判断将长期记忆压缩到固定预算
论文阅读·人工智能·学习
蓦然回首却已人去楼空1 小时前
Build a Large Language Model (From Scratch) 附录 E 使用 LoRA 进行参数高效微调
人工智能·语言模型·自然语言处理
IT小盘1 小时前
05-PDF-Word-Excel接入RAG知识库
人工智能
zzzll11111 小时前
RAG(检索增强生成)技术详解:从原理到实践
java·人工智能
Python私教1 小时前
Django 做一个 AI 销售助手:读取客户记录,自动生成跟进计划
人工智能·python·django
leikooo2 小时前
ARTS 0802: 合并有序链表、AI 时代的技术断层与 TCP 200ms 延迟之谜
人工智能·tcp/ip·链表