almacenar y servir las indicaciones del modelo de idioma
prompt-serve le ayuda a administrar todas sus indicaciones de modelo de idioma grande (LLM) y configuraciones/metadatos asociados de manera directa y controlada por la versión.
Este proyecto proporciona un esquema YAML para almacenar indicaciones de manera estructurada y un pequeño servidor API que maneja las interacciones con un repositorio GIT, por lo que puede tratar las indicaciones más como un código reutilizable.
Las indicaciones siguen el esquema proporcionado en Schema.yml.
Consulte el repositorio de indicaciones para verlo en acción.
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 Puede usar la utilidad Validate.py para verificar las indicaciones para cumplir con el esquema y tener UUID únicos.
Al especificar el argumento --create , se proporcionará un nuevo UUID si un mensaje dado no es único para su conjunto escaneado. También puede recopilar estadísticas sobre los tipos de indicaciones en su colección pasando --gen-stats (consulte la siguiente sección, por ejemplo, la salida de estadísticas).
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
Salida de ejemplo

La herramienta de control de contenido se puede utilizar para escanear un directorio del repositorio de servicio de inmediato y mostrar estadísticas sobre todas las indicaciones en la recopilación, incluida la información en la categoría, el proveedor, el modelo y las etiquetas.
Las estadísticas también se pueden recopilar opcionalmente cuando se ejecuta Validate.py.
Salida de ejemplo

Los archivos de servicio de inmediato se pueden convertir fácilmente en plantillas de indicación Langchain.
La herramienta de control de contenido puede convertir archivos individuales de servicio de solicitud en formato Langchain.
Salida de ejemplo

Pitón
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 La herramienta de control de contenido se puede utilizar para crear interactivamente una solicitud con el esquema de servicio de inmediato.
? Esto es solo una prueba de concepto y tiene algunos errores conocidos. Será mejor que los sirvan creando por su cuenta por ahora.
$ 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