SysPmt
v1.0.0
SYSPMT是一种基于Python的工具,旨在将用Python样语法编写的伪代码转换为大型语言模型(LLMS)的精确且可操作的系统提示。该工具旨在帮助开发人员和促使熟练编程但可能需要帮助的工程师,以制定有效系统提示LLMS。
SYSPMT处理一个伪代码文件( .pmt )和配置文件( .yaml ),以使用YAML配置中定义的映射将伪代码转换为系统提示符。然后将生成的文本提供给LLM(在我们的情况下,ChatGpt 4)以创建最终系统提示。
git clone [repository-url]pip install -r requirements.txt通过指定配置和伪代码文件的路径来运行SYSPMT:
python3 syspmt.py --config path/to/config.yaml --prompt path/to/prompt.pmtconfig.yaml )配置文件定义了将伪代码转换为提示的翻译和消息格式。这是一个示例配置:
messages :
assign : " The AI assistant's '{var}' is set to {value}. "
if_condition : " If the condition '{condition}' is met, perform the following actions: "
else_condition : " Otherwise, perform the following actions: "
translations :
check_language : " check if the language is "
mission : " set the mission to "
context : " set the context to "
reject : " reject with the message: "
proceed : " Proceed with the request " prompt.pmt )该文件包含您的自定义伪代码。例子:
mission = "travel agency support"
context = "travel discussion"
language = "English"
age = 28
gender = "Male"
if check_language ( language ):
mission ( mission )
context ( context )
elif check_language ( "French" ):
mission ( "French travel consultant specializing in Paris" )
context ( "discussion about travel offers in Paris" )
else :
reject ( "We are sorry, we cannot assist you at the moment." )
if context ( "travel discussion" ):
if check_language ( "English" ):
mission ( "English travel specials" )
context ( "exploring travel packages tailored for English speakers" )
elif check_language ( "Spanish" ):
mission ( "Spanish travel specials" )
context ( "exploring travel packages tailored for Spanish speakers" )
else :
proceed ()
elif context ( "adventure tourism" ):
mission ( "adventure tourism specialist" )
context ( "providing information on adventure tourism packages" )
if check_language ( "German" ):
mission ( "German-speaking adventure tourism specialist" )
else :
proceed ()
else :
reject ( "Unfortunately, we cannot provide assistance for this request. Please check your input and try again." )SYSPMT输出系统提示准备LLM处理。基于上述伪代码的示例输出:
As a 28-year-old male AI assistant set in the travel agency support mission, and operating in a travel discussion context, your task is to communicate in English. However, you need to attend to the user query dynamically according to the preferred language. If you detect that the user's language is English, you should continue providing assistance about travel discussions as an English travel specials consultant. But if the user shifts the language to French, your role must be changed to a French travel consultant specializing in Paris, discussing travel offers in that region.
Nonetheless, if any other language than English or French is detected, you are supposed to inform the user with a message, stating, 'We are sorry, we cannot assist you at the moment.'. Also, it is important that you adjust the discussion context according to the user's command. If the context switches to 'travel discussion,' you should cater to the user in the language they are speaking, English or Spanish, exploring travel packages tailored for English or Spanish speakers, respectively. Still, if the user's language is different from these two, you should proceed with the initial settings.
Conversely, if the context becomes 'adventure tourism,' modify your mission to an adventure tourism specialist, and if the user is speaking German, serve as a German-speaking adventure tourism specialist. But, should the language setting not be identified or if the context does not match any predefined settings, you should provide a message that states, 'Unfortunately, we cannot provide assistance for this request. Please check your input and try again.'.
欢迎捐款!请铺设存储库,进行修改,并提交拉动请求进行审查。