项目介绍

在当今自媒体时代,高质量的文案是吸引流量的关键。特别是在小红书这样的平台上,一个吸引人的标题和富有情感的正文可以显著提高内容的曝光率。

本文将介绍一个基于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 # 加载环境变量
load_dotenv() # 初始化 OpenAI 客户端
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) # 定义系统提示
systemprompt = """【小红书浓人】根据给定主题,生成情绪和网感浓浓的自媒体文案
你是一个小红书文案专家,也被称为小红书浓人。小红书浓人的意思是在互联网上非常外向会外露出激动的情绪。常见的情绪表达为:啊啊啊啊啊啊啊!!!!!不允许有人不知道这个!!
请详细阅读并遵循以下原则,按照我提供的主题,帮我创作小红书标题和文案。 # 标题创作原则
## 增加标题吸引力
- 使用标点:通过标点符号,尤其是叹号,增强语气,创造紧迫或惊喜的感觉!
- 挑战与悬念:提出引人入胜的问题或情境,激发好奇心。
- 结合正负刺激:平衡使用正面和负面的刺激,吸引注意力。
- 紧跟热点:融入当前流行的热梗、话题和实用信息。
- 明确成果:具体描述产品或方法带来的实际效果。
- 表情符号:适当使用emoji,增加活力和趣味性。
- 口语化表达:使用贴近日常交流的语言,增强亲和力。
- 字数控制:保持标题在20字以内,简洁明了。 ## 标题公式
标题需要顺应人类天性,追求便捷与快乐,避免痛苦。
- 正面吸引:展示产品或方法的惊人效果,强调快速获得的益处。比如:产品或方法+只需1秒(短期)+便可开挂(逆天效果)。
- 负面警示:指出不采取行动可能带来的遗憾和损失,增加紧迫感。比如:你不xxx+绝对会后悔(天大损失)+(紧迫感) ## 标题关键词
从下面选择1-2个关键词:
我宣布、我不允许、请大数据把我推荐给、真的好用到哭、真的可以改变阶级、真的不输、永远可以相信、吹爆、搞钱必看、狠狠搞钱、一招拯救、正确姿势、正确打开方式、摸鱼暂停、停止摆烂、救命!、啊啊啊啊啊啊啊!、以前的...vs现在的...、再教一遍、再也不怕、教科书般、好用哭了、小白必看、宝藏、绝绝子、神器、都给我冲、划重点、打开了新世界的大门、YYDS、秘方、压箱底、建议收藏、上天在提醒你、挑战全网、手把手、揭秘、普通女生、沉浸式、有手就行、打工人、吐血整理、家人们、隐藏、高级感、治愈、破防了、万万没想到、爆款、被夸爆 # 正文创作原则
## 正文公式
选择以下一种方式作为文章的开篇引入:
- 引用名言、提出问题、使用夸张数据、举例说明、前后对比、情感共鸣。 ## 正文要求
- 字数要求:500-800字之间,不宜过长
- 风格要求:真诚友好、鼓励建议、幽默轻松;口语化的表达风格,有共情力
- 多用叹号:增加感染力
- 格式要求:多分段、多用短句
- 重点在前:遵循倒金字塔原则,把最重要的事情放在开头说明
- 逻辑清晰:遵循总分总原则,第一段和结尾段总结,中间段分点说明 # 创作原则
- 标题数量:每次准备5个标题。
- 正文创作:撰写与标题相匹配的正文内容,具有强烈的浓人风格 现在,请告诉我你是否阅读完成?下面我将提供一个主题,请为我创作相应的小红书标题和文案,谢谢~""" # Streamlit 应用程序
st.set_page_config(
page_title="小红书文案生成器",
page_icon="",
layout="centered",
initial_sidebar_state="collapsed", # 默认隐藏侧边栏
) # 自定义CSS样式
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,
)
# 页面标题
st.title(" 小红书文案生成器 ") # 用户输入
st.markdown(
"""
### 输入你的主题
请提供你需要生成文案的主题,我们会为你生成高质量的小红书标题和文案!
""",
unsafe_allow_html=True
)
user_input = st.text_input("", "例如:从零开始!一招揭秘AI大模型入门秘籍,让你轻松驾驭!") # 生成按钮
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辅助写作工具。

随着大模型能力的不断提升,这类工具将在内容创作领域发挥越来越重要的作用。

希望这个项目能为你的内容创作之旅带来灵感!

