จัดเก็บและให้บริการแบบจำลองภาษา
prompt-serve ช่วยให้คุณจัดการกับแบบจำลองภาษาขนาดใหญ่ (LLM) ทั้งหมดของคุณและการตั้งค่า/ข้อมูลเมตาที่เกี่ยวข้องทั้งหมดในลักษณะที่ควบคุมเวอร์ชันตรงไปตรงมา
โครงการนี้มีสคีมา YAML สำหรับการจัดเก็บพรอมต์ในลักษณะที่มีโครงสร้างและเซิร์ฟเวอร์ API ขนาดเล็กที่จัดการกับการโต้ตอบกับที่เก็บ GIT เพื่อให้คุณสามารถรับการแจ้งเตือนได้มากขึ้นเช่นรหัสที่ใช้ซ้ำได้
พรอมต์ทำตามสคีมาที่มีให้ใน 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 คุณสามารถใช้ยูทิลิตี้ตรวจสอบความถูกต้องเพื่อตรวจสอบการแจ้งเตือนตรงตามสคีมาและมี 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
ตัวอย่างเอาต์พุต

ไฟล์พรอมต์สามารถแปลงเป็นเทมเพลตพรอมต์ Langchain ได้อย่างง่ายดาย
เครื่องมือควบคุมเนื้อหาสามารถแปลงไฟล์พรอมต์เสิร์ฟแต่ละไฟล์เป็นรูปแบบ langchain
ตัวอย่างเอาต์พุต

งูหลาม
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