Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
langchain-azure-ai Pomocí balíčku připojte aplikace LangGraph a LangChain ke službě Foundry Agent Service. Tento článek vás provede praktickými scénáři, od použití existujících agentů a skládání grafů s více agenty až po pracovní postupy s podporou nástrojů, schvalování s účastí člověka a trasování.
Požadavky
- Předplatné Azure. Vytvořte si ho zdarma.
- Projekt Foundry.
- Nasazený chatovací model (například
gpt-4.1) v projektu. - Python 3.10 nebo novější.
- Azure CLI je přihlášený (
az login), takže seDefaultAzureCredentialmůže ověřit.
Konfigurace prostředí
Nainstalujte balíček langchain-azure-ai pro použití funkcí Microsoft Foundry v jazyce LangGraph a LangChain.
pip install langchain-azure-ai[tools,opentelemetry] azure-identity
Tip
Nainstalujte doplňky [tools], abyste mohli používat nástroje, jako jsou funkce Document Intelligence nebo konektory Azure Logic Apps. Nainstalujte [opentelemetry] pro zahrnutí podpory OpenTelemetry se sémantickými konvencemi pro řešení Generative AI.
Nastavte proměnné prostředí, které používáme v tomto kurzu:
export AZURE_AI_PROJECT_ENDPOINT="https://<resource>.services.ai.azure.com/api/projects/<project>"
export MODEL_DEPLOYMENT_NAME="gpt-4.1"
Použití agentů služby Foundry Agent Service
Třída AgentServiceFactory je vaším výchozím bodem pro vytváření agentů v jazyce LangGraph, které komunikují se službou agenta v Foundry.
Továrna vytvoří uzly kompatibilní s jazykem LangGraph, které běží prostřednictvím služby agenta a které lze použít k vytváření složitějších řešení pomocí jazyka LangGraph.
Vytvořte objekt pro vytváření agentů připojením AgentServiceFactory třídy k projektu Foundry. Všichni agenti, které vytvoříte nebo na které odkazujete prostřednictvím tohoto vytváření, jsou spravováni v rámci projektu a jsou viditelní v portálu Foundry (nový).
Poznámka
Migrace z Foundry Classic: Agenti vytvořená pomocí langchain_azure_ai.agents.v1.AgentServiceFactory jsou viditelná jenom na portálu Foundry (Classic).
import os
from langchain_core.messages import HumanMessage
from azure.identity import DefaultAzureCredential
from langchain_azure_ai.agents import AgentServiceFactory
from langchain_azure_ai.utils.agents import pretty_print
factory = AgentServiceFactory(
project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
credential=DefaultAzureCredential(),
)
Použití existujícího agenta
Doporučujeme vytvářet a konfigurovat agenty na portálu Foundry nebo v sadě Foundry SDK a pak na ně odkazovat podle názvu get_agent_node a vytvářet grafy. Tento přístup se doporučuje, protože udržuje konfiguraci agenta centralizovanou v Foundry a umožňuje vašemu kódu zaměřit se na orchestraci. Agenty můžete také vytvářet programově, create_prompt_agent když potřebujete definovat agenty zcela v kódu.
echo_node = factory.get_agent_node(
name="my-echo-agent",
version="latest",
)
Co tento fragment dělá: Načte referenci na existujícího agenta Foundry jako uzel kompatibilní s LangGraph. Agent již musí být přítomen ve vašem projektu Foundry. Umožňuje version="latest" vždy cílit na nejnovější verzi nebo připnout konkrétní číslo verze pro stabilitu.
Otestujte, zda váš agent může fungovat.
response = echo_node.invoke(
{"messages": [HumanMessage(content="Hello, world!")]}
)
pretty_print(response)
================================ Human Message =================================
Hello, world!
================================== Ai Message ==================================
Name: my-echo-agent
Goodbye, world!
Konverzace a stav
Uzly připojené ke službě agenta automaticky sledují odpovědi v konverzacích. Tato azure_ai_agents_conversation_id vlastnost se přidá do stavu, takže můžete odkazovat na konverzace nebo v nich pokračovat:
print(
"azure_ai_agents_conversation_id:",
response["azure_ai_agents_conversation_id"],
)
azure_ai_agents_conversation_id: <conversation-id>
Vytváření grafů s existujícími agenty
K vytváření složitých grafů můžete použít uzly služby agenta stejně jako jakýkoli jiný uzel v jazyce LangGraph. Následující příklad vytvoří graf podmíněného směrování, kde místní router_node zkontroluje zprávu uživatele a rozhodne, jestli se má delegovat na agenta Foundry.
from typing import Literal
from langchain_core.messages import AIMessage
from langgraph.graph import StateGraph, MessagesState, START, END
class RouterState(MessagesState):
jump_to: str | None
def router_node(state: RouterState):
last_message = state["messages"][-1].content.lower()
# Simple logic simulating a model decision
if "negate" in last_message:
return RouterState(
messages=state["messages"], jump_to="delegate"
)
else:
return RouterState(
messages=[AIMessage(content="I can handle this!")],
jump_to=None,
)
def route_decision(state: RouterState) -> Literal["expert_node", END]:
if state.get("jump_to", None) == "delegate":
return "expert_node"
return END
workflow = StateGraph(RouterState)
workflow.add_node("router_node", router_node)
workflow.add_node("expert_node", echo_node)
workflow.add_edge(START, "router_node")
workflow.add_conditional_edges("router_node", route_decision)
workflow.add_edge("expert_node", END)
app = workflow.compile()
Co tento fragment kódu dělá: Vytvoří langgraph StateGraph se dvěma uzly. Zkontroluje router_node poslední zprávu – pokud obsahuje "negate", deleguje se na expert_node (agent Foundry načtený pomocí get_agent_node). V opačném případě směrovač zpracuje požadavek místně a ukončí graf. Tento model ukazuje, jak kombinovat místní logiku s agenty Foundry.
Graf vypadá takto:
Vyvolání grafu:
print("--- Test 1 (Direct) ---")
pretty_print(
app.invoke({"messages": [HumanMessage(content="Hello, world!")]})
)
print("\n--- Test 2 (Delegated) ---")
pretty_print(
app.invoke(
{"messages": [HumanMessage(content="Negate that I'm a genius!")]}
)
)
------------------------------- Test 1 (Direct) --------------------------------
================================ Human Message =================================
Hello, world!
================================== Ai Message ==================================
I can handle this!
------------------------------ Test 2 (Delegated) ------------------------------
================================ Human Message =================================
Negate that I'm a genius!
================================== Ai Message ==================================
Name: my-echo-agent
You're not a genius!
V testu 1 směrovač zpracovává požadavek místně. V testu 2 směrovač deleguje úlohy na agenta Foundry, který reaguje opačně na výrok uživatele.
Vytvořit základního agenta pro příkazy
Když potřebujete definovat agenty zcela v kódu – například během vytváření prototypů nebo kdy by se měla konfigurace agenta používat společně s aplikací – použijte create_prompt_agent. Začněte s minimálním agentem ve stylu ReAct a ověřte jeho integraci.
agent = factory.create_prompt_agent(
name="my-echo-agent",
model=os.environ["MODEL_DEPLOYMENT_NAME"],
instructions=(
"You are a helpful AI assistant that always replies with the "
"opposite of what the user says."
),
)
print(f"Agent created with ID: {factory.get_agents_id_from_graph(agent)}")
Agent created with ID: {'my-echo-agent:1'}
Vyvolání agenta:
messages = [HumanMessage(content="I'm a genius and I love programming!")]
response = agent.invoke({"messages": messages})
pretty_print(response)
================================ Human Message =================================
I'm a genius and I love programming!
================================== Ai Message ==================================
Name: my-echo-agent
You are not a genius and you hate programming!
Co tento fragment kódu dělá: Vytvoří agenta založeného na příkazovém řádku ve službě Foundry Agent Service a vrátí langgraph CompiledStateGraph , který ho používá. Agent se okamžitě zobrazí na portálu Foundry v části Agenti.
Volání get_agents_id_from_graph načte ID agenta, které bylo přiřazeno Foundry, abyste mohli agenta později sledovat nebo na něj odkazovat.
Způsob vytvoření a použití agenta v grafu LangGraph můžete vizualizovat tiskem jeho reprezentace diagramu. Uzel foundryAgent běží ve službě Foundry Agent. Všimněte si, jak se v grafu zobrazuje název a verze agenta.
from IPython import display
display.Image(agent.get_graph().draw_mermaid_png())
factory.delete_agent(agent)
Přidejte nástroje do svého agenta
K provádění akcí můžete do agenta přidat nástroje. Metoda create_prompt_agent implementuje smyčku agenta za vás.
Měli byste rozlišovat dva typy nástrojů:
- Místní nástroje: Jedná se o nástroje, které běží společně s kódem agenta. Mohou být volatelné funkce nebo libovolná funkce dostupná pro ekosystém LangChain/LangGraph.
- Integrované nástroje: Jedná se o nástroje, které se dají spouštět výhradně ve službě Foundry Agent Service; na straně serveru. Nástroje na straně serveru lze použít pouze u agentů Foundry.
Přidáním místních nástrojů do agenta se do grafu přidá uzel nástroje pro spuštění těchto nástrojů. Předdefinované nástroje nepřidají uzel nástroje a po provedení požadavku se ve službě spustí.
V následující části se dozvíte, jak používat obojí:
Přidání místních nástrojů
Můžete definovat místní Python funkce a připojit je jako nástroje. Tento model je užitečný pro deterministické obchodní logiky a obslužné operace.
def add(a: int, b: int) -> int:
"""Add two integers."""
return a + b
def multiply(a: int, b: int) -> int:
"""Multiply two integers."""
return a * b
def divide(a: int, b: int) -> float:
"""Divide one integer by another."""
return a / b
Předejte nástroje funkci create_prompt_agent a vyvolejte agenta s vícekrokovým aritmetickým problémem:
math_agent = factory.create_prompt_agent(
name="math-agent",
model=os.environ["MODEL_DEPLOYMENT_NAME"],
instructions=(
"You are a helpful assistant tasked with performing arithmetic "
"on a set of inputs."
),
tools=[add, multiply, divide],
)
messages = [
HumanMessage(
content="Add 3 and 4. Multiply the output by 2. Divide the output by 5."
)
]
response = math_agent.invoke({"messages": messages})
pretty_print(response)
================================ Human Message =================================
Add 3 and 4. Multiply the output by 2. Divide the output by 5
================================== Ai Message ==================================
Tool Calls:
add (call_JSmltOCbsTRkbNEBMAVSgVe1)
Call ID: call_JSmltOCbsTRkbNEBMAVSgVe1
Args:
a: 3
b: 4
================================= Tool Message =================================
Name: add
7
================================== Ai Message ==================================
Tool Calls:
multiply (call_ae6M6XyhOIBOkPy3ETd8nDI9)
...
================================== Ai Message ==================================
Name: math-agent
Here's the step-by-step calculation:
1. Add 3 and 4 to get 7.
2. Multiply the result (7) by 2 to get 14.
3. Divide the result (14) by 5 to get 2.8.
The final result is 2.8.
Co tento fragment kódu dělá: Vytvoří agenta se třemi aritmetickými nástroji. Když agent zjistí, že je potřeba vyvolat nástroj, služba Foundry Agent orchestruje vyvolání nástroje na místní úrovni a výsledek pošle zpět agentovi, aby mohl pokračovat v analýze.
Použijte další nástroje z ekosystému LangGraph/LangChain, jako je Azure Document Intelligence v nástrojích Foundry z toho samého pracovního postupu agenta. I když jsou tyto nástroje připojené k prostředku Foundry, nejsou výhradní pro službu agenta, a proto fungují jako místní nástroj.
from langchain_azure_ai.tools import AzureAIDocumentIntelligenceTool
document_parser_agent = factory.create_prompt_agent(
name="document-agent",
model=os.environ["MODEL_DEPLOYMENT_NAME"],
instructions="You are a helpful assistant tasked with analyzing documents.",
tools=[AzureAIDocumentIntelligenceTool()],
)
Tip
AzureAIDocumentIntelligenceTool může projekt Foundry použít k připojení ke službě a podporuje také Microsoft Entra pro ověřování. Ve výchozím nastavení nástroj používá AZURE_AI_PROJECT_ENDPOINT s DefaultAzureCredential, což je důvod, proč není nutná žádná další konfigurace. V případě potřeby ho můžete změnit tak, aby používal konkrétní koncový bod a klíč.
Požádejte agenta, aby analyzoval fakturu z adresy URL:
messages = [
HumanMessage(
content=(
"What's the total amount in the invoice at "
"https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/"
"sdk/formrecognizer/azure-ai-formrecognizer/tests/sample_forms/"
"forms/Form_1.jpg"
)
)
]
response = document_parser_agent.invoke({"messages": messages})
pretty_print(response)
================================ Human Message =================================
What's the total amount in ...
================================== Ai Message ==================================
Tool Calls:
azure_ai_document_intelligence (call_32V6bqeCcJhhsOXDrYFXggnc)
Call ID: call_32V6bqeCcJhhsOXDrYFXggnc
Args:
source_type: url
source: https://raw.githubusercontent.com/Azure/ ...
================================= Tool Message =================================
Name: azure_ai_document_intelligence
Content: Purchase Order Hero ...
================================== Ai Message ==================================
Name: document-agent
The total amount in the invoice is **$144.00**.
Co tento fragment kódu dělá: Požádá agenta, aby extrahovali data z ukázkového obrázku faktury. Agent zavolá AzureAIDocumentIntelligenceTool k analýze dokumentu a vrátí výsledek. Očekávaný výstup: Celková částka na faktuře je 144,00 KČ.
Přidání integrovaných nástrojů
Integrované nástroje ve službě Agent Foundry běží na straně serveru na rozdíl od uzlu nástroje, jako jsou místní nástroje. Nástroje v oboru názvů langchain_azure_ai.agents.prebuilt.tools.* jsou všechny integrované nástroje a pracují pouze s create_prompt_agent.
Příklad: Použití nástroje interpreta kódu
Vytvořte agenta interpreta kódu pro analýzu dat a vyvoláte ho fiktivním data.csv datovým souborem.
Před spuštěním této ukázky vytvořte místní data.csv soubor v aktuálním pracovním adresáři.
import base64
from langchain_azure_ai.agents.prebuilt.tools import CodeInterpreterTool
code_interpreter_agent = factory.create_prompt_agent(
name="code-interpreter-agent",
model=os.environ["MODEL_DEPLOYMENT_NAME"],
instructions=(
"You are a data analyst agent. Analyze CSV data and create "
"visualizations when helpful."
),
tools=[CodeInterpreterTool()],
)
with open("data.csv", "rb") as file_handle:
csv_data = base64.b64encode(file_handle.read()).decode()
response = code_interpreter_agent.invoke(
{
"messages": [
HumanMessage(
content=[
{
"type": "file",
"mime_type": "text/csv",
"base64": csv_data,
},
{
"type": "text",
"text": (
"Create a pie chart showing sales by region and "
"return it as a PNG image."
),
},
]
)
]
}
)
pretty_print(response)
================================ Human Message =================================
[
{'type': 'file', 'mime_type': 'text/csv', 'base64': '77u/bW9udG...xTb3V0aAo='},
{'type': 'text', 'text': 'create a pie chart with the data showing sales by region and show it to me as a png image.'}
]
================================== Ai Message ==================================
Name: code-interpreter-agent
[
{'type': 'text', 'text': 'Here is the pie chart showing sales by region as a PNG image:\n\n[Download the Pie Chart](sandbox:/mnt/data/sales_by_region_pie.png)'},
{'type': 'image', 'mime_type': 'image/png', 'base64': 'iVBORw0...ErkJggg=='}
]
Příklad: Použití nástroje pro generování obrázků
Následující příklad ukazuje, jak se používá ImageGenTool pro generování image:
from langchain_azure_ai.agents.prebuilt.tools import ImageGenTool
image_agent = factory.create_prompt_agent(
name="image-generator-agent",
model=os.environ["MODEL_DEPLOYMENT_NAME"],
instructions=(
"You are an image generation assistant. You receive a text prompt and "
"must generate an image by using the configured tool."
),
tools=[ImageGenTool(model_deployment="gpt-image-1.5", quality="medium")],
)
response = image_agent.invoke(
{"messages": [HumanMessage("Generate an image of a sunset over mountains.")]}
)
pretty_print(response)
================================ Human Message =================================
Generate an image of a sunset over the mountains.
================================== Ai Message ==================================
Name: image-generator-agent
Použití dalších integrovaných nástrojů
Jakýkoli nástroj Služby agenta Foundry lze použít s create_prompt_agent. Pomocí AgentServiceBaseTool zabalte nástroje ze sady AZURE AI Projects SDK a připojte je k agentovi výzev.
Před spuštěním této ukázky se ujistěte, že v projektu existuje ID úložiště vektorů.
Následující příklad ukazuje, jak použít FileSearchTool:
from azure.ai.projects.models import FileSearchTool
from langchain_azure_ai.agents.prebuilt.tools import AgentServiceBaseTool
file_search_agent = factory.create_prompt_agent(
name="file-search-agent",
model=os.environ["MODEL_DEPLOYMENT_NAME"],
instructions=(
"You are a helpful agent with access to a file search tool over a "
"vector store."
),
tools=[
AgentServiceBaseTool(
tool=FileSearchTool(vector_store_ids=["vector-store-1"]),
)
],
)
člověk ve smyčce
Některé nástroje v Foundry mají integrované pracovní postupy schvalování, například MCPTool. Před provedením volání nástroje pro daný nástroj na serveru můžete vyžadovat schválení.
Metoda create_prompt_agent implementuje stejný vzor doporučený jazykem LangGraph. Představuje uzel schválení v grafu:
Následující příklad ukazuje, jak se používá MCPTool se schválením:
from langchain_azure_ai.agents.prebuilt.tools import MCPTool
from langgraph.checkpoint.memory import MemorySaver
from langgraph.types import Command
mcp_agent = factory.create_prompt_agent(
name="mcp-github-specs-agent",
model=os.environ["MODEL_DEPLOYMENT_NAME"],
instructions=(
"You are a helpful agent that can use MCP tools to assist users."
),
tools=[
MCPTool(
server_label="api-specs",
server_url="https://gitmcp.io/Azure/azure-rest-api-specs",
require_approval="always",
)
],
checkpointer=MemorySaver(),
)
config = {"configurable": {"thread_id": "mcp-session-1"}}
response = mcp_agent.invoke(
input={"messages": [HumanMessage("What APIs are available for Azure Cosmos DB?")]},
config=config,
)
pretty_print(response)
================================ Human Message =================================
What APIs are available for Azure Cosmos DB?
================================== Ai Message ==================================
Tool Calls:
mcp_approval_request (mcpr_74e314080483acce0069a11d2d9f008190a971212ac61d76d8)
Call ID: mcpr_74e314080483acce0069a11d2d9f008190a971212ac61d76d8
Args:
server_label: api-specs
name: search_azure_rest_api_docs
arguments: {"query":"Cosmos DB APIs"}
================================== Interrupt ==================================
Interrupt ID: c3cb23363f91d097298fb3c6f8fbf70a
Interrupt Value:
Tool Call ID: mcpr_74e314080483acce0069a11d2d9f008190a971212ac61d76d8
Server Label: api-specs
Tool Name: search_azure_rest_api_docs
Arguments: {"query":"Cosmos DB APIs"}
Odešlete schválení pomocí Command v LangGraphu:
response = mcp_agent.invoke(Command(resume={"approve": True}), config)
pretty_print(response)
================================ Human Message =================================
What APIs are available for Azure Cosmos DB?
================================== Ai Message ==================================
Tool Calls:
mcp_approval_request (mcpr_74e314080483acce0069a11d2d9f008190a971212ac61d76d8)
Call ID: mcpr_74e314080483acce0069a11d2d9f008190a971212ac61d76d8
Args:
server_label: api-specs
name: search_azure_rest_api_docs
arguments: {"query":"Cosmos DB APIs"}
================================= Tool Message =================================
{"approve": true}
================================== Ai Message ==================================
Name: mcp-github-specs-agent
Azure Cosmos DB supports multiple APIs, ...
Pozorovatelnost
Při vytváření řešení pomocí služby Foundry Agent Service a LangGraph se některé části spouští ve službě agentů, zatímco ostatní běží tam, kde se váš kód spouští.
Třída AzureAIOpenTelemetryTracer umožňuje trasovat end-to-end řešení vytvořená pomocí LangGraph podle standardu OpenTelemetry, který je podporován Agent Service.
Ke sledování kódu použijte:
from langchain_azure_ai.callbacks.tracers import AzureAIOpenTelemetryTracer
tracer = AzureAIOpenTelemetryTracer(
agent_id="mcp-github-specs-agent-langgraph"
)
mcp_agent = mcp_agent.with_config({ "callbacks": [tracer] })
Co tento fragment kódu dělá: Vytvoří instanci AzureAIOpenTelemetryTracer k odesílání trasování do Aplikace Azure Insights pomocí standardu OpenTelemetry. Nastaví parametr agent_id pro identifikaci stop nastavením vlastnosti gen_ai.agent.id ve span typu agent_invoke.
AzureAIOpenTelemetryTracer vyžaduje připojovací řetězec pro Aplikace Azure Insights. V tomto případě se nezobrazí, protože nastavíte proměnnou prostředí AZURE_AI_PROJECT_ENDPOINT, kterou může třída použít ke zjištění připojovacího řetězce k Aplikace Azure Insights přidružené k projektu. Můžete předat libovolný připojovací řetězec, který potřebujete.
Pokud chcete zobrazit sledovací stopy, musíte pochopit, že zde existují dva agenti
- Agent Foundry, což je back-end jednoho z uzlů grafu.
- Celý graf LangGraph, který je složen z více uzlů.
Trasování agenta Foundry můžete zobrazit pomocí portálu Foundry, ale pokud chcete při vývoji zobrazit trasování agenta LangGraph, musíte použít Azure Monitor na portálu Azure.
Tip
Aplikace LangChain a LangGraph je možné zaregistrovat v řídicí rovině Foundry pro správu. Poté můžete využít portál Foundry k zobrazení trasování. Podívejte se na Zobrazení tras v řídicí rovině Foundry.
Zobrazení trasování pomocí Azure Monitor:
Přejděte na portál Azure.
Přejděte na Aplikace Azure Insights, které jste nakonfigurovali.
Pomocí levého navigačního panelu vyberte Prozkoumat>Agenty (Preview).
Zobrazí se řídicí panel zobrazující spuštění agentů, modelů a nástrojů. Toto zobrazení vám umožní porozumět obecnému obrázku vašich agentů.
Vyberte Zobrazit trasování pomocí spuštění agenta. V bočním panelu se zobrazí všechny stopy vygenerované spuštěním agenta.
Vyberte jednu z tras. Měli byste vidět podrobnosti.
Všimněte si, jak se do konverzace zapojují dva agenti: agent
foundryAgenta agent s názvemmcp-github-specs-agent-langgraph.
Vyčištění agentů
Odstraňte agenty, které jste vytvořili v ukázkách, abyste zabránili ponechání nepoužívaných prostředků.
Odstraňte pouze agenty, které jste vytvořili ve vaší relaci.
factory.delete_agent(math_agent)
factory.delete_agent(document_parser_agent)
factory.delete_agent(image_agent)
factory.delete_agent(code_interpreter_agent)
factory.delete_agent(mcp_agent)
factory.delete_agent(file_search_agent)
Důležité
Po odstranění již nelze objekt LangGraph použít.
Řešení potíží
Pomocí tohoto kontrolního seznamu můžete diagnostikovat běžné problémy při používání langchain-azure-ai služby agenta.
Povolení protokolování diagnostiky
Nejprve zapněte protokoly ladění, abyste mohli zkontrolovat podrobnosti o ověřování, toku požadavků a provádění nástrojů.
import logging
logging.getLogger("langchain_azure_ai").setLevel(logging.DEBUG)
Pokud potřebujete další podrobnosti, zvyšte protokolování tak, aby zahrnovalo další knihovny:
import logging
logging.basicConfig(level=logging.DEBUG)
Ověření konfigurace v rané fázi
- Potvrďte, že
AZURE_AI_PROJECT_ENDPOINTodkazuje na správný koncový bod projektu a že používáte projekt Foundry s novým rozhraním. - Ověřte, že
MODEL_DEPLOYMENT_NAMEodpovídá existujícímu nasazeného modelu. - Ověřte kontext ověřování pomocí
az account show. - Nejprve použijte minimální
create_prompt_agentpříklad.
Ověřte přístup k prostředkům a oprávnění
- Ujistěte se, že váš účet má přístup k projektu Foundry a nasazení modelu.
- Zajistěte, aby podřízené závislosti (například úložiště vektorů nebo prostředky nástrojů) existovaly a byly dosažitelné.
- Pokud nástroj vyžaduje konkrétní typ prostředku, ověřte, že je prostředek zřízený ve správném předplatném a oblasti.