Registre des invites
Bêta
Cette fonctionnalité est en Bêta. Les administrateurs du Workspace peuvent contrôler l'accès à cette fonctionnalité à partir de la page Previews . Consultez Gérer les aperçus Databricks.
Présentation
Le MLflow Prompt Registry est un repository centralisé pour gérer les templates d’invite tout au long de leur cycle de vie. Cela permet aux équipes de :
- Versionner et suivre les invites avec un versioning de type Git, des messages de commit et des capacités de restauration.
- Déployez en toute sécurité avec des alias en utilisant des références mutables (par exemple, « production », « staging ») pour les tests A/B et les déploiements progressifs
- **Collaborez sans modification de code** en permettant aux non-ingénieurs de modifier les invites via l’interface utilisateur.
- Intégrez-vous à n'importe quel framework , y compris LangChain, LlamaIndex et d'autres frameworks GenAI.
- Maintenez la gouvernance grâce à l'intégration de Unity Catalog pour le contrôle d'accès et les pistes d'audit.
- Suivez la lignée en liant les invites aux expérimentations et aux résultats d’évaluation.
Le Registre de prompts suit un modèle de type Git :
- Invites : entités nommées dans Unity Catalog
- Versions : Instantanés immuables avec des numéros à incrémentation automatique
- Alias : pointeurs mutables vers des versions spécifiques
- Tags : Paires clé-valeur spécifiques à la version
Prérequis
-
Installez MLflow avec prise en charge d'Unity Catalog :
Bashpip install --upgrade "mlflow[databricks]>=3.1.0" -
Créez une expérimentation MLflow en suivant le guide de démarrage rapide de configuration de votre environnement.
-
Assurez-vous d'avoir accès à un schéma Unity Catalog avec les autorisations
CREATE FUNCTION,EXECUTEetMANAGEpour afficher ou créer des invites dans le registre d'invites.
Quick start
Le code suivant montre le workflow essentiel pour l'utilisation du registre de prompts. Remarquez la syntaxe des doubles accolades pour les variables de Template :
import mlflow
from databricks.sdk import WorkspaceClient
model = "databricks-claude-sonnet-4-5"
llm = WorkspaceClient().serving_endpoints.get_open_ai_client()
# Register a prompt template
prompt = mlflow.genai.register_prompt(
name="docs.default.customer_support",
template="You are a helpful assistant. Answer this question: {{question}}",
commit_message="Initial customer support prompt"
)
print(f"Created version {prompt.version}") # "Created version 1"
# Set a production alias
mlflow.genai.set_prompt_alias(
name="docs.default.customer_support",
alias="production",
version=1
)
# Load and use the prompt in your application
prompt = mlflow.genai.load_prompt(name_or_uri="prompts:/docs.default.customer_support@production")
formatted_prompt = prompt.format(question="How do I reset my password?")
response = llm.chat.completions.create(
model=model,
messages=[{"role": "user", "content": formatted_prompt}],
)
print(response.choices[0].message.content)
Présentation du SDK
Le tableau suivant récapitule les six fonctions principales que Prompt Registry offre. Pour des exemples, consultez Exemples de Registre d'invites.
Fonction | Objectif |
|---|---|
Créez de nouvelles invites ou ajoutez de nouvelles versions | |
Récupérer des versions de prompt ou des alias spécifiques | |
Rechercher des prompts par nom, tags ou métadonnées | |
Créer ou mettre à jour des pointeurs d'alias | |
Supprimer les alias (les versions restent) | |
Supprimer toutes les invites ou des versions spécifiques |
Template formats
Les templates de prompt peuvent être stockés sous deux formats : les prompts simples ou les conversations. Pour les deux, les chaînes de prompt peuvent être templatées à l'aide de la syntaxe des doubles accolades "Hello {{name}}".
Format | Type Python | Description | Exemple |
|---|---|---|---|
Prompt simple |
| Single-message prompt Template |
|
Conversation |
| Chaque |
|
L'exemple suivant présente des prompts de style simple et conversationnel, en utilisant le format à double accolade pour les variables de template :
# Simple prompt
simple_prompt = mlflow.genai.register_prompt(
name="mycatalog.myschema.greeting",
template="Hello {{name}}, how can I help you today?",
commit_message="Simple greeting"
)
# Conversation or chat-style prompt
complex_prompt = mlflow.genai.register_prompt(
name="mycatalog.myschema.analysis",
template=[
{"role": "system", "content": "You are a helpful {{style}} assistant."},
{"role": "user", "content": "{{question}}"},
],
commit_message="Multi-variable analysis template"
)
# Use the prompt
rendered = complex_prompt.format(
style="edgy",
question="What is a good costume for a rainy Halloween?"
)
Compatibilité de format d'accolade simple
LangChain, LlamaIndex et d’autres bibliothèques prennent en charge la syntaxe à accolade unique (syntaxe de chaîne de format Python) pour les Template de prompt : "Hello {name}". Pour des raisons de compatibilité, MLflow prend en charge la conversion des prompts au format à accolade unique :
- LangChain
- LlamaIndex
from langchain_core.prompts import ChatPromptTemplate
# Load from registry
mlflow_prompt = mlflow.genai.load_prompt("prompts:/mycatalog.myschema.chat@production")
# Convert to LangChain format
langchain_template = mlflow_prompt.to_single_brace_format()
chat_prompt = ChatPromptTemplate.from_template(langchain_template)
# Use in chain
chain = chat_prompt | llm | output_parser
from llama_index.core import PromptTemplate
# Load and convert
mlflow_prompt = mlflow.genai.load_prompt("prompts:/mycatalog.myschema.rag@production")
llama_template = PromptTemplate(mlflow_prompt.to_single_brace_format())
# Use in query engine
query_engine.update_prompts({"response_synthesizer:text_qa_template": llama_template})
Ressources supplémentaires
- Créer et modifier des invites - Commencez avec votre première invite
- Utiliser les prompts dans les applications déployées - Déployer les prompts en production avec des alias
- Évaluez les invites – Comparez systématiquement les versions des invites.