Python 新手入门,用 AI 写个自动诗歌生成器

Python 新手入门,用 AI 写个自动诗歌生成器 环境准备让 Python ready for AI在动手写代码之前我们需要先搭好“舞台”。对于零基础的朋友来说这一步其实非常简单只需要确保你的电脑里安装了 Python并准备好两个关键的“工具包”。首先请确认你已安装Python 3.8或更高版本。安装时务必勾选Add Python to PATH这样才能在命令行中直接调用它。安装完成后打开终端Windows 下是 cmd 或 PowerShellMac 下是终端输入python --version如果能看到版本号说明基础环境没问题。接下来我们需要安装两个核心库requests它是 Python 中的“快递员”负责向大模型 API 发送请求并取回结果。python-dotenv它是你的“保险箱”用来安全地存储 API 密钥避免将其硬编码在代码中泄露。在终端中执行以下命令即可一键安装pipinstallrequests python-dotenv配置密钥拿到通往 AI 世界的“钥匙”要调用大模型你需要一把“钥匙”也就是API Key。这就好比你要使用外卖服务必须先注册账号并获取令牌。目前市面上有许多大模型提供商如 OpenAI、月之暗面、阿里云等注册流程大同小异。以通用的流程为例登录大模型平台的控制台。找到API Keys管理页面点击创建新的密钥。复制生成的密钥通常是一串长字符如sk-...。重要提示千万不要把这串字符直接写在代码文件里上传到 GitHub 或其他公开平台最安全的做法是创建一个名为.env的文件放在你的项目文件夹根目录下内容如下OPENAI_API_KEYsk-你的真实密钥在这里这样我们的代码就可以通过读取这个文件来获取密钥既方便又安全。核心实战5 分钟构建自动诗歌生成器环境就绪密钥在手现在我们来完成今天的核心任务编写一个能根据主题自动生成五言绝句的 Python 脚本。我们将把这个文件命名为poem_generator.py。1. 导入模块与加载配置首先我们需要告诉 Python 要用哪些工具并把刚才存好的密钥读出来。importosimportrequestsfromdotenvimportload_dotenv# 加载 .env 文件中的环境变量load_dotenv()# 获取 API 密钥api_keyos.getenv(OPENAI_API_KEY)ifnotapi_key:raiseValueError(未找到 API 密钥请检查 .env 文件配置)这段代码做了两件事一是引入必要的库二是从环境变量中安全地提取密钥。如果没找到密钥程序会立即报错提醒避免后续无效运行。2. 构造 Prompt给 AI 下达精准指令与大模型交互的核心在于Prompt提示词。你可以把它理解为给 AI 的“任务说明书”。说明书写得越清晰AI 生成的内容就越符合预期。针对“写一首五言绝句”的需求我们可以这样设计 Promptdefbuild_prompt(topic):returnf 你是一位精通中国古典文学的诗人擅长创作五言绝句。 请以{topic}为主题创作一首诗。 要求 1. 严格遵循五言绝句格式四句每句五个字。 2. 押韵自然意境优美。 3. 只输出诗歌内容不要包含标题或额外解释。 这里我们运用了几个技巧角色设定精通古典文学的诗人、具体约束五言、押韵、无废话以及变量插入{topic}。这种结构能让大模型迅速进入状态输出高质量内容。3. 发送请求与解析响应这是整个流程中最具技术含量的部分。我们需要使用requests库向 API 接口发送 HTTP POST 请求并将用户的 Prompt 包装成 JSON 格式。defgenerate_poem(topic):urlhttps://api.openai.com/v1/chat/completions# 此处以通用接口为例不同厂商地址可能不同headers{Authorization:fBearer{api_key},Content-Type:application/json}payload{model:gpt-3.5-turbo,# 选择模型也可替换为其他兼容模型messages:[{role:user,content:build_prompt(topic)}],temperature:0.7# 控制创造性0.7 是一个平衡点}try:responserequests.post(url,headersheaders,jsonpayload,timeout10)response.raise_for_status()# 如果状态码不是 200抛出异常# 解析 JSON 响应resultresponse.json()poem_contentresult[choices][0][message][content]returnpoem_content.strip()exceptrequests.exceptions.RequestExceptionase:returnf请求失败{e}这段代码逻辑非常清晰构建请求头带上身份认证信息。构建载荷Payload指定模型、传入消息列表。注意messages是一个列表即使只有单轮对话也要遵循此格式。发送与处理使用post方法发送请求并用raise_for_status()确保网络通畅。提取数据大模型返回的是复杂的 JSON 对象我们需要层层深入找到choices-message-content这条路径那里才是我们要的诗句。4. 运行与测试最后我们把所有部分组装起来添加一个简单的用户交互入口if__name____main__:print( 欢迎使用 AI 诗歌生成器)user_topicinput(请输入一个主题例如春天、月亮、离别)ifuser_topic:print(\n正在构思诗句...\n)poemgenerate_poem(user_topic)print(f【{user_topic}】\n{poem})else:print(未输入主题程序退出。)保存文件后在终端运行python poem_generator.py。当你输入“春天”时几秒内你就能看到类似这样的输出春晨晓露润桃枝燕语莺啼入画池。最是一年好光景东风拂柳惹相思。理解背后的工作流通过这个小小的诗歌生成器你已经掌握了 AI 原生应用开发的最基本范式输入 - 构造 Prompt - 调用 API - 解析 JSON - 输出。在这个过程中Python 扮演了“胶水语言”的角色它不需要懂如何写诗只需要负责把用户的需求翻译成大模型能听懂的指令然后把大模型的回复整理好展示给用户。requests库处理了复杂的网络通信细节而 JSON 格式则确保了数据交换的标准化。对于初学者而言不必一开始就纠结于深度学习算法的原理或神经网络的架构。利用现有的大模型 API结合简单的 Python 脚本就能快速构建出具有实际价值的应用。无论是写诗、生成文案还是未来的多轮对话机器人其核心逻辑都是一脉相承的。现在你可以尝试修改 Prompt 中的要求比如让 AI 写一首“现代诗”或者“藏头诗”看看会发生什么有趣的变化。