OpenAI API调用实践文本分类和内容生成

前言

了解了OpenAI API 基础调用实践后,接下来实现文本分类和内容生成的功能。

文本分类

文本分类是自然语言处理(NLP)中的一项基础任务,指的是将一段文本自动分配到预定义的类别或标签中的过程,例如提供一段或几段文本,模型进行进行分类

下面提供了两个文本,一个是科技类的,一个政治新闻,让AI进行基础的文本分类

还是原来的文件,用 python test_openai.py 运行

python 复制代码
import os 
from dotenv import load_dotenv 
from openai import OpenAI 

# 加载环境变量 
load_dotenv() 

# 初始化客户端 
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) 


from openai import OpenAI
client = OpenAI()


response = client.chat.completions.create(
    model="gpt-5-nano",
    messages=[
        {"role": "system", "content": "你是一个文本分类助手。请将以下文本分类为:科技、体育、娱乐或政治。"},
        {"role": "user", "content": "SpaceX 成功发射了星舰,这是人类航天史上的重要里程碑。"}
    ]
)

print(f"分类结果: {response.choices[0].message.content}")

response2 = client.chat.completions.create(
    model="gpt-5-nano",
    messages=[
        {"role": "system", "content": "你是一个文本分类助手。请将以下文本分类为:科技、体育、娱乐或政治。"},
        {"role": "user", "content": "特朗普下令特种部队把委内瑞拉总统马杜罗给抓到了美国"}
    ]
)

print(f"分类结果: {response2.choices[0].message.content}")

运行结果是 科技 和 政治,没啥毛病

上面是简单文本,给它个稍微长点的文本看看,并且不提供类别,看看能不能分出个一二三

这是文本内容,将三段新闻合起来

小米中国区前市场部总经理王腾新公司"今日宜休"已启动公开招聘,引发关注。租客每年交租时闹着要减租:林女士告诉记者,她的房子位于上城区,"当时租客说自己生意不好,妈妈生病。"13岁男生校内死亡系心源性疾病:2026年1月11日,新蔡县联合调查组就"13岁男生校内死亡"事件发布最新通报

python 复制代码
response3 = client.chat.completions.create(
    model="gpt-5-nano",
    messages=[
        {"role": "system", "content": "你是一个文本分类助手。请将以下文本分类"},
        {"role": "user", "content": "小米中国区前市场部总经理王腾新公司"今日宜休"已启动公开招聘,引发关注。租客每年交租时闹着要减租:林女士告诉记者,她的房子位于上城区,"当时租客说自己生意不好,妈妈生病。"13岁男生校内死亡系心源性疾病:2026年1月11日,新蔡县联合调查组就"13岁男生校内死亡"事件发布最新通报"}
    ]
)

print(f"分类结果: {response3.choices[0].message.content}")

很奇怪的情况,怎么三段内容分成了四个,难道是数据格式问题?把数据格式改一下

小米中国区前市场部总经理王腾新公司'今日宜休'已启动公开招聘,引发关注。租客每年交租时闹着要减租:林女士告诉记者,她的房子位于上城区,'当时租客说自己生意不好,妈妈生病'。13岁男生校内死亡系心源性疾病:2026年1月11日,新蔡县联合调查组就'13岁男生校内死亡'事件发布最新通报

把文本内容里面的双引号的地方改了一下,改成单引号,然后再次运行

python 复制代码
response3 = client.chat.completions.create(
    model="gpt-5-nano",
    messages=[
        {"role": "system", "content": "你是一个文本分类助手。请将以下文本分类"},
        {"role": "user", "content": "小米中国区前市场部总经理王腾新公司'今日宜休'已启动公开招聘,引发关注。租客每年交租时闹着要减租:林女士告诉记者,她的房子位于上城区,'当时租客说自己生意不好,妈妈生病'。13岁男生校内死亡系心源性疾病:2026年1月11日,新蔡县联合调查组就'13岁男生校内死亡'事件发布最新通报"}
    ] 
)

