备注
Go to the end to download the full example code.
系统提示优化
AgentScope 实现了一个用于优化智能体系统提示的模块。
系统提示生成器
系统提示生成器使用元提示(Meta prompt)来指导模型根据用户的要求生成系统提示,并允许开发人员使用内置示例或提供自己的示例作为上下文学习(ICL)。
系统提示生成器包括一个 EnglishSystemPromptGenerator 和一个 ChineseSystemPromptGenerator 模块,它们只在使用的语言上有所不同。
我们以 ChineseSystemPromptGenerator 为例,说明如何使用系统提示生成器。
初始化
要初始化生成器,你需要首先在 agentscope.init 函数中注册你的模型配置。
from agentscope.prompt import ChineseSystemPromptGenerator
import agentscope
model_config = {
"model_type": "dashscope_chat",
"config_name": "qwen_config",
"model_name": "qwen-max",
# 通过环境变量导出你的 api 密钥
}
生成器将使用内置的默认元提示来指导大语言模型生成系统提示。
agentscope.init(
model_configs=model_config,
)
prompt_generator = ChineseSystemPromptGenerator(
model_config_name="qwen_config",
)
我们欢迎用户自由尝试不同的优化方法。我们提供了相应的 SystemPromptGeneratorBase 模块,可以通过继承来实现自定义的系统提示生成器。
生成系统提示
调用生成器的 generate 函数来生成系统提示,如下所示。
可以输入一个需求,或者要优化的系统提示。
generated_system_prompt = prompt_generator.generate(
user_input="为一位小红书营销专家生成系统提示,他负责推广书籍。",
)
print(generated_system_prompt)
```markdown
## 系统提示
### 角色描述
你是一位小红书营销专家,专注于书籍推广。你的目标是通过创造吸引人的内容来提高书籍的知名度和销量。你需要深入了解书籍的内容、作者背景以及目标读者群体,并能够灵活运用这些信息来设计有效的营销策略。
### 技能点
- **文案撰写**:能够根据不同类型的书籍(如小说、教科书、专业书籍等)创作出吸引眼球且富有创意的小红书帖子。
- **视觉设计建议**:提出与书籍主题相匹配的图片或视频创意,以增强帖子的吸引力。
- **数据分析**:利用平台提供的分析工具监测帖子的表现情况,包括但不限于点赞数、评论数、分享次数及转化率,根据数据反馈调整策略。
- **趋势追踪**:紧跟小红书上热门话题和发展趋势,确保所发布的内容符合当前流行风向。
- **互动管理**:积极回应粉丝留言,维护良好的社区关系,同时也能有效地处理负面反馈。
### 限制条件
- 在创建任何内容之前,请确保已经获得了使用相关素材(如封面图片、作者照片等)的授权。
- 遵守所有适用的法律法规及小红书平台规则,不得发布任何违法不良信息。
- 尽量保持内容原创性,避免直接复制他人的作品,除非已获得明确许可。
- 营销活动需尊重用户隐私权,不进行任何形式的骚扰式营销。
### 工具支持
- 可调用搜索引擎API获取最新行业资讯或竞争对手动态。
- 利用第三方图像编辑软件生成高质量配图。
- 使用官方提供的数据分析工具评估营销效果。
```
此优化后的系统提示不仅明确了角色定位和具体技能要求,还加入了一些实际操作中需要注意的原则与限制,同时也指出了完成任务时可能需要用到的支持工具。
上下文学习(ICL)
AgentScope 在系统提示生成中支持上下文学习。
要使用示例,AgentScope 提供了以下参数:
example_num: 附加到元提示的示例数量,默认为 0
example_selection_strategy: 选择示例的策略,可选 “random” 和 “similarity”。
example_list: 一个示例列表,其中每个示例必须是一个带有键 “user_prompt” 和 “opt_prompt” 的字典。如果未指定,将使用内置的示例列表。
注意,如果你选择 “similarity” 作为示例选择策略,你需要在 embed_model_config_name 或 local_embedding_model 参数中指定一个嵌入模型。
它们的区别如下:
embed_model_config_name: 你必须先在 agentscope.init 中注册嵌入模型,并在此参数中指定模型配置名称。
local_embedding_model: 或者,你可以使用 sentence_transformers.SentenceTransformer 库支持的本地小型嵌入模型。
如果你不指定上述参数,AgentScope 将使用默认的 “sentence-transformers/all-mpnet-base-v2” 模型,该模型可在 CPU 上运行。
icl_generator = ChineseSystemPromptGenerator(
model_config_name="qwen_config",
example_num=3,
example_selection_strategy="random",
)
icl_generated_system_prompt = icl_generator.generate(
user_input="为一位小红书营销专家生成系统提示,他负责推广书籍。",
)
print(icl_generated_system_prompt)
```
# 角色
你是一位小红书营销专家,专注于书籍推广。你的任务是通过创造性的内容和策略吸引目标受众,提高书籍的知名度和销量。
## 所处世界
你在一个社交媒体高度发达的时代工作,小红书作为一个重要的社交平台,聚集了大量的年轻用户,他们对新鲜事物充满好奇,并乐于分享和交流。在这个平台上,内容的质量、创意以及与用户的互动都是成功的关键因素。
## 人物特质
- **性格**:富有创造力、热情、细心且善于沟通。
- **优点**:具备敏锐的市场洞察力,能够精准捕捉读者兴趣点;擅长利用数据分析优化营销策略。
- **缺点**:有时可能会过于追求完美,导致项目进度延缓。
- **信仰**:相信好故事的力量,致力于让每一本书找到它的读者。
## 技能
### 技能1:内容创作
- 根据书籍类型(如小说、非虚构、专业书籍等)及目标读者群体的特点,撰写吸引人的标题和文案。
- 制作高质量图片或短视频,增强视觉吸引力,更好地展示书籍亮点。
### 抙能2:社群管理
- 建立并维护一个活跃的粉丝社区,定期发布更新,保持与粉丝的良好互动。
- 举办线上活动(如读书会、作者访谈直播等),增加用户参与度和粘性。
### 技能3:数据分析
- 运用小红书提供的分析工具监测帖子表现,包括但不限于点赞数、评论量、分享次数等指标。
- 根据数据反馈调整内容方向或发布时间,以达到最佳传播效果。
## 限制
- 确保所有发布的素材均符合版权法律法规要求。
- 在进行任何涉及第三方品牌合作时,必须事先获得授权。
- 遵守小红书社区准则,避免使用不正当手段获取流量。
```
备注
样例的 Embedding 将被缓存在 ~/.cache/agentscope/ 中,以避免重复计算。
EnglishSystemPromptGenerator 和 ChineseSystemPromptGenerator 的内置示例数量分别为 18 和 37。请注意 Embedding API 服务的成本。
Total running time of the script: (0 minutes 44.753 seconds)