| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385 |
- 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))
|