告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度使用 Python 脚本通过 Taotoken 聚合接口批量处理文本摘要任务对于数据分析师或内容运营而言每日处理大量文章的自动化摘要是一项高频且繁重的任务。手动操作效率低下而直接对接多个大模型厂商的 API 又面临密钥管理、计费分散和模型切换的复杂性。本文将介绍如何编写一个 Python 脚本利用 Taotoken 平台提供的标准 OpenAI 兼容接口高效、可控地完成批量文本摘要任务并借助平台的统一用量统计来监控成本。1. 场景分析与准备工作在开始编写脚本之前需要明确任务流程和所需的准备工作。典型的批量摘要任务流程包括读取原始文本数据、构造符合模型要求的请求、并发或顺序调用 API、解析并保存摘要结果。使用 Taotoken 的核心优势在于你只需维护一个 API Key 和一个接入端点即可在脚本中灵活调用平台所支持的多种模型。首先你需要在 Taotoken 控制台创建一个 API Key。登录后在 API 密钥管理页面即可生成。其次确定要使用的模型。你可以访问平台内的模型广场查看当前可用的模型列表及其简要说明例如gpt-4o、claude-3-5-sonnet、deepseek-chat等。记下你选定模型的 ID它将在后续的脚本中作为model参数使用。2. 构建基础的摘要请求函数我们将使用官方openaiPython SDK 进行接入。请确保已安装该库pip install openai。核心是正确配置客户端的base_url为 Taotoken 的 OpenAI 兼容端点。下面是一个基础的函数用于向单个文章内容发起摘要请求from openai import OpenAI import os # 初始化客户端 client OpenAI( api_keyos.getenv(TAOTOKEN_API_KEY), # 建议从环境变量读取密钥 base_urlhttps://taotoken.net/api, # 关键使用 Taotoken 的 OpenAI 兼容端点 ) def generate_summary(text, modelgpt-4o): 生成单篇文章的摘要。 Args: text: 原始文章文本。 model: 模型 ID可在 Taotoken 模型广场查看。 Returns: 摘要文本或在出错时返回 None。 # 构造系统提示词明确摘要任务要求 system_prompt 你是一个专业的文本摘要助手。请根据用户提供的文章内容生成一段简洁、准确、覆盖核心信息的摘要长度控制在100字以内。 try: response client.chat.completions.create( modelmodel, messages[ {role: system, content: system_prompt}, {role: user, content: text} ], temperature0.2, # 较低的温度使输出更稳定、更聚焦 max_tokens200, # 限制生成长度控制成本 ) summary response.choices[0].message.content return summary.strip() except Exception as e: print(f摘要生成失败: {e}) return None这个函数封装了一次 API 调用的基本逻辑。将TAOTOKEN_API_KEY设置为环境变量是保护密钥安全的最佳实践。3. 实现批量处理与并发调用处理成百上千篇文章时顺序调用会非常耗时。我们可以利用concurrent.futures库实现并发请求显著提升处理速度。同时需要加入简单的错误重试机制以提高鲁棒性。以下脚本演示了如何从 CSV 文件中读取文章并发地进行摘要生成并将结果写回新文件import pandas as pd from concurrent.futures import ThreadPoolExecutor, as_completed import time def batch_summarize_articles(input_csv, output_csv, model_id, max_workers5, retries2): 批量处理文章摘要。 Args: input_csv: 输入CSV文件路径应包含‘id’和‘content’列。 output_csv: 输出CSV文件路径。 model_id: 要使用的模型ID。 max_workers: 并发线程数请根据自身网络条件和平台建议合理设置。 retries: 失败重试次数。 # 读取数据 df pd.read_csv(input_csv) if summary not in df.columns: df[summary] None if model_used not in df.columns: df[model_used] None def process_single_article(index, row): content row[content] if pd.isna(content) or not content.strip(): return index, None, model_id for attempt in range(retries 1): summary generate_summary(content, modelmodel_id) if summary is not None: return index, summary, model_id elif attempt retries: time.sleep(1) # 失败后等待1秒重试 print(f文章 ID {row[id]} 摘要生成失败已达最大重试次数。) return index, None, model_id # 使用线程池并发处理 with ThreadPoolExecutor(max_workersmax_workers) as executor: future_to_index { executor.submit(process_single_article, idx, row): idx for idx, row in df.iterrows() } for future in as_completed(future_to_index): idx future_to_index[future] try: index, summary, model_used future.result() df.at[index, summary] summary df.at[index, model_used] model_used except Exception as e: print(f处理索引 {idx} 时发生未捕获错误: {e}) # 保存结果 df.to_csv(output_csv, indexFalse) print(f批量摘要完成。结果已保存至 {output_csv}) print(f成功摘要文章数: {df[summary].notna().sum()})此脚本通过线程池控制并发度并对单次失败请求进行重试。请注意过高的并发数可能会触发平台的速率限制建议根据实际测试情况调整max_workers参数。4. 成本监控与模型切换策略使用聚合平台的一大好处是成本透明且统一可查。在 Taotoken 控制台的用量统计页面你可以清晰地看到按时间、按模型维度统计的 Token 消耗和费用情况。这为优化脚本提供了数据支持。在脚本层面你可以通过两种方式优化成本一是根据文本长度动态选择不同价位的模型二是在脚本中集成简单的用量估算。例如可以在调用 API 前粗略估算输入 Token 数例如使用len(text)/4作为近似值并记录到日志中便于事后与平台统计核对。若想在脚本中灵活切换模型例如对长文本使用性价比更高的模型对关键文本使用能力更强的模型只需修改调用函数时的model_id参数。你甚至可以准备一个模型列表在脚本中根据规则进行选择。# 一个简单的模型选择逻辑示例 def select_model_by_length(text, length_threshold3000): 根据文本长度选择模型。 if len(text) length_threshold: return deepseek-chat # 假设此为成本较低的模型 else: return gpt-4o # 假设此为处理长文本能力更强的模型 # 在批量处理循环中使用 for idx, row in df.iterrows(): content row[content] selected_model select_model_by_length(content) summary generate_summary(content, modelselected_model) # ... 保存结果并记录 selected_model通过上述方法你可以构建一个高效、健壮且成本可控的批量文本摘要处理流水线。所有操作都通过 Taotoken 的统一接口完成无需在多个厂商平台间切换。开始你的批量摘要任务可以从 Taotoken 获取 API Key 并查看可用模型。具体的模型列表、定价详情和实时用量数据请以控制台和官方文档为准。 告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度