日常做文档处理、内容复盘、资讯整理时,最繁琐的工作莫过于通读长篇文本、手动提炼核心内容。
动辄上千字的文章、会议纪要、资讯文案,逐字总结耗时又费力。其实借助大模型API,只需几行代码,就能实现全自动文本摘要生成。
今天给大家分享一个通用、轻量化、开箱即用的Python摘要工具函数,完美兼容OpenAI、Claude两大主流大模型,封装了所有复杂的API请求逻辑,新手也能直接上手!
无需繁琐配置,传入文本即可一键输出简洁摘要,适配所有文本总结场景。
一、工具核心优势
相比于网上零散的API调用代码,这个封装函数实用性拉满,核心亮点非常突出:
1.双模型兼容:同时支持OpenAI、Claude两大主流API,自由切换无需改代码结构
2.极简调用:屏蔽所有底层请求细节,仅需传入文本,一行代码生成摘要
3.安全密钥管理:支持环境变量/参数传参两种密钥配置方式,杜绝硬编码风险
4.灵活可调参数:自定义生成长度、创意程度,适配严谨公文/通俗文案等不同场景
5.完善异常校验:内置参数校验、密钥检测,报错清晰,方便排查问题
二、完整开源代码(可直接复制使用)
以下是封装好的完整版摘要函数,注释详细、结构清晰,可直接集成到个人项目、自动化脚本中。
python import os from typing import Optional def summarize( text: str, model: str = "gpt-3.5-turbo", api_type: str = "openai", api_key: Optional[str] = None, max_tokens: int = 300, temperature: float = 0.5 ) -> str: """ 调用大模型 API 对输入文本进行摘要。 Args: text: 待摘要的原始文本。 model: 模型名称,例如 'gpt-3.5-turbo'、'claude-3-haiku-20240307' 等。 api_type: API 类型,'openai' 或 'claude'。 api_key: API 密钥,若不提供则从环境变量读取。 max_tokens: 生成摘要的最大 token 数。 temperature: 生成温度(0~1),值越低结果越确定。 Returns: 摘要文本。 Raises: ValueError: 不支持的 api_type 或缺少 API 密钥。 Exception: API 调用失败时抛出异常。 """ # 1. 获取 API 密钥 if api_key is None: if api_type == "openai": api_key = os.environ.get("OPENAI_API_KEY") elif api_type == "claude": api_key = os.environ.get("ANTHROPIC_API_KEY") else: raise ValueError("api_type 必须是 'openai' 或 'claude'") if not api_key: raise ValueError(f"未找到 {api_type.upper()} API 密钥,请通过参数或环境变量提供") # 2. 构建 prompt prompt = f"请将以下文本总结为一段简洁的摘要:\n\n{text}" # 3. 根据 API 类型调用 if api_type == "openai": from openai import OpenAI client = OpenAI(api_key=api_key) response = client.chat.completions.create( model=model, messages=[{"role": "user", "content": prompt}], max_tokens=max_tokens, temperature=temperature, ) summary = response.choices[0].message.content.strip() elif api_type == "claude": from anthropic import Anthropic client = Anthropic(api_key=api_key) response = client.messages.create( model=model, max_tokens=max_tokens, temperature=temperature, messages=[{"role": "user", "content": prompt}], ) summary = response.content[0].text.strip() else: raise ValueError("api_type 必须是 'openai' 或 'claude'") return summary |
三、环境依赖安装
使用前需安装两大模型对应的官方依赖库,一行命令即可完成安装:
bash pip install openai anthropic |
四、极简使用示例
两种模型调用方式统一、上手零门槛,支持环境变量密钥(推荐)和手动传参密钥两种配置方式。
1. OpenAI 模型调用示例
python # 可提前配置环境变量 OPENAI_API_KEY,也可直接传入api_key参数 result = summarize( text="这里粘贴需要总结的长篇文本、文章、会议纪要等内容", model="gpt-3.5-turbo", api_type="openai" ) print("文本摘要:", result) |
2. Claude 模型调用示例
python # 可提前配置环境变量 ANTHROPIC_API_KEY,也可直接传入api_key参数 result = summarize( text="这里粘贴需要总结的长篇文本、文章、会议纪要等内容", model="claude-3-haiku-20240307", api_type="claude" ) print("文本摘要:", result) |
五、核心使用注意事项
1. 密钥安全管理(重点)
强烈推荐将API密钥配置为系统环境变量,而非代码硬编码:
1OpenAI 密钥环境变量名:OPENAI_API_KEY
1Claude 密钥环境变量名:ANTHROPIC_API_KEY
有效避免密钥泄露,适配本地开发、服务器部署等各类场景。
2. 参数调优技巧
1max_tokens:控制摘要最大长度,短摘要设100-200,详细摘要设300-500
1temperature:取值0-1,正式文案、公文总结建议设0.3-0.5(结果严谨固定),创意类内容可设0.6-0.8
3. 文本长度适配
本函数未内置文本截断逻辑,若输入文本超长、超出模型上下文窗口,建议提前对文本进行分块、截断处理,避免调用失败。
4. 生产环境优化
正式项目使用时,建议在调用处添加 try/except 异常捕获,处理网络超时、密钥失效、额度不足、接口限流等异常场景,提升程序稳定性。
六、适用场景
这个轻量化工具可以无缝适配绝大多数文本处理场景:
1.办公自动化:会议纪要、工作文档、报告内容快速摘要
2.内容运营:公众号文章、资讯、文案精简提炼
3.数据处理:批量文本清洗、内容概括、知识库录入
4.个人工具:读书笔记、长文快速总结,提升阅读效率
写在最后
这款封装好的大模型摘要工具,最大的价值就是降本提效。
不用重复编写API请求代码,不用适配不同模型的接口差异,一行代码就能实现专业级文本摘要,无论是日常开发还是办公自动化都极具实用性。
代码可直接复制即用,建议收藏保存,后续做文本处理需求可以直接复用!
夜雨聆风