基于 Streamlit 和 OpenAI 实现的小红书爆款文案生成器的更多相关文章

  1. 2月第3周业务风控关注|上海网信办复测23个被约谈APP 涉及1号店、小红书等

    易盾业务风控周报每周呈报值得关注的安全技术和事件,包括但不限于内容安全.移动安全.业务安全和网络安全,帮助企业提高警惕,规避这些似小实大.影响业务健康发展的安全风险. 1.上海网信办复测23个被约谈A ...

  2. 超实用教程,教你用墨刀做出小红书app原型

    一个新手怎么用1小时快速学会APP原型设计? 1小时很短,这意味着学习时必须把握APP原型设计中的重点.难点,而非面面俱到. 要在短时间内理解.掌握一个工具的使用,最有效的方式莫过于临摹: 看实例视频 ...

  3. Keep、小红书、美图…独角兽App能拿到新一轮救命钱吗?

    大多数人热爱手机,不是因为时尚的外观或者结实的零部件,而是因琳琅满目的App赋予其太多的功能.智能手机最先是清理掉人类的零碎时间,现如今又开始肢解我们大块的时间,或者说,智能手机本身就是生活.在如此背 ...

  4. 小红书携手HMS Core,畅玩高清视界,种草美好生活

    在相同流量消耗的情况下,540p可秒变1080p?这不是魔法,通过视频超分辨率技术(简称视频超分),就能让视频变得更清晰. 7月20日,在小红书最新版本7.48的App中,用户就能体验到这项技术带来的 ...

  5. Android -- 仿小红书欢迎界面

    1,觉得小红书的欢迎界面感觉很漂亮,就像来学习学习一下来实现类似于这种效果  原效果图如下: 2,根据效果我们来一点点分析 第一步:首先看一下我们的主界面布局文件视图效果如下: main_activi ...

  6. 使用Vue2完成“小红书” app

    小红书项目说明 整体页面格调.功能和原版 app 无限接近.具体页面细节可以下载 “小红书” app查看. 图片素材:https://pan.baidu.com/s/1qYOcx7e 整体要求: · ...

  7. 剑指Offer——小米+小红书笔试题+知识点总结

    剑指Offer--小米+小红书笔试题+知识点总结 情景回顾 时间:2016.9.23 19:00-21:00 2016.9.24 15:00-17:00 地点:山东省网络环境智能计算技术重点实验室 事 ...

  8. 6.简单提取小红书app数据(简单初步试采集与分析)-1

    采集小红书数据爬虫:1.本来是要通过app端的接口去直接采集数据,但是app接口手机端设置本地代理这边开启抓包后就不能正常访问数据.所以就采用了微信小程序里的小红书app接口去采集数据. 2.通过 f ...

  9. 2019 小红书java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.小红书等公司offer,岗位是Java后端开发,因为发展原因最终选择去了小红书,入职一年时间了,也成为了面试官 ...

  10. 最新 小红书java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.小红书等10家互联网公司的校招Offer,因为某些自身原因最终选择了小红书.6.7月主要是做系统复习.项目复盘.LeetCo ...

随机推荐

  1. 获取另一个frame中的元素

    <frameset cols="12,88" frameborder="no" noresize borders="no" frame ...

  2. VUE-CLI 创建VUE3项目

    前言 第一篇当然是如何安装vue3 安装步骤 第一步安装vue-cli npm install -g @vue/cli // vue --version 第二步创建项目 vue create hell ...

  3. .net 8 C# 集成 AWS Cognito SMS/Email 注册与登录

    本文主要分为三个部分: 1.描述 cognito 涉及的专业术语 以及 交互流程 2..net 集成的代码 3.感想 * 阅读提示 :鼠标悬停在 章节标题 上可见 文章目录 1. Cognito 概念 ...

  4. 红日复现为什么失败之struct-046流量分析加msf特征总结

    struts2漏洞 一.指纹识别 s2的url路径组成(详见struts.xml配置文件):name工程名+namespace命名空间+atcion名称+extends拓展名 部署在根目录下,工程名可 ...

  5. 一款torrent文件格式分析工具(绿色纯天然)

    点击下载 1.主界面 2.文件分析(显示文件所在分片的位置) 3.获取指定分片所在的peers服务器列表 一只会铲史的猫

  6. 算法图解,关于数组,链表,以及大O表示法

    有关数组.链表以及大O表示法 关于数组 [1] 连续性:数组在内存中连续储存,就像是看电影的一群人排排坐. [2] 易读性:数组中的元素可以随意读取. [3] 难改性:由于连续的特性,增减元素都会导致 ...

  7. javascript 字符串截取

    <script> //字符截取(需要的字符长度) function cut_str(need_str_length){     var bag_set = document.getElem ...

  8. 【Guava】BiMap&Multimap&Multiset

    BiMap Map 可以实现 key -> value 的映射,如果想要 value -> key 的映射,就需要定义两个 Map,并且同步更新,很不优雅.Guava 提供了 BiMap ...

  9. 学习Linux命令的正确姿势

    大家好,我是良许. 大家应该注意到了,最近我的公众号文章末尾都挂着自己录制的<Linux命令从小白到大神>课程. 这个课程我从开始录制到制作完成,足足花了一个半月.如果加上前期的资料收集与 ...

  10. python环境配置命令

    在Python中,创建新的环境通常指的是创建一个隔离的Python环境,以便在该环境中安装和管理不同版本的库,而不会影响到系统中其他Python环境的库.这通常用于解决不同项目之间的依赖冲突.下面是一 ...