Udostępnij za pośrednictwem


Zapytaj wdrożonego agenta Mosaic AI

Dowiedz się, jak używać klienta wdrożeń MLflow lub klienta OpenAI usługi Databricks do wysyłania żądań do wdrożonych agentów.

Aby dowiedzieć się, jak wdrażać agentów, zobacz Wdrażanie agenta do aplikacji AI generujących.

Databricks zaleca użycie klienta wdrożeniowego MLflow do wykonywania zapytań do punktu końcowego. Klient wdrażania MLflow zapewnia następujące korzyści:

  • Umożliwia podanie opcjonalnych niestandardowych danych wejściowych.
  • Umożliwia zgłaszanie śladów MLflow.
  • Metody predict i predict_stream klienta wdrożeń są zgodne z zachowaniem utworzonego agenta.

W poniższym przykładzie pokazano, jak wykonać zapytanie o agenta przy użyciu klienta wdrażania MLflow. Zastąp zawartość messages zapytaniem specyficznym dla agenta i zastąp <agent-endpoint-name nazwą punktu końcowego. Jeśli agent akceptuje niestandardowe dane wejściowe, dołącz je do wejściowego słownika języka Python. Zobacz Niestandardowe dane wejściowe i wyjściowe.

from mlflow.deployments import get_deploy_client

client = get_deploy_client()
input_example = {
    "messages": [{"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>"

Po sformatowaniu żądania uruchom client.predict() dla odpowiedzi bez przesyłania strumieniowego lub client.predict_stream() dla odpowiedzi strumieniowanych. predict() i predict_stream() wywołują funkcje agenta, które zdefiniowałeś podczas tworzenia agenta. Zobacz Streaming output agents (Agenci danych wyjściowych przesyłania strumieniowego).

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

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

Klient OpenAI dla Databricks

Alternatywnie możesz użyć klienta OpenAI usługi Databricks do wykonywania zapytań względem wdrożonego agenta. Klient OpenAI usługi Databricks obsługuje tylko przypadki użycia czatu konwersacyjnego. Oznacza to, że można wysyłać i odbierać tylko komunikaty. Nie można użyć klienta OpenAI Databricks do uwzględnienia niestandardowych danych wejściowych lub śladów żądań z punktu końcowego.

W poniższym przykładzie pokazano, jak przesłać zapytanie przy użyciu klienta OpenAI usługi Databricks. Zastąp zawartość messages zapytaniem specyficznym dla agenta i zastąp <agent-endpoint-name nazwą punktu końcowego.

from databricks.sdk import WorkspaceClient

messages = [{"role": "user", "content": "What does Databricks do?"}]
endpoint = "<agent-endpoint-name>"

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

Po sformatowaniu żądania uruchom polecenie chat.completions.create(). Dołącz parametr stream=True dla odpowiedzi strumieniowych. chat.completion.create() wywoła funkcje predict() lub predict_stream() zdefiniowane podczas tworzenia agenta. Zobacz Streaming output agents (Agenci danych wyjściowych przesyłania strumieniowego).

## Run for non-streaming responses
response = client.chat.completions.create(model=endpoint, messages=messages)

## Include stream=True for streaming responses
streaming_response = client.chat.completions.create(
    model=endpoint, messages=msgs, stream=True
)

Następne kroki

Monitorowanie aplikacji wdrożonych przy użyciu platformy Agent Framework (MLflow 2)