Partilhar via


Implantar um agente para aplicativo de IA generativa

Importante

Esta funcionalidade está em Pré-visualização Pública.

Este artigo mostra como implantar seu agente usando diretamente o Model Serving ou usando a deploy() API do databricks.agents.

Requisitos

  • Antes de implantar seu agente, você deve registrá-lo no Unity Catalog. Consulte Criar e registrar agentes de IA. Quando você registra seu agente no Unity Catalog, ele é empacotado na forma de um modelo.
  • MLflow 2.13.1 ou superior para implantar agentes usando a deploy() API do databricks.agents.

Implantar um agente usando o Model Serving

Importante

Quando você implanta um agente usando esse método, não é possível usar o aplicativo Revisar para coletar e enviar comentários sobre seu agente.

Para cargas de trabalho de produção, você pode implantar seu agente para disponibilizá-lo como uma API REST que pode ser integrada ao seu aplicativo voltado para o usuário. Você pode usar a API REST de serviço de modelo para criar um modelo que serve o ponto de extremidade da CPU para implantar seu agente pronto para produção.

Implantar um agente usando deploy()

Você pode usar a deploy() API para implantar seus agentes para desenvolver seus agentes ou para implantar seus agentes prontos para produção. Somente agentes registrados no Unity Catalog podem ser implantados usando deploy()o .

A deploy() API faz o seguinte:

  • Cria um modelo de CPU servindo pontos de extremidade para seu agente que podem ser integrados ao seu aplicativo voltado para o usuário. Esses pontos de extremidade são criados usando o Model Serving, para que você possa invocá-los para obter respostas do agente e coletar comentários da interface do usuário do aplicativo Review.
    • As credenciais de autenticação são passadas automaticamente para todos os recursos gerenciados pelo Databricks exigidos pelo agente.
    • Se você tiver dependências de recursos que não são gerenciadas por Databricks, por exemplo, usando Pinecone, você pode passar variáveis de ambiente com segredos para a deploy() API. Consulte Configurar o acesso a recursos a partir de pontos de extremidade de serviço de modelo.
  • Habilita o aplicativo Avaliações para seu agente. O aplicativo de revisão permite que as partes interessadas conversem com o agente e deem feedback usando a interface do usuário do aplicativo de avaliação.
  • Registra todas as solicitações no Aplicativo de Revisão ou na API REST, como solicitações e respostas de consulta e dados de rastreamento intermediários, em uma tabela de inferência do MLflow Tracing.

Nota

As implantações podem levar até 15 minutos para serem concluídas. As cargas úteis JSON brutas levam de 10 a 30 minutos para chegar, e os logs formatados são processados a partir das cargas brutas a cada hora.


from databricks.agents import deploy
from mlflow.utils import databricks_utils as du

deployment = deploy(model_fqn, uc_model_info.version)

# query_endpoint is the URL that can be used to make queries to the app
deployment.query_endpoint

# Copy deployment.rag_app_url to browser and start interacting with your RAG application.
deployment.rag_app_url

Tabelas de inferência aprimoradas por agente

O deploy() cria três tabelas de inferência para cada implantação para registrar solicitações e respostas de e para o agente que serve o ponto de extremidade.

Nota

Se você tiver o Firewall de Armazenamento do Azure habilitado, entre em contato com sua equipe de conta do Databricks para habilitar tabelas de inferência para seus pontos de extremidade.

Tabela Exemplo de nome da tabela do Catálogo Unity O que há em cada tabela
Payload {catalog_name}.{schema_name}.{model_name}_payload Cargas úteis JSON brutas
Registos de pedidos de carga útil {catalog_name}.{schema_name}.{model_name}_payload_request_logs Solicitações e respostas formatadas, rastreamentos MLflow
Logs de avaliação de carga útil {catalog_name}.{schema_name}.{model_name}_payload_assessment_logs Comentários formatados, conforme fornecidos no aplicativo Avaliações, para cada solicitação

Tabelas de log de solicitação e log de avaliação

Duas tabelas adicionais são geradas automaticamente a partir das tabelas de inferência de carga útil acima: logs de solicitação e logs de avaliação. Os usuários podem esperar que os dados estejam nessas tabelas dentro de uma hora após a interação com sua implantação.

A seguir mostra o esquema para a tabela de logs de solicitação.

Nome da coluna Tipo Description
client_request_id String ID de solicitação do cliente, geralmente null.
databricks_request_id String Databricks solicitar ID.
date Date Data do pedido.
timestamp_ms Longo Carimbo de data/hora em milissegundos.
timestamp Carimbo de Data/Hora Carimbo de data/hora do pedido.
status_code Número inteiro Código de status do ponto de extremidade.
execution_time_ms Longo Execução total em milissegundos.
conversation_id String ID da conversação extraída dos registos de pedidos.
request String A última consulta do usuário da conversa do usuário. Isto é extraído do pedido RAG.
response String A última resposta ao usuário. Isto é extraído do pedido RAG.
request_raw String Representação de cadeia de caracteres da solicitação.
response_raw String Representação de cadeia de caracteres da resposta.
trace String Representação de cadeia de caracteres do traço extraído da databricks_options estrutura de resposta.
sampling_fraction Duplo Fração de amostragem.
request_metadata Map[String, String] Um mapa de metadados relacionados ao modelo que serve o ponto de extremidade associado à solicitação. Este mapa contém o nome do ponto de extremidade, o nome do modelo e a versão do modelo usado para o seu ponto de extremidade.
schema_version String Inteiro para a versão do esquema.

A seguir está o esquema para logs de avaliação.

Nome da coluna Tipo Description
request_id String Databricks solicitar ID.
step_id String Derivado da avaliação de recuperação.
source Estrutura Um campo struct contendo as informações sobre quem criou a avaliação.
timestamp Carimbo de Data/Hora Carimbo de data/hora do pedido.
text_assessment Estrutura Um campo struct contendo os dados para qualquer feedback sobre as respostas do agente do aplicativo de avaliação.
retrieval_assessment Estrutura Um campo struct contendo os dados para qualquer feedback sobre os documentos recuperados para uma resposta.

Obtenha aplicativos implantados

Veja a seguir como obter seus agentes implantados.

from databricks.agents import list_deployments, get_deployments

# Get the deployment for specific model_fqn and version
deployment = get_deployments(model_name=model_fqn, model_version=model_version.version)

deployments = list_deployments()
# Print all the current deployments
deployments

Recursos adicionais