Python调用ChatGPT API:10个实用代码示例
前置准备:
pip install openai python-dotenv
客户端初始化(本文所有示例通用):
from openai import OpenAIclient = OpenAI( api_key="your-api-key", base_url="https://api.jiekou.ai/v1" # 国内用户使用jiekou.ai直连)
示例1:智能问答机器人
最基础但最实用的场景:
from openai import OpenAIclient = OpenAI( api_key="your-api-key", base_url="https://api.jiekou.ai/v1")def ask_gpt(question: str, system_prompt: str = "你是一个有帮助的助手") -> str: """简单封装的问答函数""" response = client.chat.completions.create( model="gpt-4o", messages=[ {"role": "system", "content": system_prompt}, {"role": "user", "content": question} ], temperature=0.7 ) return response.choices[0].message.content# 使用示例print(ask_gpt("Python中的*args和**kwargs有什么区别?"))print(ask_gpt("用一句话解释量子纠缠"))print(ask_gpt("今晚吃什么好?", "你是一个美食推荐专家"))
示例2:文本摘要生成器
处理长文本,自动提取关键信息:
def summarize(text: str, max_words: int = 200) -> str: """ 对长文本进行摘要 :param text: 原始文本 :param max_words: 摘要最大字数 """ response = client.chat.completions.create( model="gpt-4o", messages=[ { "role": "system", "content": f"你是一个文本摘要专家。请将用户提供的文本压缩为不超过{max_words}字的摘要,保留核心信息。" }, { "role": "user", "content": text } ], temperature=0.3 # 摘要任务用较低temperature,确保准确性 ) return response.choices[0].message.content# 使用示例long_text = """人工智能(AI)是计算机科学的一个分支,致力于创建能够执行通常需要人类智能才能完成的任务的系统。这些任务包括视觉感知、语音识别、决策制定和语言翻译等。AI技术可分为两大类:窄人工智能(ANI),专注于单一特定任务;通用人工智能(AGI),能够像人类一样理解和学习任何智力任务。目前,我们主要使用的是窄AI系统,例如推荐算法、自动驾驶、语音助手等..."""print(summarize(long_text, max_words=50))
示例3:代码审查助手
帮你分析代码问题和优化建议:
def code_review(code: str, language: str = "Python") -> str: """ 对代码进行审查 :param code: 待审查的代码 :param language: 编程语言 """ prompt = f"""请对以下{language}代码进行审查,从以下角度分析:1. 代码正确性(是否存在Bug)2. 性能问题3. 代码风格和可读性4. 安全性问题5. 改进建议代码:```{language.lower()}{code}```""" response = client.chat.completions.create( model="gpt-4o", messages=[ {"role": "system", "content": "你是一位资深软件工程师,擅长代码审查。"}, {"role": "user", "content": prompt} ], temperature=0.2 ) return response.choices[0].message.content# 使用示例bad_code = """def get_user(id): sql = "SELECT * FROM users WHERE id = " + id # SQL注入漏洞! return db.execute(sql)def process_list(lst): result = [] for i in range(len(lst)): # 不够Pythonic result.append(lst[i] * 2) return result"""print(code_review(bad_code))
示例4:多语言翻译器
支持任意语言间的互译:
def translate(text: str, target_language: str = "英文", source_language: str = "自动检测") -> str: """ 翻译文本 :param text: 要翻译的文本 :param target_language: 目标语言 :param source_language: 源语言(默认自动检测) """ response = client.chat.completions.create( model="gpt-4o", messages=[ { "role": "system", "content": f"你是专业翻译。将用户提供的{source_language}文本翻译成{target_language},只输出翻译结果,不要解释。" }, {"role": "user", "content": text} ], temperature=0.1 # 翻译需要精确,用极低temperature ) return response.choices[0].message.content# 使用示例print(translate("人工智能正在改变世界", "英文"))print(translate("Artificial Intelligence is changing the world", "中文"))print(translate("AI wa sekai wo kaete iru", "中文")) # 日文print(translate("Hello, how are you?", "法语"))
示例5:结构化数据提取
从非结构化文本中提取JSON格式数据:
import jsondef extract_info(text: str, schema_description: str) -> dict: """ 从文本中提取结构化信息 :param text: 原始文本 :param schema_description: 描述要提取的字段 """ response = client.chat.completions.create( model="gpt-4o", messages=[ { "role": "system", "content": f"从用户提供的文本中提取以下信息,以JSON格式返回,只输出JSON不要其他内容:{schema_description}" }, {"role": "user", "content": text} ], temperature=0, # 结构化提取用temperature=0确保稳定性 response_format={"type": "json_object"} # 强制JSON输出 ) return json.loads(response.choices[0].message.content)# 使用示例resume_text = """张三,男,28岁,本科学历,计算机科学专业。工作经验:5年Python开发经验,曾就职于阿里巴巴(2019-2022),现在字节跳动担任高级工程师。技能:Python, Java, MySQL, Redis。联系方式:zhangsan@email.com,手机:13812345678"""result = extract_info( resume_text, "姓名、年龄、学历、工作年限、当前公司、当前职位、技能列表(数组)、邮箱")print(json.dumps(result, ensure_ascii=False, indent=2))
示例6:批量文本分类
对大量文本进行自动分类:
from typing import Listdef classify_texts(texts: List[str], categories: List[str]) -> List[str]: """ 批量文本分类 :param texts: 文本列表 :param categories: 可选分类 """ categories_str = "、".join(categories) # 批量处理以减少API调用次数 batch_text = "\n".join([f"{i+1}. {text}" for i, text in enumerate(texts)]) response = client.chat.completions.create( model="gpt-4o", messages=[ { "role": "system", "content": f"将用户提供的文本分别分类为以下类别之一:{categories_str}。按序号顺序输出分类结果,每行一个,只输出类别名称。" }, {"role": "user", "content": batch_text} ], temperature=0 ) results = response.choices[0].message.content.strip().split("\n") return [r.strip() for r in results]# 使用示例texts = [ "今天股市大涨,上证指数上涨2.3%", "新研究发现新冠病毒的新变种", "皇马3-1战胜巴塞罗那,登顶西甲榜首", "iPhone 17发布,搭载全新A19芯片", "央行决定降准0.5个百分点"]categories = ["财经", "科技", "体育", "健康", "政治"]results = classify_texts(texts, categories)for text, category in zip(texts, results): print(f"[{category}] {text[:20]}...")
示例7:AI写作助手
生成各类内容文本:
def generate_content(content_type: str, topic: str, **kwargs) -> str: """ 生成各类内容 :param content_type: 内容类型(文章/邮件/广告文案/社交媒体等) :param topic: 主题 :param kwargs: 额外参数(如字数、风格、受众等) """ options_str = ",".join([f"{k}:{v}" for k, v in kwargs.items()]) requirements = f"额外要求:{options_str}" if options_str else "" prompt = f"请为我生成一篇{content_type},主题是:{topic}。{requirements}" response = client.chat.completions.create( model="gpt-4o", messages=[ {"role": "system", "content": "你是专业的内容创作者。"}, {"role": "user", "content": prompt} ], temperature=0.8 ) return response.choices[0].message.content# 使用示例# 生成产品描述print(generate_content( "电商产品描述", "无线蓝牙耳机", 字数="100字以内", 风格="简洁有力", 亮点="降噪、续航30小时"))# 生成工作邮件print(generate_content( "正式商务邮件", "申请延期提交报告", 语气="礼貌诚恳", 延期原因="数据收集遇到困难"))
示例8:文档问答系统
基于给定文档回答问题:
def document_qa(document: str, question: str) -> str: """ 基于文档的问答 :param document: 参考文档内容 :param question: 用户问题 """ response = client.chat.completions.create( model="gpt-4o", messages=[ { "role": "system", "content": "你是一个文档助手。只根据提供的文档内容回答问题,如果文档中没有相关信息,请说明。不要编造信息。" }, { "role": "user", "content": f"文档内容:\n{document}\n\n问题:{question}" } ], temperature=0.1 ) return response.choices[0].message.content# 使用示例policy_doc = """公司差旅报销政策(2026版):1. 机票:经济舱全额报销,商务舱需部门总监审批2. 酒店:一线城市标准500元/晚,二线城市300元/晚3. 餐饮:出差期间每日餐补100元,凭发票报销4. 交通:打车费用全额报销,需提供发票5. 报销期限:出差结束后30天内提交"""print(document_qa(policy_doc, "出差住酒店的报销标准是多少?"))print(document_qa(policy_doc, "商务舱机票可以报销吗?"))print(document_qa(policy_doc, "报销期限是多长时间?"))
示例9:对话式数据分析
用自然语言分析数据:
import jsondef analyze_data(data: dict, question: str) -> str: """ 用自然语言分析JSON数据 :param data: 要分析的数据(字典或列表) :param question: 分析问题 """ data_str = json.dumps(data, ensure_ascii=False, indent=2) response = client.chat.completions.create( model="gpt-4o", messages=[ { "role": "system", "content": "你是数据分析专家,擅长从数据中发现洞察。请根据用户提供的数据回答问题,给出具体数字和分析结论。" }, { "role": "user", "content": f"数据:\n{data_str}\n\n问题:{question}" } ], temperature=0.2 ) return response.choices[0].message.content# 使用示例sales_data = { "2026年Q1销售数据": { "1月": {"销售额": 1250000, "订单数": 3200, "退货率": "2.1%"}, "2月": {"销售额": 980000, "订单数": 2800, "退货率": "1.8%"}, "3月": {"销售额": 1560000, "订单数": 4100, "退货率": "2.5%"} }}print(analyze_data(sales_data, "哪个月销售表现最好?整体趋势如何?"))print(analyze_data(sales_data, "退货率是否有问题?有什么改进建议?"))
示例10:内容审核系统
自动检测文本是否包含违规内容:
import jsondef content_moderation(text: str) -> dict: """ 内容审核:检测文本是否合规 :param text: 待审核文本 :return: 审核结果字典 """ response = client.chat.completions.create( model="gpt-4o", messages=[ { "role": "system", "content": """你是内容审核专家。分析用户提供的文本,检测是否包含以下问题:1. 色情内容2. 暴力内容3. 违法信息4. 仇恨言论5. 欺诈信息以JSON格式返回结果,包含:- is_safe: 是否安全(布尔值)- categories: 触发的违规类别列表- confidence: 置信度(0-1)- reason: 简短说明""" }, {"role": "user", "content": text} ], temperature=0, response_format={"type": "json_object"} ) return json.loads(response.choices[0].message.content)# 使用示例texts_to_check = [ "今天天气真好,适合出去玩", "这款产品质量很差,强烈投诉", "大促销,买一送一,限时优惠"]for text in texts_to_check: result = content_moderation(text) status = "✅ 安全" if result["is_safe"] else "❌ 违规" print(f"{status}: {text[:20]}...") if not result["is_safe"]: print(f" 原因: {result.get('reason', '未知')}")
jiekou.ai:让API调用更简单
以上所有示例都基于 base_url="https://api.jiekou.ai/v1",这是国内开发者调用ChatGPT API的最佳选择.
为什么选jiekou.ai?
- 🚀 国内直连:无需翻墙,稳定流畅
- 💻 零代码改动:与官方API 100%兼容
- 💰 按量计费:用多少付多少,无月租
- 🤖 多模型支持:一个Key同时用GPT/Claude/Gemini
访问 jiekou.ai 注册,复制这些示例代码,10分钟内运行你的第一个AI应用!
Summary
本文提供了10个可直接使用的Python+ChatGPT API代码示例:
| Example | 核心功能 | 典型用途 |
| 1. 智能问答 | 基础调用 | 客服机器人 |
| 2. 文本摘要 | 内容压缩 | 新闻摘要 |
| 3. 代码审查 | 代码分析 | 开发辅助 |
| 4. 翻译器 | 多语言 | 国际化 |
| 5. 数据提取 | JSON输出 | 信息抽取 |
| 6. 文本分类 | 批量处理 | 内容管理 |
| 7. 写作助手 | 内容生成 | 营销文案 |
| 8. 文档问答 | RAG基础 | 知识库 |
| 9. 数据分析 | 数据洞察 | 报表分析 |
| 10. 内容审核 | 安全过滤 | 平台治理 |
把这些示例作为起点,根据自己的业务需求进行扩展,就能快速构建出实用的AI应用。