在迅速的工程领域,管理多个提示的管理可能会变得压倒性。个人和团队经常在跟踪和组织不同类型的提示方面面临挑战,从而导致可能错过一些最好的提示。
实验性开源试图使迅速工程师和开发人员的生活变得容易。无组织的管理提示方式使工作变得艰难,因此我们带来了一种结构化的方法,以帮助工程师和开发人员轻松与团队轻松跟踪,共享和处理提示。及时的组织者。
基于任务的组织:用户可以在不同的任务(摘要,主题发现,意图身份等)下组织提示,从而可以清楚地分类每个提示。
提示版本管理:在每个任务中,用户可以创建和管理多个提示版本,每个版本都具有其唯一的参数集。
差异可视化:用户可以利用集成的“显示diff”功能来毫不费力地可视化和比较各种提示版本之间的差异,添加或删除,并突出显示以容易发现。
提示参数配置:用户可以轻松地配置各种参数,例如温度,top_p,max令牌以及提示的每个版本的阈值。
状态跟踪:该应用程序允许用户设置和跟踪每个提示的状态,从而帮助及时评估和优化。
评论功能:每个提示版本都有一个关联的评论框,允许用户注释与提示有关的重要说明或信息。
系统提示管理:与用户提示一起,该应用程序还可以启用系统提示的管理,每个提示都带有其评论功能。
保存和下载:用户可以节省其进度并以YAML格式下载有组织的提示,从而易于共享和存储。
开发人员管道的YAML集成:该应用程序通过将YAML文件直接合并到其开发管道中,从而无缝地促进了开发人员,从而使开发过程更加直观且易于错误。
单用户应用程序:此应用程序目前是为个人使用而设计的,并计划将来升级以支持多个用户。
转到“提示组织者”文件夹并运行:
python app.py
我使用了python 3.8
从提示组织者下载YAML文件,并使用此方法加载它:
import yaml
def read_template():
directory_path = "data.yaml"
yaml_content = ''
with open(directory_path, "r") as f:
try:
yaml_content = yaml.safe_load(f)
except yaml.YAMLError as e:
print(f"Error parsing {directory_path}: {e}")
return yaml_content
def get_prompt(task, version):
yaml_content = read_template()
version = "version"+"_"+str(version)
return yaml_content[task]['prompts']['version_1']["prompt"]
prompt = get_prompt("Intent",1)
def get_parameters(task, version):
yaml_content = read_template()
version = "version"+"_"+str(version)
temp = yaml_content[task]['prompts'][version]['temperature']
top_p = yaml_content[task]['prompts'][version]['top_p']
max_tokens = yaml_content[task]['prompts'][version]['max_tokens']
threshold = yaml_content[task]['prompts'][version]['threshold']
return {"temperature":temp, "top_p":top_p, "max_tokens":max_tokens, "threshold":threshold}
params = get_parameters('Intent',1)
在提示内使用占位符,并用正确的内容代替:
示例提示:
我给您段落,您必须找到具有很高讨论价值的最重要意图。所有意图必须以字符串格式,相关得分必须为浮点格式。 n n n n n n n ndo不加添加,以下是字典格式的输出。任何解释。
用输入段式动态替换##占位符_1 ## 。
passage_content = "Your passage data"
prompt_passage = get_prompt('Intent',1)
prompt_passage = prompt_passage.replace("##placeholder_1##", passage_content)
使用helper.py文件使用所有这些方法。
openai.api_key = 'your-api-key-here'
passage_content = "Your data"
prompt_passage = get_prompt("Intent", 1) # This will provide you the prompt for the specified version and task.
system_prompt = get_sysprompt("Intent", 1) # This will provide you the system prompt for the specified version and task.
prompt_param = get_parameters("Intent", 1) # This will provide you the all parameters for the specified version and task.
prompt_passage = prompt_passage.replace("##placeholder_1##", passage_content)
response = openai.ChatCompletion.create(
model = "gpt-3.5-turbo",
temperature = prompt_param["temperature"],
top_p = prompt_param["top_p"],
max_tokens = prompt_param["max_tokens"],
messages=[
{"role": "system", "content": prompt_passage},
{"role": "user", "content": system_prompt},
]
)
# Extracting response
answer = response['choices'][0]['message']['content']
print(answer)
通过遵守概述的步骤,您可以采用一种结构化和系统的方法。促使组织者能够通过保证来设计,精心检查和实施您的提示。这导致了高级和可靠的AI应用程序的开发。
目前,我从项目中运行此应用程序,以避免使用YAML文件来回移动。我所有的修改都保持在项目级别。在不久的将来,这个想法是使这种集成无缝的。
还有更多...
所有这些都易于使用。
快乐提示,拍手:提示组织者?