print(f"分类结果: {response3.choices[0].message.content}")

这次就正常了,分成了三类,并且子标题描述相对准确

由此可见数据的质量对模型的影响是很大的,一个操作不好就变成智障了

好了,文本分类的功能效果大概了解了,接下来看下内容生成

内容生成

内容生成(Content Generation)也是自然语言处理(NLP)中的一项重要任务,指的是利用AI模型自动创建各种形式的文本内容的过程。与文本分类不同,内容生成是一个生成式任务,模型需要根据给定的输入(如提示、指令或上下文)创建全新的文本内容

内容生成对于我们日常来讲可就太常见了,例如现在的开发/产品日常让AI写代码,嘴遁一段文字或需求,或者输入一段需求,让AI写代码,或者问一些AI相关的问题,让AI生成对应的答案等

例如,下面继续调用 gpt-5-nano 模型,让它给 '草帽lufei' 写一段自我介绍和宣传文案

python 复制代码
response_gen = client.chat.completions.create(
    model="gpt-5-nano",
    messages=[
        {"role": "system", "content": "你是一个创意专业的文案撰写专家"},
        {"role": "user", "content": "请为'草帽lufei'这个研究AI Agent的公众号博主,写一段吸引人的自我介绍文案和宣传文案。"}
    ]
)

print(f"生成结果: {response_gen.choices[0].message.content}")

单纯文本相关调用的话,除了提示内容不一样,剩下的代码一毛一样,API调用是真简单,一行代码加个参数就行了,不得不感叹现在的AI模型能力是真强,看下输出结果

简单提示词的话,生成出来就仿佛是模板直接输出的一样,那种浓浓的专业感,浓浓的AI味儿,对于实际的我来讲,生成结果毛用没有

要是我自己写介绍自己的话,我即兴发挥一下

大家好,我是草帽lufei,一个有几年搬砖经验的开发吊毛,现在的主要关注方向就是Agent相关应用和开发相关的内容,平时主要还是用AI来搬砖,抽空看一些前沿的AI相关的技术,也进行一些相关技术的实践和学习,之前的个人签名是"用计算机创造美和艺术,用AI改变世界",现在的计划是,熟练的用好AI,及时更进AI相关的应用和相关的技术,自己不被公司第一波裁掉,有口饭吃就行

小结

目前复制改的python代码就那么两行,调用起来很简单,通过自己实际调用,能熟悉一下现在API的调用方式和参数怎么用,以及实际遇到的数据格式小问题对模型的理解,接下来将继续学习Prompt Engineering相关技巧

欢迎留言交流,如果觉得有帮助,可以点个赞支持一下

公众号:草帽lufei

相关推荐
msober8 小时前
从零打造你的专属 AI Agent
agent
Miku1611 小时前
使用 Claude Code 的 pptx-skills 技能生成精美 EVA 主题 PPT 完整指南
aigc·agent·claude
且去填词17 小时前
DeepSeek :基于 AST 与 AI 的遗留系统“手术刀”式治理方案
人工智能·自动化·llm·ast·agent·策略模式·deepseek
TaiKuLaHa17 小时前
Agent中的深度思考是什么,有什么区别: ReAct模式 和 Plan-and-Solve模式
agent
roamingcode1 天前
超越 Context Window:为何文件系统是 AI Agent 的终极记忆体
人工智能·agent·cursor·claude code·上下文工程·skill 技能
大模型真好玩2 天前
LangGraph智能体开发设计模式(四)——LangGraph多智能体设计模式:网络架构
人工智能·langchain·agent
草帽lufei2 天前
OpenAI API从0到1基础调用实践
openai
明月(Alioo)2 天前
AIGC入门,在Mac上基于Ollama和phi3:mini的完整Agent/Subagent例子
机器学习·aigc·agent·subagent
视觉&物联智能2 天前
【杂谈】-多智能体系统的效能悖论:协作优势的认知边界
ai·llm·agent·智能体·人工 智能