AIGC的发展历程
从GPT1到GPT4
- GPT-1(2018年)
基于12层Transformer解码器架构,参数量1.17亿,首次采用无监督预训练+微调范式,在文本生成任务中展现基础语言理解能力。 - GPT-2(2019年)
参数量增至15亿,训练数据达40GB,证明模型规模扩大可显著提升零样本任务表现,生成文本连贯性增强。 - GPT-3(2020年)
参数量突破1750亿,引入Few-shot学习能力,支持代码生成等复杂任务,但存在逻辑错误和偏见问题。 - GPT-4(2023年)
多模态融合架构,优化推理能力和安全伦理机制,在专业考试和创意写作中达到人类水平。
什么是AI
人工智能(AI)指通过算法模拟人类认知功能的系统,涵盖机器学习、自然语言处理、计算机视觉等领域。其核心目标是使机器具备感知、推理、学习和决策能力。
分析式与生成式AI的区别
类型 | 分析式AI | 生成式AI |
---|---|---|
原理 | 基于判别模型分析数据规律 | 基于生成模型创造新内容 |
应用 | 金融风控、医疗诊断 | 文本/图像生成、创意设计 |
案例 | SVM分类、推荐系统 | GPT文本生成、DALL·E图像合成 |
GPT是如何训练出来的
- 预训练:通过海量文本学习语言规律,采用自注意力机制捕捉长距离依赖。
- 微调:在标注数据上调整模型的参数以适应具体任务。
- RLHF:通过人类反馈强化学习优化输出质量,如ChatGPT的对话对齐。
AIGC的表现与优势
- 效率提升:快速生成营销文案或设计草图,比人工快100倍。
- 成本优化:电商产品描述生成成本降低90%。
- 创新赋能:辅助科研人员生成蛋白质结构假设,加速药物研发。
AIGC的通用能力应用
- 医疗:合成匿名病例数据辅助罕见病研究。
- 教育:为每位学生生成个性化习题。
- 保险:车险理赔中AI定损将处理时间从3天缩短至25分钟。
- 文案:快速生成新媒体内容,提高曝光度。
大模型API调用
全球AI发展现状
- 技术发展前沿:2025年全球AI持续突破,生成式AI和多模态融合和成为核心发展方向(多模态生成技术实现文本到3D模型的跨越),行业定制化生成模型成为新趋势。
- 全球竞争格局:欧洲4月推出《AI大陆行动计划》,美国7月发布《Winning this AI Race》计划,中国8月发布《关于深入实施“人工智能+”行动的意见》文件。
- 行业应用深化:医疗健康、国家电网、海尔工厂、钢铁生产、农业创新都在利用AI提高效率。
- 未来发展趋势:Agentic AI的崛起,从被动响应转向自主执行复杂任务;AI将更深度融入经济社会各领域,推动生产力变革和产业升级。
API调用项目实操
-
情感分析-Qwen(掌握DashScope调⽤⼤模型)
- 获取API
访问阿里云百炼平台:https://bailian.console.aliyun.com/ ,完成注册登录
点击右上角齿轮,点击API-Key,点击创建API-KEY(建议添加描述,区分用途),复制API Key - 配置环境
以Ubuntu24.04为例(系统已默认安装python3):# 1. 安装python虚拟环境组件 apt install python3-venv # 2. 创建名为test虚拟环境,删除直接rm -rf test即可 python3 -m venv test # 3. 激活虚拟环境,后续安装的依赖包都在虚拟环境中不影响全局python,运行deactivate退出虚拟环境 source test/bin/activate # 4. 在虚拟环境中安装依赖包,dashscope用于AI模型开发的库,python-dotenv用于从.env文件中加载环境变量到应用程序中 pip install dashscope python-dotenv
- 构建项目
# 1. 创建项目目录及文件 mkdir sentiment && cd sentiment/ && touch .env requirements.txt config.py main.py # 2. 在.env文件中添加变量为从阿里云百炼获取的API Key,降低API外泄风险 echo "DASHSCOPE_API_KEY=您的API" > .env # 3. 在requirements.txt文件中添加项目依赖,也可运行pip install -r requirements.txt安装依赖包 cat << EOF | tee requirements.txt dashscope>=1.23.0 python-dotenv>=1.0.0 EOF # 4. 在config.py文件中引用调用的模型名称、链接及密钥,可以尝试更换模型版本(qwen-turbo/qwen-max) cat << EOF | tee config.py import os from dotenv import load_dotenv load_dotenv() class Config: API_KEY =os.getenv('DASHSCOPE_API_KEY') MODEL_NAME = 'qwen-plus-2025-09-11' BASE_URL = 'https://dashscope.aliyuncs.com/compatible-mode/v1' EOF # 5. 在main.py主程序中添加执行代码,注意代码对齐,有严格的代码规范 cat << EOF | tee main.py from http import HTTPStatus import dashscope from config import Config class SentimentAgent: def __init__(self): dashscope.api_key = Config.API_KEY def analyze_sentiment(self, text): """情感分析核心方法""" messages = [ { "role": "system", "content": "你是一个专业的情感分析模型。请分析以下文本的情感倾向,仅返回'正面'、'负面'或'中性'" }, { "role": "user", "content": text } ] response = dashscope.Generation.call( model=Config.MODEL_NAME, messages=messages, result_format='message' ) if response.status_code == HTTPStatus.OK: return response.output.choices[0].message.content else: raise Exception(f"API调用失败: {response.message}") if __name__ == '__main__': main = SentimentAgent() while True: text = input("请输入待分析文本(输入q退出): ") if text.lower() == 'q': break result = main.analyze_sentiment(text) print(f"情感分析结果: {result}") EOF # 6. 运行主程序测试效果 python main.py
- 进阶优化
# 1. 在main.py文件中增加修改模型默认参数,测试输出结果 response = dashscope.Generation.call( model=Config.MODEL_NAME, messages=messages, result_format='message', temperature=0.3, # 温度参数,不同模型默认值不同,控制输出随机性(0-1),越大越随机,越小则缺乏创意 top_p=0.8 # 核采样参数,越高越多样,越低越集中 ) # 2. 在main.py文件中扩展情感分类,修改系统提示词,测试输出结果 "content": "……请分析以下文本的情感倾向,返回: 非常正面/正面/中性/负面/非常负面" # 3. 在main.py文件中,系统提示词再增加一行情感强度评分并返回指定的格式,测试输出结果 "content": "返回JSON格式: {'情感':'正面','评分':0.8}"
- 案列总结
注意规范的安全的管理API Key,初步理解prompt工程设计,了解可扩展的架构设计
- 获取API
-
查询天⽓-Qwen(了解Function Call)
- 获取API
除了要获取阿里百炼模型的API外还需要一个查询天气的API(以和风天气为例)
访问和风天气开发者平台:https://dev.qweather.com/ ,完成注册登录
在本地执行以下命令生成公钥和私钥(以Ubuntu为例):openssl genpkey -algorithm ED25519 -out ed25519-private.pem \ && openssl pkey -pubout -in ed25519-private.pem > ed25519-public.pem cat ed25519-public.pem
在和风天气控制台点击项目管理,创建项目,创建凭据,复制ed25519-public.pem的内容至上传公钥中,复制项目ID和凭据ID
进入test虚拟环境,安装依赖,生成12小时有效的token
# 1. 进入test虚拟环境 source test/bin/activate # 2. 安装依赖包 pip3 install PyJWT # 3. 创建生成JWT_Token的文件,private_key为生成的ed25519-private.pem内容,sub为项目ID,kid为凭据ID cat << EOF | tee make_jwt_token.py import sys import time import jwt private_key = """ed25519-private.pem的全部内容""" payload = { 'iat': int(time.time()) - 30, 'exp': int(time.time()) + 43200, 'sub': '项目ID' } headers = { 'kid': '凭据ID' } encoded_jwt = jwt.encode(payload, private_key, algorithm='EdDSA', headers = headers) print(f"JWT: {encoded_jwt}") EOF
复制token,到和风天气控制台的帮助与支持,点击JWT验证确保生成的token有效
- 搭建环境
# 还是在test虚拟环境中安装依赖包,注意当前所在目录 source test/bin/activate pip install dashscope python-dotenv requests
- 构建项目
# 1. 创建项目目录及文件 mkdir weather && cd weather/ && touch .env requirements.txt config.py weather_api.py main.py # 2. 在.env文件中添加变量并分别设置为阿里百炼和和风天气的JWT验证 cat << EOF | tee .env API_HOST=和风天气API Host QWEATHER_JWT=和风天气的JWT token,例如:Bearer eyJhbGci... DASHSCOPE_API_KEY=阿里百炼模型APIkey EOF # 3. 在requirements.txt文件中添加依赖包,requests为请求依赖包 cat << EOF | tee requirements.txt dashscope>=1.23.0 python-dotenv>=1.0.0 requests>=2.31.0 EOF # 4. 在config.py文件中获取模型名称以及API,模型可修改为文本生成或全模态 cat << EOF | tee config.py import os from dotenv import load_dotenv load_dotenv() class Config: QWEATHER_HOST = os.getenv('API_HOST') QWEATHER_JWT = os.getenv('QWEATHER_JWT') DASHSCOPE_API_KEY = os.getenv('DASHSCOPE_API_KEY') MODEL_NAME = 'qwen-plus-2025-09-11' EOF # 5. 在weather_api.py文件中封装API cat << EOF | tee weather_api.py import gzip import json import requests from config import Config class QWeatherAPI: @staticmethod def get_weather(endpoint, params=None): """通用调用API""" url = f"https://{Config.QWEATHER_HOST}{endpoint}" headers = { "Authorization": Config.QWEATHER_JWT, "Accept-Encoding": "gzip" } try: response = requests.get(url, headers=headers, params=params) response.raise_for_status() return response.json() except requests.exceptions.RequestException as e: print(f"API调用失败: {str(e)}") return None @staticmethod def get_city_id(city_name): """调用Geo API获取城市id""" return QWeatherAPI.get_weather('/geo/v2/city/lookup', {'location': city_name}) @staticmethod def get_current_weather(city_name): """获取实时天气""" geo_data = QWeatherAPI.get_city_id(city_name) if not geo_data or not geo_data.get("location"): return None location_id = geo_data["location"][0]["id"] return QWeatherAPI.get_weather('/v7/weather/now', {'location': location_id}) EOF # 6. 在main.py文件中添加如下代码 cat << EOF | tee main.py import dashscope from http import HTTPStatus from config import Config from weather_api import QWeatherAPI class WeatherAgent: def __init__(self): dashscope.api_key = Config.DASHSCOPE_API_KEY def get_weather_function(self): """定义天气查询的Function Call规范""" return { "name": "get_current_weather", "description": "获取指定城市的当前天气情况", "parameters": { "type": "object", "properties": { "city": { "type": "string", "description": "城市名称,如'北京'" } }, "required": ["city"] } } def run_query(self, user_input): """处理用户查询""" response = dashscope.Generation.call( model=Config.MODEL_NAME, messages=[{"role": "user", "content": user_input}], functions=[self.get_weather_function()], result_format='message' ) if response.status_code == HTTPStatus.OK: # 检查是否需要调用函数 if "function_call" in response.output.choices[0].message: func_call = response.output.choices[0].message["function_call"] if func_call["name"] == "get_current_weather": # 解析参数并调用天气API city = eval(func_call["arguments"])["city"] weather_data = QWeatherAPI.get_current_weather(city) # 将结果返回给模型生成最终回复 second_response = dashscope.Generation.call( model=Config.MODEL_NAME, messages=[ {"role": "user", "content": user_input}, {"role": "function", "name": func_call["name"], "content": str(weather_data)} ] ) return second_response.output.choices[0].message["content"] else: return response.output.choices[0].message["content"] else: raise Exception(f"API调用失败: {response.message}") if __name__ == '__main__': main = WeatherAgent() while True: query = input("请输入您的天气查询(输入q退出): ") if query.lower() == 'q': break result = main.run_query(query) print(f"查询结果: {result}") EOF
- 进阶建议
添加更多功能的函数,例如天气预报、空气质量等
实现多轮对话记忆功能
添加用户位置自动识别 - 案列总结
理解模型如何决定调用函数以及传递参数
- 获取API
-
表格提取-Qwen(了解多模态⼤模型)
-
运维事件处置-Qwen