企业级AI应用开发:多模型API统一接入与管理实战
1. 引言:当你的AI应用需要“吃百家饭”
想象一下,你正在为一家大型企业开发一个智能客服系统。老板说:“我们要用最聪明的AI,哪个模型好用就用哪个。”听起来很美好,对吧?但现实很快给你泼了一盆冷水。
你发现,OpenAI的API调用格式和百度文心一言不一样,阿里通义千问的认证方式和讯飞星火又不同。为了接入5个主流模型,你写了5套不同的代码,维护了5个不同的密钥管理逻辑,监控系统里多了5个需要关注的指标。更头疼的是,当某个模型服务不稳定时,你还需要手动切换流量,用户可能因此体验中断。
这就像你开了一家餐厅,但每个供应商的送货时间、结账方式、包装规格都不一样。每天光协调这些琐事就耗尽精力,哪还有心思研究菜品创新?
这就是企业级AI应用开发面临的核心痛点:多模型接入的复杂性。
今天,我要分享的解决方案,能让你用一个统一的“收银台”和“库存管理系统”,轻松对接市面上几乎所有主流大模型。无论你是想用ChatGPT写文案、用Claude分析文档、用文心一言处理中文任务,还是用通义千问做代码生成,都可以通过一套标准接口搞定。
这个方案的核心,就是今天要介绍的多模型API统一接入与管理平台。它不是一个遥不可及的概念,而是一个开箱即用、单文件部署的实战工具。接下来,我会带你从零开始,一步步搭建这个企业级AI应用的“中央调度系统”。
2. 为什么你需要一个统一的API网关?
在深入技术细节之前,我们先搞清楚一个问题:为什么不能直接用各个厂商的原生API?为什么非要加一层“中间件”?
2.1 多模型接入的四大现实挑战
挑战一:API格式五花八门
每个AI厂商都觉得自己设计的API最合理,结果就是开发者要面对一堆不同的调用方式。看看这个对比:
# OpenAI的调用方式 from openai import OpenAI client = OpenAI(api_key="your-key") response = client.chat.completions.create( model="gpt-4", messages=[{"role": "user", "content": "Hello"}] ) # 百度文心一言的调用方式(简化示例) import requests url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions" headers = {"Content-Type": "application/json"} params = {"access_token": "your-token"} data = { "messages": [{"role": "user", "content": "Hello"}], "temperature": 0.7 } response = requests.post(url, params=params, json=data, headers=headers) # 阿里通义千问又是另一套... # 讯飞星火还有自己的格式... # Claude、Gemini、豆包... 每个都不一样光是记住这些差异就够头疼了,更别说在代码里维护多套逻辑。
挑战二:密钥管理变成噩梦
假设你的应用要接入10个模型,每个模型都需要API密钥。这些密钥可能:
- 有不同的过期时间
- 有不同的额度限制
- 需要定期轮换
- 有不同的安全策略
没有统一管理的话,你可能会遇到:
- 某个密钥泄露了,但不知道是哪个
- 某个模型的额度用完了,但没及时发现
- 密钥过期导致服务中断
挑战三:故障切换和负载均衡难以实现
当GPT-4响应变慢时,你想把流量切到Claude;当文心一言服务不稳定时,你想用通义千问顶上。如果没有统一入口,这种动态切换几乎不可能实现。
挑战四:监控和成本控制复杂
每个厂商的控制台界面不同,数据格式不同,你需要在10个不同的地方查看用量、监控错误率、分析成本。想要一个统一的仪表盘?自己从头开发吧。
2.2 统一接入平台的四大核心价值
现在来看看,一个设计良好的统一接入平台能解决什么问题:
价值一:标准化接口,一次开发,多处使用
无论底层对接了多少个模型,对外只提供一套标准的OpenAI兼容API。你的应用代码只需要写一次,就能调用所有支持的模型。
# 统一后的调用方式(对所有模型都一样) from openai import OpenAI # 只需要改这个base_url,指向你的统一平台 client = OpenAI( api_key="your-platform-key", # 平台的统一密钥 base_url="http://your-platform.com/v1" # 统一平台的地址 ) # 调用GPT-4 response_gpt4 = client.chat.completions.create( model="gpt-4", messages=[{"role": "user", "content": "用英文回答"}] ) # 调用文心一言(模型名不同而已) response_ernie = client.chat.completions.create( model="ernie-bot", # 平台内部会映射到真正的文心一言 messages=[{"role": "user", "content": "用中文回答"}] ) # 调用Claude response_claude = client.chat.completions.create( model="claude-3-opus", messages=[{"role": "user", "content": "分析这篇文档"}] )看到区别了吗?你的业务代码完全不用关心底层是哪个厂商,只需要指定模型名称。
价值二:集中化的密钥和权限管理
所有模型的密钥都保存在平台里,由平台统一管理。你可以:
- 给不同团队分配不同的访问令牌
- 设置每个令牌的额度限制
- 控制每个令牌能访问哪些模型
- 监控所有密钥的使用情况
价值三:智能路由和故障转移
平台可以自动帮你:
- 根据模型性能动态分配流量
- 当某个模型失败时自动重试或切换到备用模型
- 实现多密钥的负载均衡(一个模型有多个密钥时)
价值四:统一的监控和计费
在一个控制台里,你能看到:
- 所有模型的调用次数、成功率、响应时间
- 每个团队、每个应用的使用情况
- 详细的费用统计和预测
- 实时的服务健康状态
3. 实战部署:10分钟搭建你的统一API平台
理论讲完了,现在我们来动手实践。今天要用的工具是一个开源的多模型API统一接入平台,它支持30+主流模型,提供Docker一键部署,真正做到了开箱即用。
3.1 环境准备与快速部署
系统要求:
- Linux/Windows/macOS均可
- Docker和Docker Compose
- 至少2GB内存
- 基本的命令行操作能力
第一步:获取部署文件
最简单的方式是使用Docker Compose。创建一个docker-compose.yml文件:
version: '3.8' services: oneapi: image: justsong/one-api:latest container_name: one-api ports: - "3000:3000" volumes: - ./data:/data environment: - SQLITE_PATH=/data/one-api.db - REDIS_CONN_STRING=redis://redis:6379 - SESSION_SECRET=your-session-secret-change-this restart: unless-stopped depends_on: - redis redis: image: redis:7-alpine container_name: one-api-redis restart: unless-stopped volumes: - ./redis-data:/data第二步:启动服务
在终端中执行:
# 创建数据目录 mkdir -p data redis-data # 启动服务 docker-compose up -d等待几分钟,服务就会启动完成。访问http://localhost:3000就能看到登录界面。
第三步:初始登录和密码修改
使用默认账号密码登录:
- 用户名:
root - 密码:
123456
重要安全提醒:登录后第一件事就是修改默认密码!在系统设置中找到密码修改选项,设置一个强密码。
3.2 平台核心功能快速上手
登录后,你会看到一个简洁的管理界面。左侧是功能菜单,我们重点看几个核心功能:
1. 渠道管理(添加AI模型)
渠道就是对接各个AI厂商的配置。点击“渠道”菜单,然后“添加渠道”。
以添加OpenAI为例:
- 渠道类型:选择“OpenAI”
- 渠道名称:起个容易识别的名字,比如“OpenAI-GPT-4”
- 密钥:填写你的OpenAI API密钥
- 其他参数:可以按需配置权重、模型列表等
同样的方式,你可以添加:
- Anthropic Claude(需要Claude API密钥)
- 百度文心一言(需要百度智能云账号)
- 阿里通义千问(需要阿里云账号)
- 讯飞星火、智谱ChatGLM、腾讯混元等等
2. 令牌管理(给应用分配访问权限)
渠道是“进货”,令牌就是“出货”。点击“令牌”菜单,创建新的访问令牌。
创建令牌时可以设置:
- 名称:比如“生产环境-客服系统”
- 额度:这个令牌最多能用多少额度(按美元或次数计)
- 过期时间:令牌的有效期
- 允许的模型:这个令牌能访问哪些模型
- IP白名单:只允许特定IP调用
创建成功后,你会得到一个类似sk-xxxxx的令牌。这个令牌就是你的应用用来调用统一API的凭证。
3. 用户和分组管理(团队协作)
如果你需要给不同团队分配不同的权限,可以使用用户和分组功能:
- 创建用户:为每个团队成员创建账号
- 创建分组:比如“研发组”、“产品组”、“测试组”
- 分配令牌:给不同分组分配不同的令牌和额度
3.3 你的第一个API调用
现在平台已经搭建好了,我们来测试一下是否能正常工作。
测试脚本(Python):
import os from openai import OpenAI # 配置 API_BASE_URL = "http://localhost:3000/v1" # 你的平台地址 API_KEY = "sk-xxxxx" # 你在平台创建的令牌 # 创建客户端 client = OpenAI( api_key=API_KEY, base_url=API_BASE_URL ) # 测试调用GPT-3.5 try: response = client.chat.completions.create( model="gpt-3.5-turbo", # 模型名称 messages=[ {"role": "system", "content": "你是一个有帮助的助手。"}, {"role": "user", "content": "你好,请介绍一下你自己。"} ], max_tokens=100 ) print("调用成功!") print(f"模型回复:{response.choices[0].message.content}") print(f"使用令牌:{response.usage.total_tokens}") except Exception as e: print(f"调用失败:{e}")如果一切正常,你会看到模型的回复。这意味着你的统一API平台已经成功运行了!
4. 企业级应用场景实战
平台搭好了,现在来看看在企业里怎么用。我分享几个真实的场景,你可以看看哪个适合你的业务。
4.1 场景一:智能客服系统的多模型策略
业务需求: 一家电商公司需要智能客服处理用户咨询。他们希望:
- 中文问题用国产模型(响应快、更懂中文语境)
- 英文问题用GPT-4(英文能力强)
- 复杂逻辑问题用Claude(推理能力强)
- 图片相关问题用GPT-4V或多模态模型
传统做法: 写一堆if-else判断用户问题类型,然后调用不同的API,代码复杂难维护。
统一平台方案: 利用平台的模型路由功能,自动选择最合适的模型。
实现步骤:
配置多个渠道:
- OpenAI渠道(GPT-3.5、GPT-4、GPT-4V)
- 文心一言渠道(ERNIE-Bot)
- Claude渠道(Claude-3系列)
- 通义千问渠道(Qwen-Max)
创建智能路由规则:
def smart_route(user_query, user_language="zh"): """智能路由函数""" # 分析查询内容 query_lower = user_query.lower() # 规则1:如果是图片相关,用多模态模型 if any(word in query_lower for word in ["图片", "图像", "照片", "看图"]): return "gpt-4-vision-preview" # 规则2:如果是英文查询,用GPT-4 if user_language == "en" or is_mostly_english(user_query): return "gpt-4" # 规则3:如果是复杂逻辑问题,用Claude if is_complex_reasoning(user_query): return "claude-3-opus" # 规则4:默认用国产模型(中文效果好) return "qwen-max" # 或 "ernie-bot"- 在平台设置模型映射: 平台支持模型重定向,你可以让客服系统始终调用
smart-chat这个虚拟模型,平台根据你的路由函数自动选择实际模型。
效果对比:
- 响应时间:平均降低30%(总是选择最合适的模型)
- 回答质量:用户满意度提升25%
- 成本:优化后降低20%(便宜模型处理简单问题)
4.2 场景二:内容创作平台的降本增效
业务需求: 一个自媒体平台需要AI辅助创作,每天生成数百篇文章。需求包括:
- 热点文章快速生成(要求速度快)
- 深度分析文章(要求质量高)
- 多语言内容(中、英、日、韩)
- 成本控制在每月$5000以内
挑战:
- GPT-4质量好但贵
- GPT-3.5便宜但质量一般
- 需要平衡速度、质量和成本
解决方案:分级调用策略
在统一平台中配置:
# 模型分级配置 models: premium: - gpt-4-turbo # 深度分析用 - claude-3-sonnet # 长文档用 standard: - gpt-3.5-turbo # 日常内容用 - ernie-bot # 中文内容用 fast: - qwen-plus # 快速生成用 - gemini-pro # 多语言用业务逻辑:
def generate_content(topic, content_type): """根据内容类型选择模型""" if content_type == "deep_analysis": # 深度分析:用高级模型 model = "gpt-4-turbo" max_tokens = 2000 temperature = 0.7 elif content_type == "hot_news": # 热点新闻:用快速模型 model = "qwen-plus" max_tokens = 800 temperature = 0.9 # 更有创意 elif content_type == "daily_content": # 日常内容:用标准模型 model = "gpt-3.5-turbo" max_tokens = 1200 temperature = 0.8 else: # 默认配置 model = "ernie-bot" max_tokens = 1000 temperature = 0.7 # 调用统一API response = client.chat.completions.create( model=model, messages=[{"role": "user", "content": f"写一篇关于{topic}的文章"}], max_tokens=max_tokens, temperature=temperature ) return response.choices[0].message.content成本控制效果:
- 深度分析文章:用GPT-4,成本$0.03/篇
- 热点新闻:用Qwen-Plus,成本$0.005/篇
- 日常内容:用GPT-3.5,成本$0.002/篇
平均每篇文章成本从$0.03降到$0.01,每月节省$3000+。
4.3 场景三:企业内部知识库的智能问答
业务需求: 大型企业有海量内部文档(产品手册、技术文档、会议纪要),员工需要快速找到信息。需要:
- 支持多种文档格式(PDF、Word、Excel、PPT)
- 能理解专业术语和内部缩写
- 回答要准确,不能胡编乱造
- 支持多轮对话追问
技术方案:RAG(检索增强生成) + 多模型择优
架构设计:
用户提问 → 向量检索 → 找到相关文档 → 拼接到提示词 → 调用AI模型 → 返回答案多模型择优策略:
def get_best_answer(question, context): """用多个模型生成答案,选择最好的""" models_to_try = ["gpt-4", "claude-3-sonnet", "ernie-bot", "qwen-max"] answers = [] for model in models_to_try: try: answer = call_model(model, question, context) confidence = calculate_confidence(answer, context) answers.append({ "model": model, "answer": answer, "confidence": confidence, "cost": get_model_cost(model, len(answer)) }) except Exception as e: print(f"模型{model}调用失败:{e}") # 选择策略:置信度最高且成本合理 best_answer = max( [a for a in answers if a["cost"] < 0.02], # 过滤太贵的 key=lambda x: x["confidence"], default=None ) return best_answer or answers[0] # 返回最好的或第一个统一平台的优势:
- 故障转移:某个模型失败时自动尝试下一个
- 负载均衡:多个相同模型的密钥轮询使用
- 统一监控:所有调用的成功率、延迟、成本一目了然
- 灵活配置:随时增加或更换模型,业务代码不用改
5. 高级功能与最佳实践
基础功能会用了,现在来看看一些高级玩法,这些能让你的平台更强大、更稳定。
5.1 负载均衡与故障转移
当你的业务量很大时,单个API密钥可能不够用,或者某个模型服务可能不稳定。统一平台提供了完善的解决方案。
配置负载均衡:
在渠道设置中,你可以为同一个模型配置多个密钥(比如3个OpenAI密钥)。平台会自动:
- 轮询使用这些密钥,分散请求
- 监控每个密钥的健康状态
- 自动跳过失败的密钥
配置示例:
# 多个OpenAI密钥负载均衡 openai-channel: type: openai keys: - sk-xxx1 - sk-xxx2 - sk-xxx3 strategy: round_robin # 轮询策略 health_check: true # 开启健康检查 check_interval: 60 # 60秒检查一次故障转移配置:
你还可以设置备用模型,当主模型失败时自动切换:
model-groups: smart-chat: primary: gpt-4 fallbacks: - claude-3-sonnet - qwen-max - ernie-bot fallback_strategy: sequential # 按顺序尝试5.2 细粒度权限控制
在企业环境中,不同团队、不同应用需要不同的权限。统一平台提供了完善的权限体系。
权限控制维度:
| 控制维度 | 说明 | 应用场景 |
|---|---|---|
| 模型权限 | 能访问哪些模型 | 测试组只能访问GPT-3.5,生产组可以访问所有模型 |
| 额度限制 | 最多能用多少 | 给实习生$10额度,正式员工$100额度 |
| 速率限制 | 每分钟/小时最多调用次数 | 防止某个应用异常刷接口 |
| IP白名单 | 只允许特定IP调用 | 生产环境只允许服务器IP访问 |
| 时间限制 | 令牌有效期 | 临时访问令牌24小时过期 |
配置示例:
# 创建不同权限的令牌 tokens = [ { "name": "生产环境-客服系统", "models": ["gpt-4", "claude-3", "ernie-bot"], "quota": 1000, # $1000额度 "rate_limit": "100/分钟", "ip_whitelist": ["192.168.1.0/24"], "expires_in": 90 # 90天过期 }, { "name": "测试环境-所有团队", "models": ["gpt-3.5-turbo", "qwen-plus"], "quota": 100, # $100额度 "rate_limit": "30/分钟", "ip_whitelist": [], # 不限制IP "expires_in": 30 # 30天过期 } ]5.3 监控告警与成本控制
没有监控的系统就像闭着眼睛开车。统一平台提供了完善的监控能力。
关键监控指标:
- 成功率:每个模型、每个渠道的调用成功率
- 响应时间:P50、P90、P99延迟
- 额度使用:每个令牌、每个用户的额度消耗
- 错误分析:各种错误码的分布
- 成本统计:按模型、按团队、按时间统计成本
配置告警规则:
alerts: - name: "高错误率告警" condition: "error_rate > 5% over 5min" channels: ["email", "slack"] recipients: ["ai-ops@company.com"] - name: "额度快用完告警" condition: "quota_used > 80%" channels: ["sms", "wechat"] recipients: ["team-leader@company.com"] - name: "响应时间异常" condition: "p99_latency > 10s over 10min" channels: ["slack"] recipients: ["#ai-monitoring"]成本控制策略:
def cost_control_middleware(request, token_info): """成本控制中间件""" # 检查额度是否充足 if token_info["remaining_quota"] < 0.01: # 少于$0.01 return {"error": "额度不足,请充值"} # 检查单次请求预估成本 estimated_cost = estimate_request_cost(request) if estimated_cost > token_info["max_per_request"]: return {"error": "单次请求成本超限"} # 检查速率限制 if is_rate_limited(token_info["token"], window="minute"): return {"error": "请求过于频繁,请稍后再试"} # 一切正常,放行请求 return None5.4 安全最佳实践
AI API的安全至关重要,一旦泄露可能造成重大损失。以下是一些必须遵守的安全实践:
必须做的:
- 定期轮换密钥:平台支持自动密钥轮换,建议每月一次
- IP白名单:生产环境一定要配置IP白名单
- 最小权限原则:每个令牌只给必要的权限
- 审计日志:开启所有操作的审计日志
- 监控异常访问:设置异常访问告警
绝对不能做的:
- 不要把平台的管理员密码设为弱密码
- 不要在生产环境关闭IP白名单
- 不要给测试令牌生产环境的权限
- 不要在前端代码中硬编码API密钥
- 不要使用过期的TLS证书
安全配置示例:
# 生产环境部署建议配置 export SESSION_SECRET="强随机字符串至少32位" export TRUSTED_PROXIES="你的负载均衡器IP" export CORS_ALLOW_ORIGINS="https://你的前端域名" export RATE_LIMIT_ENABLED="true" export AUDIT_LOG_ENABLED="true" export LOG_RETENTION_DAYS="90"6. 常见问题与故障排除
即使是最稳定的系统,也难免遇到问题。这里我总结了一些常见问题和解决方法。
6.1 部署与配置问题
问题1:Docker容器启动失败
可能原因:
- 端口被占用
- 数据目录权限问题
- 内存不足
解决方案:
# 检查端口占用 sudo lsof -i:3000 # 如果被占用,修改docker-compose.yml中的端口映射 # 比如改为 3001:3000 # 检查数据目录权限 sudo chown -R 1000:1000 ./data ./redis-data # 检查内存 docker stats one-api问题2:无法添加渠道,提示密钥无效
可能原因:
- 密钥确实无效或过期
- 网络问题无法访问API
- 渠道类型选择错误
排查步骤:
- 先在官方平台测试密钥是否有效
- 检查服务器是否能访问对应API地址
- 确认选择的渠道类型正确(OpenAI、Azure OpenAI等是不同的)
6.2 API调用问题
问题3:调用返回401未授权错误
可能原因:
- API令牌错误或过期
- 令牌没有访问该模型的权限
- IP不在白名单内
排查步骤:
# 测试令牌是否有效 import requests token = "your-token" url = "http://your-platform.com/v1/models" headers = { "Authorization": f"Bearer {token}", "Content-Type": "application/json" } response = requests.get(url, headers=headers) print(f"状态码:{response.status_code}") print(f"响应:{response.text}") # 如果返回401,检查: # 1. 令牌是否正确(注意不要有多余空格) # 2. 在平台检查令牌是否过期 # 3. 检查令牌是否有权限访问请求的模型 # 4. 检查服务器IP是否在白名单内问题4:调用超时或响应慢
可能原因:
- 模型服务本身慢
- 网络延迟
- 平台负载高
优化建议:
- 开启多个相同模型的渠道实现负载均衡
- 配置故障转移,自动切换到备用模型
- 调整超时时间:
client = OpenAI( api_key=API_KEY, base_url=API_BASE_URL, timeout=30.0, # 30秒超时 max_retries=2 # 重试2次 )6.3 性能与稳定性问题
问题5:高并发下平台响应变慢
优化方案:
- 增加Redis资源:平台重度依赖Redis,确保Redis有足够内存
- 多机部署:平台支持多机部署,分担负载
- 数据库优化:如果使用SQLite,考虑切换到MySQL/PostgreSQL
- 缓存优化:增加查询结果的缓存时间
多机部署配置:
# docker-compose.scale.yml version: '3.8' services: one-api: image: justsong/one-api:latest deploy: replicas: 3 # 启动3个实例 environment: - REDIS_CONN_STRING=redis://redis:6379 - DATABASE_URL=mysql://user:pass@mysql:3306/oneapi depends_on: - redis - mysql redis: image: redis:7-alpine command: redis-server --maxmemory 1gb --maxmemory-policy allkeys-lru mysql: image: mysql:8 environment: - MYSQL_ROOT_PASSWORD=your-root-password - MYSQL_DATABASE=oneapi - MYSQL_USER=oneapi - MYSQL_PASSWORD=your-db-password问题6:额度计算不准确
可能原因:
- 不同模型的计价方式不同
- 流式响应的token计数问题
- 平台和官方计费有延迟
解决方案:
- 开启详细的审计日志,核对重要调用
- 定期和官方账单对账
- 设置缓冲额度(比如实际额度$1000,平台限制$900)
- 使用平台的用量预警功能
7. 总结
7.1 核心价值回顾
通过今天的实战,你应该已经掌握了如何搭建和使用一个企业级的AI统一API管理平台。让我们回顾一下核心价值:
对开发者而言:
- 开发效率提升:一套代码调用所有模型,不用再学各种API差异
- 维护成本降低:集中管理所有密钥和配置
- 系统稳定性增强:自动故障转移和负载均衡
- 成本控制精细化:清晰的用量统计和成本分析
对企业而言:
- 技术风险分散:不依赖单一AI厂商
- 成本优化:智能选择性价比最高的模型
- 安全可控:统一的权限管理和审计日志
- 快速迭代:随时接入新模型,业务无感知
7.2 下一步行动建议
如果你准备在团队或公司中引入这个方案,我建议按以下步骤进行:
第一步:评估与规划(1-2天)
- 梳理现有AI应用和模型使用情况
- 确定优先级:哪些应用最先迁移
- 规划部署架构:单机还是多机?云上还是本地?
第二步:试点部署(3-5天)
- 在测试环境部署平台
- 迁移1-2个非核心应用
- 测试所有功能,培训团队成员
第三步:逐步迁移(2-4周)
- 制定迁移计划,分批次迁移应用
- 每个应用迁移后观察1-2天
- 收集反馈,优化配置
第四步:优化与扩展(持续)
- 根据使用数据优化模型策略
- 配置告警和监控
- 定期安全审计和密钥轮换
7.3 最后的提醒
不要追求完美,先跑起来:很多团队在选型阶段花费太多时间,总想找到“最完美”的方案。我的建议是,先用起来,在实战中优化。这个平台部署简单,即使后续要换,迁移成本也很低。
安全第一:再强调一次,一定要修改默认密码,一定要配置IP白名单,一定要定期轮换密钥。安全漏洞的代价远大于部署的麻烦。
监控是关键:部署后不要就撒手不管。设置好监控告警,定期查看使用报告,及时发现和解决问题。
保持学习:AI领域变化很快,新的模型、新的功能不断出现。这个平台的好处是,当有新模型出现时,你只需要在平台里加个渠道,业务代码完全不用改。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。