Sdílet prostřednictvím


Dotazování nasazeného agenta Mosaic AI

Naučte se používat klienta nasazení MLflow nebo klienta Databricks OpenAI k odesílání požadavků nasazeným agentům.

Informace o nasazení agentů najdete v tématu Nasazení agenta pro generování aplikací umělé inteligence.

Databricks doporučuje, abyste k dotazování koncového bodu použili nasazovacího klienta MLflow. Klient nasazení MLflow nabízí následující výhody:

  • Umožňuje zadat volitelné vlastní vstupy.
  • Umožňuje vyžádat sledování MLflow.
  • Metody predict a predict_stream klienta pro nasazení odpovídají chování vytvořeného agenta.

Následující příklad ukazuje, jak provádět dotazování agenta pomocí MLflow klienta pro nasazení. Nahraďte obsah messages dotazem specifickým pro vašeho agenta a nahraďte <agent-endpoint-name názvem vašeho koncového bodu. Pokud váš agent přijímá vlastní vstupy, zahrňte je do vstupního slovníku Pythonu. Viz Vlastní vstupy a výstupy.

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 naformátování požadavku spusťte client.predict() pro odpovědi bez streamování nebo client.predict_stream() pro odpovědi na streamování. predict() a predict_stream() volají funkce agenta, které jste definovali při tvorbě agenta. Viz Výstupní agenti streamování.

## 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 Databricks OpenAI

Případně můžete použít klienta Databricks OpenAI k dotazování nasazeného agenta. Klient Databricks OpenAI podporuje pouze případy použití konverzačního chatu. To znamená, že můžete odesílat a přijímat pouze zprávy. Klienta Databricks OpenAI nemůžete použít k zahrnutí vlastních vstupů nebo trasování požadavků z koncového bodu.

Následující příklad ukazuje, jak odeslat dotaz pomocí klienta Databricks OpenAI. Nahraďte obsah messages dotazem specifickým pro vašeho agenta a nahraďte <agent-endpoint-name názvem vašeho koncového bodu.

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 naformátování požadavku spusťte chat.completions.create(). Zahrňte parametr stream=True pro streamované odpovědi. chat.completion.create() vyvolá funkce predict() nebo predict_stream(), které jste definovali při vytváření agenta. Viz Výstupní agenti streamování.

## 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
)

Další kroky

Monitorování aplikací nasazených pomocí agenta Framework (MLflow 2)