Pular para o conteúdo principal

Consultar um agente implantado Mosaic AI

Aprenda como enviar solicitações aos agentes implantados para um endpoint de modelo de abastecimento. O Databricks fornece vários métodos de consulta para atender a diferentes casos de uso e necessidades de integração.

Para saber como implantar agentes, consulte Implantar um agente para aplicativos generativos AI.

Selecione a abordagem de consulta que melhor se adapta ao seu caso de uso:

Método

Principais benefícios

Cliente OpenAI do Databricks (recomendado)

Integração nativa, suporte completo a recursos, capacidades de transmissão

Cliente de implantações do MLflow

Padrões MLflow existentes, ML pipelinesestabelecidos

API REST

Compatível com OpenAI, independente de linguagem, funciona com ferramentas existentes

A Databricks recomenda o Databricks OpenAI Client para novos aplicativos. Escolha a APIREST ao integrar com plataformas que esperam um endpoint compatível com OpenAI.

Cliente OpenAI do Databricks (recomendado)

A Databricks recomenda que você use o Databricks OpenAI Client para consultar um agente implantado. Dependendo da API do seu agente implantado, você usará o cliente de respostas ou de conclusões de chat:

Use o exemplo a seguir para agentes criados com a interface ResponsesAgent, que é a abordagem recomendada para criar agentes.

Python
from databricks.sdk import WorkspaceClient

input_msgs = [{"role": "user", "content": "What does Databricks do?"}]
endpoint = "<agent-endpoint-name>" # TODO: update this with your endpoint name

w = WorkspaceClient()
client = w.serving_endpoints.get_open_ai_client()

## Run for non-streaming responses. Invokes `predict`
response = client.responses.create(model=endpoint, input=input_msgs)
print(response)

## Include stream=True for streaming responses. Invokes `predict_stream`
streaming_response = client.responses.create(model=endpoint, input=input_msgs, stream=True)
for chunk in streaming_response:
print(chunk)

Se você quiser passar custom_inputs ou databricks_options, você pode adicioná-los com o parâmetro extra_body :

Python
streaming_response = client.responses.create(
model=endpoint,
input=input_msgs,
stream=True,
extra_body={
"custom_inputs": {"id": 5},
"databricks_options": {"return_trace": True},
},
)
for chunk in streaming_response:
print(chunk)

Cliente de implantações do MLflow

Use o cliente de implantações MLflow ao trabalhar no fluxo de trabalho e pipeline MLflow existentes. Essa abordagem se integra naturalmente ao acompanhamento e gerenciamento de experimentos MLflow .

Os exemplos a seguir mostram como consultar um agente usando o cliente de implantação do MLflow. Para novos aplicativos, Databricks recomenda usar o Databricks OpenAI Client por seu recurso aprimorado e integração nativa.

Dependendo da API do seu agente implantado, você usará o formato ResponsesAgent ou ChatAgent:

Use o exemplo a seguir para agentes criados com a interface ResponsesAgent, que é a abordagem recomendada para criar agentes.

Python
from mlflow.deployments import get_deploy_client

client = get_deploy_client()
input_example = {
"input": [{"role": "user", "content": "What does Databricks do?"}],
## Optional: Include any custom inputs
## "custom_inputs": {"id": 5},
"databricks_options": {"return_trace": True},
}
endpoint = "<agent-endpoint-name>" # TODO: update this with your endpoint name

## Call predict for non-streaming responses
response = client.predict(endpoint=endpoint, inputs=input_example)

## Call predict_stream for streaming responses
streaming_response = client.predict_stream(endpoint=endpoint, inputs=input_example)

client.predict() e client.predict_stream() chamam as funções do agente que você definiu ao criar o agente. Veja respostas de transmissão.

API REST

A API REST Databricks fornece endpoint para modelos compatíveis com OpenAI. Isso permite que você use agentes do Databricks para atender aplicativos que exigem interfaces OpenAI.

Essa abordagem é ideal para:

  • Aplicativos independentes de linguagem que usam solicitações HTTP
  • Integração com plataformas de terceiros que esperam APIs compatíveis com OpenAI
  • Migrando do OpenAI para o Databricks com alterações mínimas de código

Autentique com a API REST usando tokens OAuth Databricks ou token de acesso pessoal (PAT). Os exemplos abaixo usam tokens OAuth Databricks . Consulte a Documentação de AutenticaçãoDatabricks para mais opções e informações.

Use o exemplo a seguir para agentes criados com a interface ResponsesAgent, que é a abordagem recomendada para criar agentes. A chamada da API REST é equivalente a:

  • Usando o cliente Databricks OpenAI com responses.create.
  • Enviando uma solicitação POST para a URL do endpoint específico (ex: https://<host.databricks.com>/serving-endpoints/\<model-name\>/invocations). Encontre mais detalhes na página do modelo de posto do seu endpoint e na documentação do modelo de posto.
Bash
curl --request POST \
--url https://<host.databricks.com\>/serving-endpoints/responses \
--header 'Authorization: Bearer <OAuth token>' \
--header 'content-type: application/json' \
--data '{
"model": "\<model-name\>",
"input": [{ "role": "user", "content": "hi" }],
"stream": true
}'

Se você quiser passar custom_inputs ou databricks_options, você pode adicioná-los com o parâmetro extra_body :

Bash
curl --request POST \
--url https://<host.databricks.com\>/serving-endpoints/responses \
--header 'Authorization: Bearer <OAuth token>' \
--header 'content-type: application/json' \
--data '{
"model": "\<model-name\>",
"input": [{ "role": "user", "content": "hi" }],
"stream": true,
"extra_body": {
"custom_inputs": { "id": 5 },
"databricks_options": { "return_trace": true }
}
}'

Próximas etapas

Monitoramento da produção