import pandas as pd import os # 性能评分函数(分数越高性能越强) def get_performance_score(model_name): """根据模型名称返回性能评分""" name_lower = model_name.lower() # GPT-5.2系列(最高性能) if 'gpt-5.2-pro' in name_lower: return 100 elif 'gpt-5.2' in name_lower: return 95 # GPT-5.1系列 elif 'gpt-5.1' in name_lower: return 90 elif 'gpt-5-pro' in name_lower: return 88 elif 'gpt-5' in name_lower and 'mini' not in name_lower and 'nano' not in name_lower: return 85 # o1/o3/o4推理模型(高性能) elif 'o1' in name_lower and 'mini' not in name_lower: return 92 elif 'o3' in name_lower: return 90 elif 'o4' in name_lower: return 88 elif 'o1-mini' in name_lower: return 80 # Claude Opus系列(高性能) elif 'claude-opus-4-5' in name_lower: return 93 elif 'claude-opus-4' in name_lower: return 91 elif 'claude-opus' in name_lower: return 89 # GPT-4.1系列 elif 'gpt-4.1' in name_lower and 'mini' not in name_lower and 'nano' not in name_lower: return 82 elif 'gpt-4.1-mini' in name_lower: return 75 elif 'gpt-4.1-nano' in name_lower: return 70 # Claude Sonnet系列 elif 'claude-sonnet-4-5' in name_lower: return 87 elif 'claude-sonnet-4' in name_lower: return 85 elif 'claude-3-7-sonnet' in name_lower: return 84 elif 'claude-3-5-sonnet' in name_lower: return 83 # GPT-4o系列 elif 'gpt-4o' in name_lower and 'mini' not in name_lower: return 80 elif 'gpt-4o-mini' in name_lower: return 70 # GPT-4系列 elif 'gpt-4-turbo' in name_lower or 'gpt-4-vision' in name_lower: return 78 elif 'gpt-4' in name_lower and 'mini' not in name_lower and 'o' not in name_lower: return 75 # Gemini Pro系列 elif 'gemini-3-pro' in name_lower: return 85 elif 'gemini-2.5-pro' in name_lower: return 82 # DeepSeek V3系列 elif 'deepseek-v3.2' in name_lower or 'deepseek-v3-2' in name_lower: return 78 elif 'deepseek-v3.1' in name_lower: return 76 elif 'deepseek-v3' in name_lower or 'deepseek-chat' in name_lower: return 74 elif 'deepseek-r1' in name_lower or 'deepseek-reasoner' in name_lower: return 77 # Claude Haiku系列 elif 'claude-haiku-4-5' in name_lower: return 72 elif 'claude-3-5-haiku' in name_lower: return 70 # Gemini Flash系列 elif 'gemini-3-flash' in name_lower: return 75 elif 'gemini-2.5-flash' in name_lower and 'lite' not in name_lower: return 72 elif 'gemini-2.5-flash-lite' in name_lower: return 65 # Qwen系列 elif 'qwen3-coder-480b' in name_lower: return 76 elif 'qwen3-235b' in name_lower: return 74 elif 'qwen3-coder-plus' in name_lower: return 72 # Kimi系列 elif 'kimi-k2-thinking-turbo' in name_lower: return 78 elif 'kimi-k2' in name_lower: return 75 # Grok系列 elif 'grok-4' in name_lower and 'fast' not in name_lower: return 73 elif 'grok-4-fast' in name_lower: return 68 # GPT-5 mini/nano elif 'gpt-5-mini' in name_lower: return 75 elif 'gpt-5-nano' in name_lower: return 70 # GPT-3.5系列 elif 'gpt-3.5-turbo-16k' in name_lower: return 65 elif 'gpt-3.5-turbo' in name_lower: return 63 # 向量模型(性能评分较低,因为它们不是生成模型) elif 'text-embedding' in name_lower: return 30 # 默认评分 else: return 50 # 定义模型数据(完整版) models_data = [] # GPT-5系列 models_data.extend([ {"模型名称": "gpt-5.2", "输入价格": 0.01225, "输出价格": 0.098, "特点": "面向各行各业的编码和智能体任务的旗舰模型"}, {"模型名称": "gpt-5.2-2025-12-11", "输入价格": 0.01225, "输出价格": 0.098, "特点": "面向各行各业的编码和智能体任务的旗舰模型"}, {"模型名称": "gpt-5.2-chat-latest", "输入价格": 0.01225, "输出价格": 0.098, "特点": "指向 ChatGPT网页版本 当前使用的 GPT-5.2 快照"}, {"模型名称": "gpt-5.2-pro", "输入价格": 0.147, "输出价格": 1.176, "特点": "目前仅在响应 API 中可用,用于支持在响应 API 请求之前进行多轮模型交互"}, {"模型名称": "gpt-5.2-pro-2025-12-11", "输入价格": 0.147, "输出价格": 1.176, "特点": "目前仅在响应 API 中可用,用于支持在响应 API 请求之前进行多轮模型交互"}, {"模型名称": "gpt-5.1", "输入价格": 0.00875, "输出价格": 0.07, "特点": "用于编码和智能体任务的旗舰模型,它具备可配置的推理和非推理能力"}, {"模型名称": "gpt-5.1-2025-11-13", "输入价格": 0.00875, "输出价格": 0.07, "特点": "用于编码和智能体任务的旗舰模型,它具备可配置的推理和非推理能力"}, {"模型名称": "gpt-5.1-chat-latest", "输入价格": 0.00875, "输出价格": 0.07, "特点": "指向 ChatGPT 当前使用的 GPT-5.1 快照"}, {"模型名称": "gpt-5.1-codex", "输入价格": 0.00875, "输出价格": 0.07, "特点": "GPT-5.1-Codex 是 GPT-5 的一个版本,针对智能编码任务进行了优化"}, {"模型名称": "gpt-5-search-api", "输入价格": 0.00875, "输出价格": 0.07, "特点": "Openai 出的搜索模型,支持网络搜索"}, {"模型名称": "gpt-5", "输入价格": 0.00875, "输出价格": 0.07, "特点": "GPT-5 是用于跨领域编码、推理和代理任务的旗舰模型"}, {"模型名称": "gpt-5-codex", "输入价格": 0.00875, "输出价格": 0.07, "特点": "GPT-5-Codex 是针对代理编码任务优化"}, {"模型名称": "gpt-5-pro", "输入价格": 0.105, "输出价格": 0.84, "特点": "使用更多的计算来更努力地思考,并始终如一地提供更好的答案"}, {"模型名称": "gpt-5-mini", "输入价格": 0.00175, "输出价格": 0.014, "特点": "GPT-5 mini 是 GPT-5 的一个更快、更经济的版本"}, {"模型名称": "gpt-5-nano", "输入价格": 0.00035, "输出价格": 0.0028, "特点": "GPT-5 Nano 是速度最快、成本最低的 GPT-5 版本"}, {"模型名称": "gpt-5-chat-latest", "输入价格": 0.00875, "输出价格": 0.07, "特点": "GPT-5 Chat 指的是 ChatGPT 当前使用的 GPT-5 快照"}, ]) # o3/o4系列 models_data.extend([ {"模型名称": "o3", "输入价格": 0.014, "输出价格": 0.056, "特点": "为数学、科学、编码、视觉推理任务和技术写作设定了新的标准"}, {"模型名称": "o3-2025-04-16", "输入价格": 0.014, "输出价格": 0.056, "特点": "为数学、科学、编码、视觉推理任务和技术写作设定了新的标准"}, {"模型名称": "o4-mini", "输入价格": 0.0088, "输出价格": 0.0352, "特点": "为数学、科学、编码、视觉推理任务和技术写作设定了新的标准"}, {"模型名称": "o4-mini-2025-04-16", "输入价格": 0.0088, "输出价格": 0.0352, "特点": "为数学、科学、编码、视觉推理任务和技术写作设定了新的标准"}, ]) # GPT-4.1系列 models_data.extend([ {"模型名称": "gpt-4.1", "输入价格": 0.014, "输出价格": 0.056, "特点": "OpenAI最新推出的模型 在编码、指令跟踪和长上下文方面都有重大改进1M输入32k输出"}, {"模型名称": "gpt-4.1-2025-04-14", "输入价格": 0.014, "输出价格": 0.056, "特点": "OpenAI最新推出的模型 在编码、指令跟踪和长上下文方面都有重大改进1M输入32k输出"}, {"模型名称": "gpt-4.1-mini", "输入价格": 0.0028, "输出价格": 0.0112, "特点": "OpenAI最新推出的模型 在编码、指令跟踪和长上下文方面都有重大改进1M输入32k输出"}, {"模型名称": "gpt-4.1-mini-2025-04-14", "输入价格": 0.0028, "输出价格": 0.0112, "特点": "OpenAI最新推出的模型 在编码、指令跟踪和长上下文方面都有重大改进1M输入32k输出"}, {"模型名称": "gpt-4.1-nano", "输入价格": 0.0007, "输出价格": 0.0028, "特点": "OpenAI最新推出的模型 在编码、指令跟踪和长上下文方面都有重大改进1M输入32k输出"}, {"模型名称": "gpt-4.1-nano-2025-04-14", "输入价格": 0.0007, "输出价格": 0.0028, "特点": "OpenAI最新推出的模型 在编码、指令跟踪和长上下文方面都有重大改进1M输入32k输出"}, {"模型名称": "gpt-oss-20b", "输入价格": 0.0008, "输出价格": 0.0032, "特点": "OpenAI最新推出的开源模型"}, {"模型名称": "gpt-oss-120b", "输入价格": 0.0044, "输出价格": 0.0176, "特点": "OpenAI最新推出的开源模型"}, ]) # GPT-3.5系列 models_data.extend([ {"模型名称": "gpt-3.5-turbo", "输入价格": 0.0035, "输出价格": 0.0105, "特点": "默认模型,等于gpt-3.5-turbo-0125"}, {"模型名称": "gpt-3.5-turbo-1106", "输入价格": 0.007, "输出价格": 0.014, "特点": "2023年11月6日更新的模型"}, {"模型名称": "gpt-3.5-turbo-0125", "输入价格": 0.0035, "输出价格": 0.0105, "特点": "2024年1月25日最新模型,数据最新,价格更更低,速度更快"}, {"模型名称": "gpt-3.5-turbo-16k", "输入价格": 0.021, "输出价格": 0.028, "特点": "适合快速回答简单问题,字数更多"}, {"模型名称": "gpt-3.5-turbo-instruct", "输入价格": 0.0105, "输出价格": 0.014, "特点": "Completions模型 用于文本生成"}, ]) # o1系列 models_data.extend([ {"模型名称": "o1-mini", "输入价格": 0.0088, "输出价格": 0.0352, "特点": "针对复杂任务的推理模型"}, {"模型名称": "o1-preview", "输入价格": 0.105, "输出价格": 0.42, "特点": "针对复杂任务的推理模型"}, {"模型名称": "o3-mini", "输入价格": 0.0088, "输出价格": 0.0352, "特点": "针对复杂任务的推理模型"}, {"模型名称": "o1", "输入价格": 0.12, "输出价格": 0.48, "特点": "o1系列模型经过强化学习训练,可以进行复杂的推理"}, ]) # GPT-4o系列 models_data.extend([ {"模型名称": "gpt-4o-search-preview", "输入价格": 0.0175, "输出价格": 0.07, "特点": "Openai 出的搜索模型,支持网络搜索"}, {"模型名称": "gpt-4o-search-preview-2025-03-11", "输入价格": 0.0175, "输出价格": 0.07, "特点": "Openai 出的搜索模型,支持网络搜索"}, {"模型名称": "gpt-4o-mini-search-preview", "输入价格": 0.00105, "输出价格": 0.0042, "特点": "Openai 出的搜索模型,支持网络搜索"}, {"模型名称": "gpt-4o-mini-search-preview-2025-03-11", "输入价格": 0.00105, "输出价格": 0.0042, "特点": "Openai 出的搜索模型,支持网络搜索"}, {"模型名称": "gpt-4", "输入价格": 0.21, "输出价格": 0.42, "特点": "默认模型,等于gpt-4-0613"}, {"模型名称": "gpt-4o", "输入价格": 0.0175, "输出价格": 0.07, "特点": "Openai 价格更低, 速度更快更聪明,指向最新版的4o版本"}, {"模型名称": "gpt-4o-2024-05-13", "输入价格": 0.035, "输出价格": 0.105, "特点": "Openai 2024-05-13出的gpt-4o模型"}, {"模型名称": "gpt-4o-2024-08-06", "输入价格": 0.0175, "输出价格": 0.07, "特点": "Openai 2024-08-06出的gpt-4o模型 支持128k输入,16k输出"}, {"模型名称": "gpt-4o-2024-11-20", "输入价格": 0.0175, "输出价格": 0.07, "特点": "Openai 2024-11-20出的gpt-4o模型, 该模型的创意写作能力得到了提升"}, {"模型名称": "chatgpt-4o-latest", "输入价格": 0.035, "输出价格": 0.105, "特点": "动态更新的版本,持续集成OpenAI最新的研究成果"}, {"模型名称": "gpt-4o-mini", "输入价格": 0.00105, "输出价格": 0.0042, "特点": "Openai 最新模型, 价格更低, 输出质量在3.5之上4o之下, 并且支持读图"}, {"模型名称": "gpt-4-0613", "输入价格": 0.21, "输出价格": 0.42, "特点": "2023年6月13日更新的模型"}, {"模型名称": "gpt-4-turbo-preview", "输入价格": 0.07, "输出价格": 0.21, "特点": "最新模型,输入128K,输出最大4K"}, {"模型名称": "gpt-4-0125-preview", "输入价格": 0.07, "输出价格": 0.21, "特点": "2024年1月25日更新的模型,输入128K,输出最大4K"}, {"模型名称": "gpt-4-1106-preview", "输入价格": 0.07, "输出价格": 0.21, "特点": "2023年11月6日更新的模型,输入128K,输出最大4K"}, {"模型名称": "gpt-4-vision-preview", "输入价格": 0.07, "输出价格": 0.21, "特点": "多模态,支持图片识别"}, {"模型名称": "gpt-4-turbo", "输入价格": 0.07, "输出价格": 0.21, "特点": "Openai 最新模型多模态,支持图片识别,支持函数tools"}, {"模型名称": "gpt-4-turbo-2024-04-09", "输入价格": 0.07, "输出价格": 0.21, "特点": "Openai 最新模型多模态,支持图片识别,支持函数tools"}, ]) # GPT-CA系列(第三方提供商) models_data.extend([ {"模型名称": "gpt-5.2-ca", "输入价格": 0.007, "输出价格": 0.056, "特点": "第三方优质提供商提供的服务,优点价格便宜,但是稳定性没有非-ca的好"}, {"模型名称": "gpt-5.2-chat-latest-ca", "输入价格": 0.007, "输出价格": 0.056, "特点": "第三方优质提供商提供的服务,优点价格便宜,但是稳定性没有非-ca的好"}, {"模型名称": "gpt-5.1-ca", "输入价格": 0.005, "输出价格": 0.04, "特点": "第三方优质提供商提供的服务,优点价格便宜,但是稳定性没有非-ca的好"}, {"模型名称": "gpt-5.1-chat-latest-ca", "输入价格": 0.005, "输出价格": 0.04, "特点": "第三方优质提供商提供的服务,优点价格便宜,但是稳定性没有非-ca的好"}, {"模型名称": "gpt-5-ca", "输入价格": 0.005, "输出价格": 0.04, "特点": "第三方优质提供商提供的服务,优点价格便宜,但是稳定性没有非-ca的好"}, {"模型名称": "gpt-5-mini-ca", "输入价格": 0.001, "输出价格": 0.008, "特点": "第三方优质提供商提供的服务,优点价格便宜,但是稳定性没有非-ca的好"}, {"模型名称": "gpt-5-nano-ca", "输入价格": 0.0002, "输出价格": 0.0016, "特点": "第三方优质提供商提供的服务,优点价格便宜,但是稳定性没有非-ca的好"}, {"模型名称": "gpt-5-chat-latest-ca", "输入价格": 0.005, "输出价格": 0.04, "特点": "第三方优质提供商提供的服务,优点价格便宜,但是稳定性没有非-ca的好"}, {"模型名称": "gpt-4.1-ca", "输入价格": 0.008, "输出价格": 0.032, "特点": "第三方优质提供商提供的服务,优点价格便宜,但是稳定性没有非-ca的好"}, {"模型名称": "gpt-4.1-mini-ca", "输入价格": 0.0016, "输出价格": 0.0064, "特点": "第三方优质提供商提供的服务,优点价格便宜,但是稳定性没有非-ca的好"}, {"模型名称": "gpt-4.1-nano-ca", "输入价格": 0.0004, "输出价格": 0.003, "特点": "第三方优质提供商提供的服务,优点价格便宜,但是稳定性没有非-ca的好"}, {"模型名称": "gpt-4o-ca", "输入价格": 0.01, "输出价格": 0.04, "特点": "第三方优质提供商提供的服务,优点价格便宜,但是稳定性没有非-ca的好"}, {"模型名称": "gpt-4o-mini-ca", "输入价格": 0.00075, "输出价格": 0.003, "特点": "第三方优质提供商提供的服务,优点价格便宜,但是稳定性没有非-ca的好"}, {"模型名称": "o1-mini-ca", "输入价格": 0.012, "输出价格": 0.048, "特点": "第三方优质提供商提供的服务,优点价格便宜,但是稳定性没有非-ca的好"}, {"模型名称": "o1-preview-ca", "输入价格": 0.06, "输出价格": 0.24, "特点": "第三方优质提供商提供的服务,优点价格便宜,但是稳定性没有非-ca的好"}, ]) # DeepSeek系列 models_data.extend([ {"模型名称": "deepseek-v3.2", "输入价格": 0.0012, "输出价格": 0.0018, "特点": "deepseek的聊天模型, 此模型由第三方(火山引擎)供应商提供"}, {"模型名称": "deepseek-v3.2-thinking", "输入价格": 0.0012, "输出价格": 0.0018, "特点": "deepseek的聊天模型, 此模型由第三方(火山引擎)供应商提供"}, {"模型名称": "deepseek-v3-2-exp", "输入价格": 0.0012, "输出价格": 0.0018, "特点": "deepseek的聊天模型, 此模型由第三方(火山引擎)供应商提供"}, {"模型名称": "deepseek-v3.1-250821", "输入价格": 0.0024, "输出价格": 0.0072, "特点": "deepseek的聊天模型, 此模型由第三方(火山引擎)供应商提供"}, {"模型名称": "deepseek-v3.1-think-250821", "输入价格": 0.0024, "输出价格": 0.0072, "特点": "deepseek的聊天模型, 此模型由第三方(火山引擎)供应商提供"}, {"模型名称": "deepseek-reasoner", "输入价格": 0.0024, "输出价格": 0.0096, "特点": "deepseek的思考R1模型, 此模型由第三方(火山引擎)供应商提供"}, {"模型名称": "deepseek-r1", "输入价格": 0.0024, "输出价格": 0.0096, "特点": "deepseek的思考R1模型, 此模型由第三方(火山引擎)供应商提供"}, {"模型名称": "deepseek-r1-250528", "输入价格": 0.0024, "输出价格": 0.0096, "特点": "deepseek的思考R1模型, 此模型由第三方(火山引擎)供应商提供"}, {"模型名称": "deepseek-v3", "输入价格": 0.0012, "输出价格": 0.0048, "特点": "deepseek的聊天模型, 此模型由第三方(火山引擎)供应商提供"}, {"模型名称": "deepseek-chat", "输入价格": 0.0012, "输出价格": 0.0048, "特点": "deepseek的聊天模型, 此模型由第三方(火山引擎)供应商提供"}, ]) # Claude系列 models_data.extend([ {"模型名称": "claude-opus-4-5-20251101", "输入价格": 0.025, "输出价格": 0.125, "特点": "claude的模型, 此模型由第三方供应商提供"}, {"模型名称": "claude-opus-4-5-20251101-thinking", "输入价格": 0.025, "输出价格": 0.125, "特点": "claude的模型, 此模型由第三方供应商提供"}, {"模型名称": "claude-haiku-4-5-20251001", "输入价格": 0.005, "输出价格": 0.025, "特点": "claude的模型, 此模型由第三方供应商提供"}, {"模型名称": "claude-haiku-4-5-20251001-thinking", "输入价格": 0.005, "输出价格": 0.025, "特点": "claude的模型, 此模型由第三方供应商提供"}, {"模型名称": "claude-sonnet-4-5-20250929", "输入价格": 0.015, "输出价格": 0.075, "特点": "claude的模型, 此模型由第三方供应商提供"}, {"模型名称": "claude-sonnet-4-5-20250929-thinking", "输入价格": 0.015, "输出价格": 0.075, "特点": "claude的模型, 此模型由第三方供应商提供"}, {"模型名称": "claude-opus-4-1-20250805", "输入价格": 0.075, "输出价格": 0.375, "特点": "claude的模型, 此模型由第三方供应商提供"}, {"模型名称": "claude-opus-4-1-20250805-thinking", "输入价格": 0.075, "输出价格": 0.375, "特点": "claude的模型, 此模型由第三方供应商提供"}, {"模型名称": "claude-opus-4-20250514", "输入价格": 0.075, "输出价格": 0.375, "特点": "claude的模型, 此模型由第三方供应商提供"}, {"模型名称": "claude-opus-4-20250514-thinking", "输入价格": 0.075, "输出价格": 0.375, "特点": "claude的模型, 此模型由第三方供应商提供"}, {"模型名称": "claude-sonnet-4-20250514", "输入价格": 0.015, "输出价格": 0.075, "特点": "claude的模型, 此模型由第三方供应商提供"}, {"模型名称": "claude-sonnet-4-20250514-thinking", "输入价格": 0.015, "输出价格": 0.075, "特点": "claude的模型, 此模型由第三方供应商提供"}, {"模型名称": "claude-3-7-sonnet-20250219", "输入价格": 0.015, "输出价格": 0.075, "特点": "claude的模型, 此模型由第三方供应商提供"}, {"模型名称": "claude-3-5-sonnet-20240620", "输入价格": 0.015, "输出价格": 0.075, "特点": "claude的模型, 此模型由第三方供应商提供"}, {"模型名称": "claude-3-5-sonnet-20241022", "输入价格": 0.015, "输出价格": 0.075, "特点": "claude的模型, 此模型由第三方供应商提供"}, {"模型名称": "claude-3-5-haiku-20241022", "输入价格": 0.005, "输出价格": 0.025, "特点": "claude的模型, 此模型由第三方供应商提供"}, ]) # Gemini系列 models_data.extend([ {"模型名称": "gemini-2.5-pro", "输入价格": 0.007, "输出价格": 0.04, "特点": "是gemini 最新的旗舰模型, 此模型由第三方供应商提供"}, {"模型名称": "gemini-2.5-flash", "输入价格": 0.0012, "输出价格": 0.01, "特点": "Google Gemini 的模型, 此模型由第三方供应商提供"}, {"模型名称": "gemini-2.5-flash-nothinking", "输入价格": 0.0012, "输出价格": 0.01, "特点": "Google Gemini 的模型, 此模型由第三方供应商提供"}, {"模型名称": "gemini-2.5-flash-lite", "输入价格": 0.0004, "输出价格": 0.0016, "特点": "Google Gemini 的模型, 此模型由第三方供应商提供"}, {"模型名称": "gemini-2.5-flash-image-preview", "输入价格": 0.0015, "输出价格": 0.15, "特点": "Google Gemini的生图模型也是大家口中所说的nano banana 一张图的价格大概在2毛钱左右"}, {"模型名称": "gemini-3-pro-image-preview", "输入价格": 0, "输出价格": 0.68, "特点": "Google Gemini的生图模型也是大家口中所说的nano banana2"}, {"模型名称": "gemini-3-pro-preview", "输入价格": 0.008, "输出价格": 0.048, "特点": "Google Gemini 的模型, 此模型由第三方供应商提供"}, {"模型名称": "gemini-3-flash-preview", "输入价格": 0.002, "输出价格": 0.012, "特点": "Google Gemini 的模型, 此模型由第三方供应商提供"}, {"模型名称": "gemini-3-flash-preview-nothinking", "输入价格": 0.002, "输出价格": 0.012, "特点": "Google Gemini 的模型, 此模型由第三方供应商提供"}, ]) # Grok系列 models_data.extend([ {"模型名称": "grok-4", "输入价格": 0.012, "输出价格": 0.06, "特点": "grok基础模此模型由第三方供应商提供"}, {"模型名称": "grok-4-fast", "输入价格": 0.0008, "输出价格": 0.002, "特点": "grok基础模此模型由第三方供应商提供"}, ]) # Qwen系列 models_data.extend([ {"模型名称": "qwen3-235b-a22b", "输入价格": 0.0014, "输出价格": 0.0056, "特点": "qwen最新的开源模型, 此模型由第三方供应商提供"}, {"模型名称": "qwen3-235b-a22b-instruct-2507", "输入价格": 0.0014, "输出价格": 0.0056, "特点": "qwen最新的开源模型, 此模型由第三方供应商提供"}, {"模型名称": "qwen3-coder-plus", "输入价格": 0.0028, "输出价格": 0.0112, "特点": "qwen最新的开源模型, 此模型由第三方供应商提供"}, {"模型名称": "qwen3-coder-480b-a35b-instruct", "输入价格": 0.0042, "输出价格": 0.0168, "特点": "qwen最新的开源模型, 此模型由第三方供应商提供"}, ]) # Kimi系列 models_data.extend([ {"模型名称": "kimi-k2-0711-preview", "输入价格": 0.0028, "输出价格": 0.0112, "特点": "kimi最新的模型, 此模型由第三方供应商提供"}, {"模型名称": "kimi-k2-0905-preview", "输入价格": 0.0028, "输出价格": 0.0112, "特点": "kimi最新的模型, 此模型由第三方供应商提供"}, {"模型名称": "kimi-k2-thinking", "输入价格": 0.0028, "输出价格": 0.0112, "特点": "kimi最新的模型, 此模型由第三方供应商提供"}, {"模型名称": "kimi-k2-thinking-turbo", "输入价格": 0.0056, "输出价格": 0.0406, "特点": "kimi最新的模型, 此模型由第三方供应商提供"}, ]) # 向量模型 models_data.extend([ {"模型名称": "text-embedding-ada-002", "输入价格": 0.0007, "输出价格": 0, "特点": "向量嵌入模型"}, {"模型名称": "text-embedding-3-small", "输入价格": 0.00014, "输出价格": 0, "特点": "小型向量模型"}, {"模型名称": "text-embedding-3-large", "输入价格": 0.00091, "输出价格": 0, "特点": "大型向量模型"}, ]) # 转换为DataFrame df = pd.DataFrame(models_data) # 计算平均价格 df['平均价格'] = (df['输入价格'] + df['输出价格'].fillna(0)) / 2 df.loc[df['输出价格'] == 0, '平均价格'] = df.loc[df['输出价格'] == 0, '输入价格'] # 添加性能评分 df['性能评分'] = df['模型名称'].apply(get_performance_score) # 格式化价格显示(人民币) df['输入价格(元/1K)'] = df['输入价格'].apply(lambda x: f"¥{x:.5f}") df['输出价格(元/1K)'] = df['输出价格'].apply(lambda x: f"¥{x:.5f}" if x > 0 else "N/A") # 创建document目录(如果不存在) output_dir = "../document" if not os.path.exists(output_dir): os.makedirs(output_dir) # 准备导出列 export_columns = ['模型名称', '输入价格(元/1K)', '输出价格(元/1K)', '平均价格', '特点'] export_columns_with_perf = ['模型名称', '输入价格(元/1K)', '输出价格(元/1K)', '平均价格', '性能评分', '特点'] # 1. 按输入价格排序 df_input = df.sort_values('输入价格', ascending=True).reset_index(drop=True) export_df_input = df_input[export_columns].copy() export_df_input['平均价格(元/1K)'] = export_df_input['平均价格'].apply(lambda x: f"¥{x:.5f}") export_df_input = export_df_input[['模型名称', '输入价格(元/1K)', '输出价格(元/1K)', '平均价格(元/1K)', '特点']] # 2. 按输出价格排序(输出价格为0的放最后) df_output = df.copy() df_output['输出价格_排序'] = df_output['输出价格'].apply(lambda x: x if x > 0 else 999999) df_output = df_output.sort_values('输出价格_排序', ascending=True).reset_index(drop=True) export_df_output = df_output[export_columns].copy() export_df_output['平均价格(元/1K)'] = export_df_output['平均价格'].apply(lambda x: f"¥{x:.5f}") export_df_output = export_df_output[['模型名称', '输入价格(元/1K)', '输出价格(元/1K)', '平均价格(元/1K)', '特点']] # 3. 按平均价格排序 df_avg = df.sort_values('平均价格', ascending=True).reset_index(drop=True) export_df_avg = df_avg[export_columns].copy() export_df_avg['平均价格(元/1K)'] = export_df_avg['平均价格'].apply(lambda x: f"¥{x:.5f}") export_df_avg = export_df_avg[['模型名称', '输入价格(元/1K)', '输出价格(元/1K)', '平均价格(元/1K)', '特点']] # 4. 按性能从强到弱排序 df_perf = df.sort_values('性能评分', ascending=False).reset_index(drop=True) export_df_perf = df_perf[export_columns_with_perf].copy() export_df_perf['平均价格(元/1K)'] = export_df_perf['平均价格'].apply(lambda x: f"¥{x:.5f}") export_df_perf = export_df_perf[['模型名称', '输入价格(元/1K)', '输出价格(元/1K)', '平均价格(元/1K)', '性能评分', '特点']] # 使用ExcelWriter创建包含多个sheet的Excel文件 file_path = os.path.join(output_dir, "ChatAnywhere_所有模型价格表_完整版.xlsx") with pd.ExcelWriter(file_path, engine='openpyxl') as writer: export_df_input.to_excel(writer, sheet_name='按输入价格排序', index=False) export_df_output.to_excel(writer, sheet_name='按输出价格排序', index=False) export_df_avg.to_excel(writer, sheet_name='按平均价格排序', index=False) export_df_perf.to_excel(writer, sheet_name='按性能从强到弱', index=False) print(f"✅ Excel文件已成功生成!") print(f"📁 文件位置: {os.path.abspath(file_path)}") print(f"📊 共 {len(df)} 个模型") print(f"📑 包含4个Sheet:") print(f" 1. 按输入价格排序") print(f" 2. 按输出价格排序") print(f" 3. 按平均价格排序") print(f" 4. 按性能从强到弱") print(f"\n前5个性能最强的模型:") print(export_df_perf.head(5)[['模型名称', '性能评分']].to_string(index=False))