AI大模型原理及API使用

一、AI基础知识
1. 什么是AI?
AI(人工智能)的核心目标是让机器能够执行通常需要人类智能的任务,例如语言理解、图像识别、复杂问题解决等。
- 早期阶段:以规则为基础的专家系统,依赖预设的逻辑和规则。
- 机器学习时代:通过数据训练模型,使机器能够从数据中学习规律。
- 深度学习时代:利用神经网络模拟人脑的复杂结构,处理更复杂的任务。
- 大模型时代:以大规模数据和算力为基础,构建通用性强、性能卓越的AI模型。

2. AI的分类

二、大语言模型(LLM)与主流AI模型
1. 大型语言模型(LLM)
- LLM 是基于海量文本数据训练的深度学习模型,属于生成式AI的一种。常见模型有GPT系列、DeepSeek、Qwen等。
- 具备强大的文本理解、摘要、翻译、问答及内容创作能力。通过上下文关联,能进行连贯且富有逻辑的对话与写作,并可通过少量示例进行下游任务学习。
应用场景:
- 智能客服电商网站导入基于LLM的聊天机器人,能即时理解客户复杂的售后问题,提供个性化解决方案,大幅提升服务效率与客户满意度。
- 内容创作:营销团队使用LLM,输入产品关键字和目标受众,快速生成多版本的广告文案、社交媒体帖文与博客文章,有效降低人力成本。

2. 生图/生视频模型(Text-to-Image/Video)
- 专门将文字描述转换为全新图像或视频。代表模型有DALL-E、Midjourney、Sora等。
- 能根据用户输入的文字提示(Prompt),创造出符合描述且风格多样的视觉内容,融合不同概念、属性和风格,生成原创作品。
应用场景:
- 产品设计设计师输入“一款具有未来感的流线型运动跑鞋,采用回收海洋塑料材质”,模型可快速生成多款概念图,加速产品可视化与迭代过程。
- 影视预览导演利用文字生成视频模型,将剧本中的关键场景转换为动态预览片段,便于实际拍摄前评估镜头、光影和场景布局的可行性。

3. 视觉识别模型(Computer Vision Model)
- 视觉识别模型让计算机能“看懂”并解析图像与视频内容,主要任务包括图像分类、物体检测、图像分割等。代表模型有YOLO、ResNet。
- 能准确辨识影像中的物体、人脸、文字或特定场景,从像素中提取特征,与已知模式比对,完成识别、定位或追踪任务。
应用场景:
- 智能制造生产线上部署视觉识别系统,能即时检测产品外观的微小瑕疵,自动剔除不合格品,确保出厂品质,准确率远超人眼。
- 医疗影像分析医院导入AI辅助判读系统,分析X光或CT扫描影像,模型能快速标记疑似肿瘤或病变区域,协助医生提高诊断效率与准确性。

三、大语言模型Token与关键参数

1. Token的定义
Token是大型语言模型处理文本的最小单位。由于模型无法直接理解文字,需要将文本切分成Token,再转换为数字(向量)进行运算。不同模型使用不同的“分词器”(Tokenizer)。
示例:
- 英文 "Hello World":GPT-4o 切分为 [“Hello“, ”World“] → token id = [13225, 5922]
- 中文“人工智能你好啊”:
- DeepSeek-R1 切分为 [“人工智能”, “你好”, “啊”] → token id = [33574, 30594, 3266]
分词方式不同会影响模型效率和对语言细节的理解能力。
推荐工具:tiktokenizer.vercel.app 可查看不同模型的分词方式。
2. 模型的常见特殊Token
- 分隔符(Separator Token)用于区分不同文本段落或角色,如 <|user|>、<|assistant|>。
- 结束符(End-of-Text Token)告知模型文本结束,如 [EOS] 或 <|endoftext|>,确保生成内容完整不冗长。
- 起始符(Start Token)标记序列开始,如 [CLS]、[BOS],帮助模型准备处理文本。
3. Token长度限制
- 输入Token限制模型单次API调用能处理的最大信息量,包括系统提示词、历史对话和当前输入。超出会报错。
- 输出Token限制模型一次回复能生成的最大内容长度。设置过低会导致回答不完整,过高则增加调用时间和费用。
4. Temperature与Top P参数
用于控制LLM生成文本的多样性:
- Temperature(温度)控制概率分布的“平滑度”。高温度(如1.0+):生成更具创造性但可能不连贯。低温度(如0.2):生成更稳定、保守的内容。
- Top P(核采样)设定概率阈值P,模型只在累计概率达到P的词汇表中选词。高Top P(如0.9):结果多样。低Top P(如0.1):结果更确定。
对比示例:
假设模型要完成句子“今天天气真...”
预测下一个词:好(60%)、不错(30%)、糟(9%)、可乐(0.01%)。
- 高Temperature:低概率词(如“可乐”)也有机会被选中。
- Top P=0.9:只从“好”和“不错”中选择,排除离谱选项。
四、AI大模型聊天产品的“超能力”

