链载Ai

标题: Prompt Poet:一款创新的低代码工具,专为简化提示设计而生。 [打印本页]

作者: 链载Ai    时间: 4 小时前
标题: Prompt Poet:一款创新的低代码工具,专为简化提示设计而生。

01

概述

Character.AI 在提示工程领域迈出了重要一步,认识到其在运营中的关键作用。该公司构建提示的方法非常全面,考虑了诸多因素,如对话模式、持续实验、角色档案、聊天类型、用户属性、固定记忆、用户角色和整个对话历史等。这种细致入微的细节处理,是因为他们每天生成的提示数量高达数十亿,并且需要最大化利用不断扩大的大型语言模型(LLM)上下文窗口的潜力。面对多样化的应用场景,Character.AI 提倡从传统的“提示工程”向“提示设计”转变。这一演变旨在超越平凡的字符串操作,朝着创造精确且引人入胜的提示迈进。为了实现这一目标,他们开发了一个创新的库,名为 Prompt Poet。
Character.AI 对提示设计的创新方法体现在他们新开发的 Prompt Poet 工具上。尽管 Python f-strings 已经成为提示工程师的行业标准,从简单的查询插入到复杂的字符串操作,这种方法通常需要编码技能,限制了非技术用户的可及性。Prompt Poet 通过为开发者和非技术个体提供更直观高效的解决方案来应对这一挑战,以便设计和管理生产提示。这个工具大幅减少了在工程字符串操作中花费的时间,让用户能够专注于打造最优的提示。Prompt Poet 从 UI 设计原则中汲取灵感,将提示概念化为运行时状态的函数,包括提示模板、数据、令牌限制以及其他相关因素。这种方法标志着朝着使提示设计对更广泛的用户群体更加可访问和高效迈出了重要一步。

02

安装使用

安装

pipinstallprompt-poet

基础使用

importos
importgetpass

fromprompt_poetimportPrompt
fromlangchainimportChatOpenAI

#UncommentifyouneedtosetOPENAI_API_KEY.
#os.environ["OPENAI_API_KEY"]=getpass.getpass()

raw_template="""
-name:systeminstructions
role:system
content:|
Yournameis{{character_name}}andyouaremeanttobehelpfulandneverharmfultohumans.

-name:userquery
role:user
content:|
{{username}}:{{user_query}}

-name:response
role:user
content:|
{{character_name}}:
"""

template_data={
"character_name":"CharacterAssistant",
"username":"Jeff",
"user_query":"Canyouhelpmewithmyhomework?"
}

prompt=Prompt(
raw_template=raw_template,
template_data=template_data
)

model=ChatOpenAI(model="gpt-4o-mini")
response=model.invoke(prompt.messages)

03

Prompt 模板

Prompt Poet 模板结合了 YAML 和 Jinja2 的特点。模板处理主要分为两个阶段:
模板设计的创新之举
Prompt Poet 以其创新的模板设计,将 YAML 的结构化能力和 Jinja2 的灵活处理相结合,为提示的创建和迭代提供了强大支持。在渲染阶段,Jinja2 精准地处理输入数据,执行逻辑控制,确保数据的准确性和模板函数的正确评估。加载阶段则将这些数据转化为结构化的 YAML 文件,进而封装为 Python 数据结构,为程序的进一步处理提供了便利。
模板属性的细致打磨
这种结构化的模板设计,不仅提高了提示管理的效率,也使得提示的创建过程更加直观和用户友好,无论是技术用户还是非技术用户,都能够轻松上手,高效地设计出满足需求的提示。Prompt Poet 的出现,为技术文章交流提供了一种全新的、高效的解决方案。






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5