项目介绍

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

本文将介绍一个基于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. 一段VUE代码:通过组件封装全局方法、自定义指令和注册组件

    index.js // 插件定义第一种方式,对象:拥有 install() 方法的对象 const myPlugin = { install(app, options) { // 配置全局方法 app ...

  2. 分布式锁—7.Curator的分布式锁

    大纲 1.Curator的可重入锁的源码 2.Curator的非可重入锁的源码 3.Curator的可重入读写锁的源码 4.Curator的MultiLock源码 5.Curator的Semaphor ...

  3. 自动化-Yaml文件读取函数封装

    1.文件布局 打开文件修改读取方式为w load函数加载文件 class ReadConfiYaml: def __init__(self,yaml_file): self.yaml_file=yam ...

  4. jmespath 使用及案例

    什么是jmespath jmespath 是python里面的一个库 主要在httprunner框架里使用 2.使用语法 列表: with_jmespath(jmes_path,var_name) m ...

  5. Ubuntu下如何管理多个ssh密钥

    Ubuntu下如何管理多个ssh密钥 前言 ‍ 我一直在逃避这个问题,误以为我能够单纯地用一个 ssh 走天下. 好吧,现实是我不得不管理多个 ssh 做,那就写个博客总结一下吧. 查阅后发现前人已经 ...

  6. Flask快速入门2

    六,Flask HTTP方法 Http协议是万维网中数据通信的基础.在该协议中定义了从指定URL检索数据的不同方法. 下表总结了不同的http方法: 序号 方法 描述 1 GET 以未加密的形式将数据 ...

  7. ORB算法介绍 Introduction to ORB (Oriented FAST and Rotated BRIEF)

    Introduction to ORB (Oriented FAST and Rotated BRIEF) 1. Introduction ORB(Oriented FAST and Rotated ...

  8. 区块链特辑——solidity语言基础(一)

    Solidity语法基础学习 一.智能合约的结构: 首先以上是智能合约的结构,包含版权宣告.编译指示.Using for 宣告.错误定义.输入.列举与枚举.常数.合约.函数.注释.第一个注释不同于其他 ...

  9. JDK7-时间类、时间格式化类--java进阶day07

    1.Date类:表示时间的类 1.Date常用的构造方法 . 2.Date常用的成员方法 1.getTime:返回从时间原点到对象设定的时间之间的时间 2.setTime:将对象的时间设置为setTi ...

  10. python发送QQ邮件,自定义邮件内容

    怎么发QQ邮件,网上的例子很多,就不介绍了,具体可参考:https://www.jianshu.com/p/0f8c5e4e7054 这里主要把自定义邮件内容写一下 # -*- coding: utf ...