prompt serve
1.0.0
存儲並提供語言模型提示
prompt-serve可幫助您以簡單的版本控制的方式管理所有大型語言模型(LLM)提示和關聯的設置/元數據。
該項目為以結構化的方式存儲提示和一個小型API服務器提供了YAML架構,該服務器與GIT存儲庫處理交互的小型API服務器,因此您可以更像可重複使用的代碼來對待提示。
提示遵循schema.yml中提供的模式。
查看提示庫以查看其在作用中。
title : prompt-title-or-name
uuid : prompt-uuid
description : prompt-description
category : prompt-category
provider : model-provider
model : model-name
model_settings :
temperature : 0.8
top_k : 40
top_p : 0.9
prompt : prompt-text
input_variables :
- var1
- var2
references :
- https://example.com
- https://example.com
associations :
- prompt_uuid
- prompt_uuid
packs :
- pack-uuid
- pack-uuid
tags :
- tag
- tag 您可以使用validate.py實用程序來驗證提示符合模式並具有獨特的UUID。
通過指定--create參數,如果給定的提示對於掃描的集合不是唯一的,將提供新的UUID。您還可以通過傳遞--gen-stats來收集收集提示的類型的統計信息(例如,請參見下一部分,例如統計信息輸出)。
usage: validate.py [-h] [-s SCHEMA] [-f FILE] [-d DIRECTORY] [-c] [-g]
Validate YAML files against the prompt-serve schema.
options:
-h, --help show this help message and exit
-s SCHEMA, --schema SCHEMA
schema file to validate against
-f FILE, --file FILE single file to validate
-d DIRECTORY, --directory DIRECTORY
directory to validate
-c, --create create new uuids if validation fails
-g, --gen-stats generate statistics from directory
示例輸出

內容控制工具可用於掃描及時服務存儲庫的目錄,並顯示有關集合中所有提示的統計信息,包括有關類別,提供商,模型和標籤的信息。
運行validate.py時也可以選擇收集統計信息。
示例輸出

及時的文件可以輕鬆地轉換為蘭鏈提示模板。
內容控件工具可以將單個及時服務文件轉換為蘭鍊格式。
示例輸出

Python
import yaml
from langhain import PromptTemplate
def convert ( path_to_ps_prompt ):
with open ( path_to_ps_prompt , 'r' ) as fp :
data = yaml . safe_load ( fp )
prompt = data [ 'prompt' ]
if 'input_vars' in data . keys ():
input_vars = data [ 'input_vars' ]
langchain_template = PromptTemplate ( template = prompt , input_variables = input_vars )
else :
langchain_template = PromptTemplate ( template = prompt , input_variables = [])
return langchain_template 內容控件工具可用於使用及時服務架構進行交互創建提示。
?這只是概念證明,有一些已知的錯誤。現在,您可以自己現在自己創建這些產品。
$ python create.py -n summary.yml
creating prompt file summary.yml ...
title (str): Summarize blog posts
description (str): Summarize a blog post with key takeaways
category (str): summarization
provider (str) : openai
model (str) : gpt-3.5-turbo
temperature (float) : 0.8
top_k (int) :
top_p (float) : 0.9
max_tokens (int) : 512
stream (bool) : false
presence_penalty (float) :
frequency_penalty (float) :
prompt (str): Summarize the blog post provided below with 3-5 key takeaways as bullet points: {blog_content}
references (seq) : https://github.com/deadbits/prompt-serve
associations (seq) :
packs (seq) :
tags (seq) :
successfully wrote file summary.yml