Usar prompts em aplicativos implantados
Beta
Esse recurso está na versão beta.
Este guia mostra como usar prompts do MLflow Prompt Registry em seus aplicativos GenAI de produção.
Ao implantar aplicativos GenAI, configure-os para carregar prompts do MLflow Prompt Registry usando aliases em vez de versões codificadas. Essa abordagem permite atualizações dinâmicas sem reimplantação.
Pré-requisitos
-
Instale o site MLflow e o pacote necessário
Bashpip install --upgrade "mlflow[databricks]>=3.1.0"
-
Crie um experimento MLflow seguindo o início rápido de configuração do ambiente.
-
Acesso a um esquema do Unity Catalog com
CREATE FUNCTION
- Por quê? Os prompts são armazenados na UC como funções
Etapa 1. Crie um novo prompt
O senhor pode criar prompts de forma programática usando o Python SDK.
Crie prompts programaticamente com mlflow.genai.register_prompt()
. Os prompts usam a sintaxe de dupla trava ({{variable}}
) para variáveis padrão.
import mlflow
# Replace with a Unity Catalog schema where you have CREATE FUNCTION permission
uc_schema = "workspace.default"
# This table will be created in the above UC schema
prompt_name = "summarization_prompt"
# Define the prompt template with variables
initial_template = """\
Summarize content you are provided with in {{num_sentences}} sentences.
Content: {{content}}
"""
# Register a new prompt
prompt = mlflow.genai.register_prompt(
name=f"{uc_schema}.{prompt_name}",
template=initial_template,
# all parameters below are optional
commit_message="Initial version of summarization prompt",
tags={
"author": "data-science-team@company.com",
"use_case": "document_summarization"
"task": "summarization",
"language": "en",
"model_compatibility": "gpt-4"
}
)
print(f"Created prompt '{prompt.name}' (version {prompt.version})")
Etapa 2. Adicionar um alias à versão do prompt
Os aliases permitem que o senhor atribua uma tag de cadeia de caracteres estática a uma versão específica do prompt, facilitando a referência a prompts em aplicativos de produção. Em vez de codificar números de versão, você pode usar aliases significativos, como production
, staging
ou development
. Quando precisar atualizar seu prompt de produção, basta reatribuir o alias production
para apontar para uma versão mais recente sem alterar ou reimplantar o código do aplicativo.
import mlflow
mlflow.genai.set_prompt_alias(
name=f"{uc_schema}.{prompt_name}",
alias="production",
version=1
)
Etapa 3: consulte o prompt em seu aplicativo
Depois de registrar o prompt e atribuir um alias, é possível fazer referência a ele nos aplicativos implantados usando o formato URI do prompt. A abordagem recomendada é usar a variável de ambiente para tornar seu aplicativo flexível e evitar a codificação de referências de prompt.
O formato do URI do prompt é: prompts:/{catalog}.{schema}.{prompt_name}@{alias}
Usando o prompt que registramos na Etapa 1, o URI seria:
prompts://workspace.default.summarization_prompt@production
Veja como fazer referência ao prompt em seu aplicativo:
import mlflow
import os
from typing import Optional
class ProductionApp:
def __init__(self):
# Use environment variable for flexibility
self.prompt_alias = os.getenv("PROMPT_ALIAS", "production")
self.prompt_name = os.getenv("PROMPT_URI", "workspace.default.summarization_prompt")
def get_prompt(self) -> str:
"""Load prompt from registry using alias."""
uri = f"prompts:/{self.prompt_name}@{self.prompt_alias}"
prompt = mlflow.genai.load_prompt(uri)
return prompt
# Rest of your application's code
# Example usage
app = ProductionApp()
prompt = app.get_prompt()
print(f"Loaded prompt: {prompt}")
Próximas etapas
- Vincule rastreamentos de produção às versões do aplicativo - Acompanhe quais versões de prompt são usadas na produção
- scorers de execução em produção - Monitore a qualidade de seus prompts implantados
- Avalie solicitações - Teste novas versões de solicitações antes de promovê-las para produção