Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
langchain-azure-ai LangGraph ve LangChain uygulamalarını Foundry Agent Service'e bağlamak için paketini kullanın. Bu makale, mevcut ajanları kullanma ve çok ajanlı grafikleri oluşturmadan araç destekli iş akışlarına, insan unsurunun onayda bulunduğu işlemlere ve süreç izlemeye kadar pratik senaryolarda yol gösterir.
Önkoşullar
- Azure aboneliği. Ücretsiz bir tane oluşturun.
- Dökümhane projesi.
- Projenizde dağıtılan bir sohbet modeli (örneğin,
gpt-4.1) . - Python 3.10 veya üzeri.
- Azure CLI oturum açtı (
az login) böyleceDefaultAzureCredentialkimlik doğrulaması yapabilir.
Ortamınızı yapılandırma
LangGraph ve LangChain'de Microsoft Foundry özelliklerini kullanmak için langchain-azure-ai paketini yükleyin.
pip install langchain-azure-ai[tools,opentelemetry] azure-identity
Ipucu
Belge Zekası veya Azure Logic Apps bağlayıcıları gibi araçları kullanmak için ek [tools] yükleyin. Üretken yapay zeka çözümlerine yönelik anlam kurallarıyla OpenTelemetry desteğini eklemek için [opentelemetry] yükleyin.
Bu öğreticide kullandığımız ortam değişkenlerinizi ayarlayın:
export AZURE_AI_PROJECT_ENDPOINT="https://<resource>.services.ai.azure.com/api/projects/<project>"
export MODEL_DEPLOYMENT_NAME="gpt-4.1"
Foundry Aracı Hizmeti aracılarını kullanma
sınıfı AgentServiceFactory , LangGraph'da Foundry'deki Aracı Hizmeti ile etkileşim kuran aracılar oluşturmak için başlangıç noktanızdır.
Fabrika, Aracı Hizmeti aracılığıyla çalışan ve LangGraph ile daha karmaşık çözümler oluşturmak için kullanılabilen LangGraph uyumlu düğümler oluşturur.
AgentServiceFactory sınıfını bir Foundry projesine bağlayarak aracı fabrikası oluşturun. Bu işlem birimi aracılığıyla oluşturduğunuz veya referans verdiğiniz tüm aracılar proje içinde kontrol edilir ve Foundry portalında (yeni) görünür.
Not
Foundry klasikten geçiş: ile langchain_azure_ai.agents.v1.AgentServiceFactory oluşturulan aracılar yalnızca Foundry portalında (klasik) görünür.
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(),
)
Mevcut aracıyı kullanma
Foundry portalında veya Foundry SDK'sında ajanlar oluşturmanızı ve yapılandırmanızı ve ardından bu ajanlara adlarıyla get_agent_node başvurarak grafikler oluşturmanızı öneririz. Aracı yapılandırmasını Foundry'de merkezi olarak tuttuğundan ve kodunuzun düzenlemeye odaklanmasına olanak sağladığından bu yaklaşım önerilir. Aracıları tamamen kodda tanımlamanız gerektiğinde ile create_prompt_agent program aracılığıyla aracılar da oluşturabilirsiniz.
echo_node = factory.get_agent_node(
name="my-echo-agent",
version="latest",
)
Bu kod parçacığının yaptığı iş: Mevcut bir Foundry aracısına LangGraph ile uyumlu bir düğüm olarak referans almaktır. Aracı, Foundry projenizde zaten var olmalıdır. Her zaman en son sürümü hedeflemek veya belirli bir sürüm numarasını kararlılık için sabitlemek için kullanın version="latest" .
Ajanınızın çalışıp çalışmadığını test edin:
response = echo_node.invoke(
{"messages": [HumanMessage(content="Hello, world!")]}
)
pretty_print(response)
================================ Human Message =================================
Hello, world!
================================== Ai Message ==================================
Name: my-echo-agent
Goodbye, world!
Konuşmalar ve durum
Agent Hizmeti'ne bağlı düğümler, konuşmalardaki yanıtları otomatik olarak izlemek üzere tasarlanmıştır.
azure_ai_agents_conversation_id özelliği, konuşmalara başvurabilmeniz veya devam edebilmeniz için duruma eklenir.
print(
"azure_ai_agents_conversation_id:",
response["azure_ai_agents_conversation_id"],
)
azure_ai_agents_conversation_id: <conversation-id>
Mevcut aracılarla grafik oluşturma
Karmaşık grafikler oluşturmak için LangGraph'daki diğer düğümler gibi Aracı Hizmeti düğümlerini de kullanabilirsiniz. Aşağıdaki örnek, yerel router_node'in bir kullanıcının iletisini incelediği ve bir Foundry aracısına temsil yetkisi verilip verilmeyeceğine karar veren bir koşullu yönlendirme grafı oluşturur.
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()
Bu kod parçacığının yaptığı iş: İki düğümlü bir LangGraph StateGraph oluşturur.
router_node son iletiyi inceler — eğer "negate" içeriyorsa, get_agent_node ile alınan Döküm aracısına delege eder. Aksi takdirde, yönlendirici isteği yerel olarak işler ve grafiği sonlandırır. Bu düzende, yerel mantığın Foundry aracılarıyla nasıl birleştirildiği gösterilmektedir.
Grafik aşağıdaki gibi görünür:
Grafiği çağırın:
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!
Test 1'de yönlendirici isteği yerel olarak işler. Test 2'de yönlendirici, kullanıcının deyiminin tersiyle yanıt veren Foundry aracısına görev verir.
Temel bir istem aracısı oluşturma
Aracıları tamamen kodda tanımlamanız gerektiğinde (örneğin, prototip oluşturma sırasında veya aracı yapılandırması uygulamanızla birlikte yaşandığında) kullanın create_prompt_agent. Tümleştirmenizi doğrulamak için en düşük ReAct stilinde bir istem aracısıyla başlayın.
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'}
Aracıyı çağırın:
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!
Bu kod parçacığının yaptığı iş: Foundry Agent Hizmeti'nde komut tabanlı bir ajan oluşturur ve bunu kullanan bir LangGraph CompiledStateGraph döndürür. Aracı, Foundry portalınızdaki Aracılar bölümünde hemen görünür.
Çağrı, daha sonra aracı izleyebilmeniz veya başvurabilmeniz için Foundry tarafından atanan aracı kimliğini alır.
Aracının diyagram gösterimini yazdırarak LangGraph grafı içinde nasıl oluşturulduğunu ve kullanıldığını görselleştirebilirsiniz. Düğüm foundryAgent, Döküm Aracı Hizmeti’nde çalışır. Aracı adı ve sürümünün grafikte nasıl göründüğüne dikkat edin.
from IPython import display
display.Image(agent.get_graph().draw_mermaid_png())
factory.delete_agent(agent)
Temsilcinize araçlar ekleyin
Ajanınıza eylemler gerçekleştirmek için araçlar ekleyebilirsiniz. yöntemi create_prompt_agent aracı döngüsünü sizin için uygular.
İki tür aracı ayırt etmelisiniz:
- Yerel araçlar: Bunlar, aracı kodunuzun çalıştığı yerde aynı ortamda çalışan araçlardır. Çağrılabilen işlevler veya LangChain/LangGraph ekosistemi için kullanılabilen herhangi bir işlev olabilir.
- Yerleşik araçlar: Bunlar yalnızca Foundry Aracı Hizmeti'nde çalışabilen araçlardır; sunucu tarafı. Sunucu tarafı araçları yalnızca Foundry aracılarına uygulanabilir.
Aracınıza yerel araçlar eklemek, bu araçların çalışması için grafiğinize bir araç düğümü ekler. Yerleşik araçlar araç düğümü eklemez ve istekte bulunurken hizmette yürütülür.
Aşağıdaki bölümde her ikisinin de nasıl kullanılacağı açıklanmaktadır:
Yerel araçlar ekleme
Yerel Python işlevlerini tanımlayabilir ve bunları araç olarak ekleyebilirsiniz. Bu düzen, belirleyici iş mantığı ve yardımcı program işlemleri için kullanışlıdır.
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
Araçları create_prompt_agent fonksiyonuna iletin ve aracıyı çok adımlı bir aritmetik problemle çağırın.
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.
Bu kod parçacığının yaptığı iş: Üç aritmetik araçla bir aracı oluşturur. Aracı bir araç çağrısının gerekli olduğunu tespit ettiğinde, Foundry Aracı Hizmeti araç çağrısını yerel olarak düzenler ve mantığı sürdürmesi için sonucu yeniden aracıya iletir.
LangGraph/LangChain ekosistemindeki Azure Document Intelligence gibi diğer araçları, aynı ajan akışında Foundry Tools içinde kullanın. Bu araçlar bir Dökümhane kaynağına bağlı olsa da, Aracı Hizmeti'ne özel değildir ve bu nedenle yerel bir araç gibi işlev görürler.
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()],
)
Ipucu
AzureAIDocumentIntelligenceTool hizmete bağlanmak için Foundry projesini kullanabilir ve kimlik doğrulaması için Microsoft Entra de destekler. Varsayılan olarak, araç AZURE_AI_PROJECT_ENDPOINT ile DefaultAzureCredential kullanır, bu yüzden başka bir yapılandırma gerekmez. Gerekirse bunu belirli bir uç nokta ve anahtarı kullanacak şekilde değiştirebilirsiniz.
Aracıdan BIR URL'den faturayı analiz etmesini isteyin:
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**.
Bu kod parçacığının yaptığı iş: Aracıdan örnek bir fatura görüntüsünden veri ayıklamasını ister. Aracı, belgeyi ayrıştırmak için çağırır AzureAIDocumentIntelligenceTool ve sonucu döndürür. Beklenen çıkış: "Faturadaki toplam tutar 144,00 ABD dolarıdır."
Yerleşik araçlar ekleme
Foundry Aracı Hizmeti'ndeki yerleşik araçlar, yerel araçlar gibi bir araç düğümü yerine sunucu tarafında çalışır. Ad alanı langchain_azure_ai.agents.prebuilt.tools.* içindeki araçların tümü yerleşik araçlardır ve yalnızca ile create_prompt_agentçalışır.
Örnek: kod yorumlayıcı aracını kullanma
Veri analizi için bir kod yorumlayıcı aracısı oluşturun ve bunu kurgusal data.csv bir veri dosyasıyla çağırın.
Bu örneği çalıştırmadan önce geçerli çalışma dizininizde yerel data.csv bir dosya oluşturun.
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=='}
]
Örnek: görüntü oluşturma aracını kullanma
Aşağıdaki örnekte görüntü oluşturma için nasıl kullanılacağı ImageGenTool gösterilmektedir:
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
Diğer yerleşik araçları kullanma
Herhangi bir Foundry Aracısı Hizmeti aracı create_prompt_agent ile kullanılabilir. Azure AI Projeleri SDK'sından araçları sarmalayıp istem aracınıza eklemek için AgentServiceBaseTool kullanın.
Bu örneği çalıştırmadan önce, vektör deposu kimliğinin projenizde mevcut olduğundan emin olun.
Aşağıdaki örnek, bir FileSearchTool'nin nasıl kullanılacağını göstermektedir.
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"]),
)
],
)
İnsan müdahalesinin dahil olduğu sistem
Foundry'deki bazı araçlar yerleşik onay iş akışlarına MCPTool sahiptir. Sunucudaki belirli bir araç için araç çağrılarının yürütülmesi için onay gerektirebilirsiniz.
yöntemi create_prompt_agent , grafikte bir onay düğümü ekleyerek LangGraph tarafından önerilen desenin aynısını uygular:
Aşağıdaki örnekte, onay ile nasıl kullanılacağı MCPTool gösterilmektedir:
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"}
LangGraph'da kullanarak Command onay gönderin:
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, ...
Gözlemlenebilirlik
Foundry Agent Service ve LangGraph kullanarak çözümler oluştururken, bazı parçalar Aracı Hizmeti'nde çalıştırılırken diğerleri kodunuzun yürütüldüğü yerde çalışır.
sınıfı AzureAIOpenTelemetryTracer , Aracı Hizmeti tarafından desteklenen OpenTelemetry standardını kullanarak LangGraph ile oluşturulan uçtan uca çözümleri izlemenizi sağlar.
Kodunuzu izlemek için şunları kullanın:
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] })
Bu kod parçacığı ne yapar: OpenTelemetry standardını kullanarak Azure Uygulaması Insights'a izleme göndermek için AzureAIOpenTelemetryTracer örneği oluşturur. agent_invoke türündeki span'larda gen_ai.agent.id özelliğini ayarlayarak izlemeleri tanımlamak için agent_id parametresini ayarlar.
AzureAIOpenTelemetryTracer, Azure Uygulaması Insights için bir bağlantı dizesi gerektirir. Bu durumda, sınıfın projeyle ilişkilendirilmiş Azure Uygulaması Insights'a bağlantı dizesi algılamak için kullanabileceği AZURE_AI_PROJECT_ENDPOINT ortam değişkenini ayarladığınızdan gösterilmez. İhtiyacınız olan herhangi bir bağlantı dizisini geçirebilirsiniz.
İzleri görmek için burada iki aracı olduğunu anlamak önemlidir.
- Grafın düğümlerinden birinin arka ucu olan Foundry agenti.
- Birden çok düğüm olarak oluşturulan LangGraph grafiğinin tamamı.
Foundry portalını kullanarak Foundry aracı izlemelerini görüntüleyebilirsiniz, ancak geliştirme sırasında LangGraph aracısının izini görüntülemek için Azure portalında Azure İzleyici kullanmanız gerekir.
Ipucu
LangChain ve LangGraph uygulamaları yönetim için Foundry Control Plane'e kaydedilebilir. Ardından, iz kayıtlarını görüntülemek için Foundry portalını kullanabilirsiniz. Bkz Foundry Control Plane'de izlemeleri görüntüleme.
Azure İzleyici kullanarak izlemeleri görüntülemek için:
Azure portalına gidin.
Yapılandırdığınız Azure Uygulaması İçgörüleri'ne gidin.
Sol gezinti çubuğunu kullanarak İncele>Aracılar (Önizleme)'yi seçin.
Ajanları, modelleri ve araçların yürütülmesini gösteren bir pano görürsünüz. Ajanlarınızın genel resmini anlamak için bu görünümü kullanın.
Aracı Çalıştırmaları ile İzlemeleri Görüntüle'yi seçin. Yan panel, ajan çalıştırmalarından oluşturulan tüm izleri gösterir.
İzlemelerden birini seçin. Ayrıntıları görmeniz gerekir.
İki ajanın konuşmaya nasıl dahil olduğunu fark edin: ajan
foundryAgentve adımcp-github-specs-agent-langgrapholan ajan.
Temizlik araçları
Kullanılmayan kaynakları bırakmaktan kaçınmak için örneklerde oluşturduğunuz aracıları silin.
Yalnızca oturumunuzda oluşturduğunuz aracıları silin.
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)
Önemli
Silme işleminden sonra LangGraph nesnesi artık kullanılamaz.
Sorun giderme
langchain-azure-ai ile Aracı Hizmeti kullanırken sık karşılaşılan sorunları tanılamak için bu kontrol listesini kullanın.
Tanılama günlüğünü etkinleştirme
Kimlik doğrulaması, istek akışı ve araç yürütme ayrıntılarını inceleyebilmeniz için önce hata ayıklama günlüklerini açın.
import logging
logging.getLogger("langchain_azure_ai").setLevel(logging.DEBUG)
Daha fazla ayrıntıya ihtiyacınız varsa, günlük seviyesini diğer kütüphaneleri de içerecek şekilde artırın.
import logging
logging.basicConfig(level=logging.DEBUG)
Yapılandırmayı erken doğrulama
- Doğru proje uç noktasına işaret ettiğinizi onaylayın
AZURE_AI_PROJECT_ENDPOINTve yeni deneyimle bir Foundry projesi kullanıyorsunuz. - Onaylayın
MODEL_DEPLOYMENT_NAMEmevcut dağıtılmış bir modelle eşleşiyor. - Kimlik doğrulama bağlamını
az account showile doğrulayın. - Önce en düşük
create_prompt_agentörneği kullanın.
Kaynak ve izin erişimini doğrulama
- Hesabınızın Foundry projesine ve model dağıtımına erişimi olduğundan emin olun.
- Aşağı akış bağımlılıklarının (örneğin vektör depoları veya araç kaynakları) mevcut olduğundan ve erişilebilir olduğundan emin olun.
- Bir araç belirli bir kaynak türü gerektiriyorsa, kaynağın doğru abonelikte ve bölgede sağlandığını doğrulayın.