基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器

151 阅读6分钟

基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器

基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器

在当今自媒体时代,高质量的文案是吸引流量的关键。特别是在小红书这样的平台上,一个吸引人的标题和富有情感的正文可以显著提高内容的曝光率。 本文将介绍一个基于OpenAI API和Streamlit开发的小红书文案生成器,它能够一键生成符合"小红书浓人"风格的标题和正文。 ## 技术实现 这个项目主要基于: * Streamlit :构建Web应用界面

  • OpenAI API :提供GPT-3.5模型进行文本生成
  • 提示工程 :精心设计的系统提示词,引导AI生成符合小红书风格的文案

核心代码结构

import streamlit as st
from openai import OpenAI
from dotenv import load_dotenv
import os

# 基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器
load_dotenv()

# 基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))

# 基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器
systemprompt = """【🔥小红书浓人】根据给定主题,生成情绪和网感浓浓的自媒体文案
你是一个小红书文案专家,也被称为小红书浓人。小红书浓人的意思是在互联网上非常外向会外露出激动的情绪。常见的情绪表达为:啊啊啊啊啊啊啊!!!!!不允许有人不知道这个!!
请详细阅读并遵循以下原则,按照我提供的主题,帮我创作小红书标题和文案。

# 基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器
# 基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器
- 使用标点:通过标点符号,尤其是叹号,增强语气,创造紧迫或惊喜的感觉!
- 挑战与悬念:提出引人入胜的问题或情境,激发好奇心。
- 结合正负刺激:平衡使用正面和负面的刺激,吸引注意力。
- 紧跟热点:融入当前流行的热梗、话题和实用信息。
- 明确成果:具体描述产品或方法带来的实际效果。
- 表情符号:适当使用emoji,增加活力和趣味性。
- 口语化表达:使用贴近日常交流的语言,增强亲和力。
- 字数控制:保持标题在20字以内,简洁明了。

# 基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器
标题需要顺应人类天性,追求便捷与快乐,避免痛苦。
- 正面吸引:展示产品或方法的惊人效果,强调快速获得的益处。比如:产品或方法+只需1秒(短期)+便可开挂(逆天效果)。
- 负面警示:指出不采取行动可能带来的遗憾和损失,增加紧迫感。比如:你不xxx+绝对会后悔(天大损失)+(紧迫感)

# 基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器
从下面选择1-2个关键词:
我宣布、我不允许、请大数据把我推荐给、真的好用到哭、真的可以改变阶级、真的不输、永远可以相信、吹爆、搞钱必看、狠狠搞钱、一招拯救、正确姿势、正确打开方式、摸鱼暂停、停止摆烂、救命!、啊啊啊啊啊啊啊!、以前的...vs现在的...、再教一遍、再也不怕、教科书般、好用哭了、小白必看、宝藏、绝绝子、神器、都给我冲、划重点、打开了新世界的大门、YYDS、秘方、压箱底、建议收藏、上天在提醒你、挑战全网、手把手、揭秘、普通女生、沉浸式、有手就行、打工人、吐血整理、家人们、隐藏、高级感、治愈、破防了、万万没想到、爆款、被夸爆

# 基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器
# 基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器
选择以下一种方式作为文章的开篇引入:
- 引用名言、提出问题、使用夸张数据、举例说明、前后对比、情感共鸣。

# 基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器
- 字数要求:500-800字之间,不宜过长
- 风格要求:真诚友好、鼓励建议、幽默轻松;口语化的表达风格,有共情力
- 多用叹号:增加感染力
- 格式要求:多分段、多用短句
- 重点在前:遵循倒金字塔原则,把最重要的事情放在开头说明
- 逻辑清晰:遵循总分总原则,第一段和结尾段总结,中间段分点说明

# 基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器
- 标题数量:每次准备5个标题。
- 正文创作:撰写与标题相匹配的正文内容,具有强烈的浓人风格

现在,请告诉我你是否阅读完成?下面我将提供一个主题,请为我创作相应的小红书标题和文案,谢谢~"""

