引言
光看文档不够,真正学会用API要靠实际的代码示例。本文精选10个最实用的Python+ChatGPT API代码示例,覆盖日常开发中80%的使用场景,每个示例都可以直接运行。
前置准备:
pip install openai python-dotenv
客户端初始化(本文所有示例通用):
from openai import OpenAI
client = OpenAI(
api_key="your-api-key",
base_url="https://api.jiekou.ai/v1" # 国内用户使用jiekou.ai直连
)
示例1:智能问答机器人
最基础但最实用的场景:
from openai import OpenAI
client = 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 json
def 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 List
def 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 json
def 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 json
def 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应用!
总结
本文提供了10个可直接使用的Python+ChatGPT API代码示例:
示例
核心功能
典型用途
1. 智能问答
基础调用
客服机器人
2. 文本摘要
内容压缩
新闻摘要
3. 代码审查
代码分析
开发辅助
4. 翻译器
多语言
国际化
5. 数据提取
JSON输出
信息抽取
6. 文本分类
批量处理
内容管理
7. 写作助手
内容生成
营销文案
8. 文档问答
RAG基础
知识库
9. 数据分析
数据洞察
报表分析
10. 内容审核
安全过滤
平台治理
把这些示例作为起点,根据自己的业务需求进行扩展,就能快速构建出实用的AI应用。