1. 联网搜索
- 弥补LLM训练数据的时效性限制,获取外部实时信息。
- 系统识别用户需求,自动调用搜索引擎API(如Google),获取并总结实时信息,生成精准回答。
示例:
用户问“黄金的涨跌和哪些因素有关?”,LLM自动调用搜索工具,整理信息后给出答案。
2. 读取文件(RAG)
- 基于“检索增强生成”(Retrieval-Augmented Generation, RAG)技术。
- 上传文件后,系统分割内容并向量化,存入数据库。提问时检索相关片段,辅助模型生成答案。
示例:
上传公司财报,问“第二季度的利润是多少?”,RAG系统能精准定位并提取相关信息。
3. 记忆功能
- LLM本身无状态。系统通过上下文窗口实现“短期记忆”,通过数据库提取用户偏好等“长期记忆”,为模型提供个性化背景知识。
示例:
用户偏好“简洁回答风格”,系统记录并在后续对话中自动适应。
五、DashScope使用方法
1. 什么是DashScope API?
DashScope 是阿里云提供的模型即服务(Model-as-a-Service)平台API。
2. 基本使用步骤
1)安装与API密钥设置
import dashscopefrom dashscope.api_entities.dashscope_response import Role# 设置 API keydashscope.api_key = "your-api-key"
2)模型调用
response = dashscope.Generation.call(model='模型名称', # 如 'qwen-turbo', 'deepseek-r1' 等messages=messages,result_format='message')
3)message格式
messages = [{"role": "system", "content": "系统提示信息"},{"role": "user", "content": "用户输入"},{"role": "assistant", "content": "助手回复"},{"role": "user", "content": "用户新的输入"}]
4)常用参数说明
response = dashscope.Generation.call(model='模型名称',messages=messages,result_format='message',temperature=0.7,top_p=0.8,max_tokens=1500,stream=False)
- model指定使用的模型(如 'deepseek-v3')。
- messages传递给模型的对话内容(列表,每项为字典,包含 role 和 content)。
- result_format返回结果格式,'message'为标准消息格式。
5)获取响应结果
# 获取生成的文本result = response.output.choices[0].message.content# 流式输出for chunk in response:print(chunk.output.choices[0].message.content, end='')
主要关注 response.output.choices[0].message.content,获取模型实际输出内容。
6)系统提示词(System Prompt)
- 用于设定AI的角色、行为准则和输出格式,是全局指令。
- 应在对话开始设定,内容清晰明确。
- 提示词会消耗Token,频繁更改可能导致AI行为不稳定。
六、DashScope API使用案例
CASE 1:情感分析
对用户评论进行情感正向/负向
import jsonimport osimport dashscopefrom dashscope.api_entities.dashscope_response import Roleapi_key = os.environ.get('DASHSCOPE_API_KEY')dashscope.api_key = api_keydef get_response(messages):response = dashscope.Generation.call(model='deepseek-v3',messages=messages,result_format='message')return responsereview = '这款音效特别好 给你意想不到的音质。'messages=[{"role": "system", "content": "你是一名舆情分析师,帮我判断产品口碑的正负向,回复请用一个词语:正向 或者 负向"},{"role": "user", "content": review}]response = get_response(messages)print(response.output.choices[0].message.content)
CASE 2:Function Call使用(天气查询)
为LLM提供实时天气查询服务,支持函数调用。
1)模拟天气查询函数
def get_current_weather(location, unit="摄氏度"):temperature = -1if '杭州' in location or 'Dalian' in location:temperature = 10if '上海' in location or 'Shanghai' in location:temperature = 36if '深圳' in location or 'Shenzhen' in location:temperature = 37weather_info = {"location": location,"temperature": temperature,"unit": unit,"forecast": ["晴天", "微风"],}return json.dumps(weather_info)
2)模型调用封装
def get_response(messages):try:response = dashscope.Generation.call(model='qwen-max',messages=messages,functions=functions,result_format='message')return responseexcept Exception as e:print(f"API调用出错: {str(e)}")return None
3)主要对话流程
query = "杭州的天气怎样"messages=[{"role": "user", "content": query}]response = get_response(messages)if hasattr(message, 'function_call') and message.function_call:function_call = message.function_calltool_name = function_call['name']arguments = json.loads(function_call['arguments'])tool_response = get_current_weather(location=arguments.get('location'),unit=arguments.get('unit'),)tool_info = {"role": "function", "name": tool_name, "content": tool_response}messages.append(tool_info)response = get_response(messages)
4)函数注册配置
functions = [{'name': 'get_current_weather','description': 'Get the current weather in a given location.','parameters': {'type': 'object','properties': {'location': {'type': 'string','description': 'The city and state, e.g. San Francisco, CA'},'unit': {'type': 'string', 'enum': ['celsius', 'fahrenheit']}},'required': ['location']}}]
5)整体工作流程
- 用户输入查询天气的问题
- 模型理解问题,决定调用天气查询函数
- 模型生成函数调用参数(城市、温度单位)
- 程序执行函数,获取天气数据
- 将天气数据返回给模型
- 模型生成最终自然语言回答
本文内容仅供参考,不构成任何专业建议。使用本文提供的信息时,请自行判断并承担相应风险。