# 基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器
st.set_page_config(
   page_title="小红书文案生成器",
   page_icon="💡",
   layout="centered",
   initial_sidebar_state="collapsed",  # 默认隐藏侧边栏
)

# 基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器
st.markdown(
   """
   <style>
   /* 修改背景颜色 */
   .stApp {
       background-color: #f5f5f5;
       color: #333;
   }
   /* 标题样式 */
   .block-container {
       padding-top: 1rem; /* 减少顶部空白 */
      }
   h1 {
       color: #6c63ff;
       text-align: center;
       font-family: 'Arial', sans-serif;
       font-weight: bold;
   }
   /* 输入框样式 */
   .stTextInput > div > div > input {
       border: 2px solid #6c63ff;
       border-radius: 10px;
       padding: 10px;
       font-size: 16px;
       background-color: #f5f5f5;
       color: #333;
   }
   /* 按钮样式 */
   .stButton button {
       background-color: #6c63ff;
       color: white;
       font-size: 18px;
       padding: 10px 20px;
       border: none;
       border-radius: 5px;
       transition: 0.3s ease;
   }
   .stButton button:hover {
       background-color: #5a54e1;
       transform: scale(1.05);
   }
   /* 输出框样式 */
   .stMarkdown {
       background-color: #ffffff;
       padding: 20px;
       border: 1px solid #ddd;
       border-radius: 10px;
       box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
   }
   </style>
   """,
   unsafe_allow_html=True,
)
# 基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器
st.title("🌟 小红书文案生成器 🌟")

# 基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器
st.markdown(
   """
   ### 💡 输入你的主题
   请提供你需要生成文案的主题,我们会为你生成高质量的小红书标题和文案!
   """,
   unsafe_allow_html=True
)
user_input = st.text_input("", "例如:从零开始!一招揭秘AI大模型入门秘籍,让你轻松驾驭!")

# 基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器
if st.button("生成文案 🚀"):
   if user_input.strip() == "":
       st.warning("🚨 请输入主题!")
   else:
       # 调用 OpenAI API
       with st.spinner("正在生成文案,请稍等..."):
           response = client.chat.completions.create(
               messages=[
                   {'role': 'system', 'content': '我是一个小红书文案助手,我能够快速的跟你生成高质量的文案'},
                   {'role': 'system', 'content': systemprompt},
                   {'role': 'user', 'content': user_input}
               ],
               model="gpt-3.5-turbo",
           )
           # 获取结果
           result = response.choices[0].message.content
       # 显示结果
       st.success("文案生成成功!")
       st.markdown("### 🌟 生成的文案", unsafe_allow_html=True)
       st.markdown(result)

placeholder = st.empty()

运行命令:streamlit run xxx.py ## 提示工程的艺术 这个项目的核心在于精心设计的提示工程(Prompt Engineering)。我们的系统提示词详细规定了: ### 标题创作原则

  • 使用标点增强语气
  • 设置悬念和挑战
  • 平衡正负刺激
  • 融入热点和热梗
  • 明确描述成果
  • 适当使用emoji
  • 控制标题长度在20字以内

标题公式

  • 正面吸引:产品/方法 + 短期 + 逆天效果
  • 负面警示:不采取行动 + 天大损失 + 紧迫感

正文创作原则

  • 开篇引入多样化:名言、问题、数据等
  • 字数控制在500-800字
  • 真诚友好的风格
  • 多用感叹号增加感染力
  • 分段清晰,使用短句
  • 遵循倒金字塔原则

应用界面设计

应用采用了简洁但富有视觉吸引力的设计: * 柔和的背景色

  • 醒目的主题色(#6c63ff)
  • 圆角边框和阴影效果
  • 响应式按钮设计
  • 清晰的输出区域样式

结语

这个项目展示了如何结合提示工程和简单的web应用开发,创建一个实用的AI辅助写作工具。 随着大模型能力的不断提升,这类工具将在内容创作领域发挥越来越重要的作用。 希望这个项目能为你的内容创作之旅带来灵感!

原文链接: www.cnblogs.com/1314520xh/p…