Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel verbindt u een MCP-compatibele hulpprogrammaserver met een KAITO-deductiewerkruimte (AI ToolChain Operator) in Azure Kubernetes Service (AKS), waardoor veilige en modulaire hulpprogramma's voor LLM-toepassingen worden aangeroepen. U leert ook hoe u end-to-end hulpprogramma-aanroep valideert door het model te integreren met de MCP-server en de uitvoering van realtime-functies te bewaken via gestructureerde antwoorden.
Model Context Protocol (MCP)
Als uitbreiding van KAITO-deductie met het aanroepen van hulpprogramma's biedt het MCP (Model Context Protocol) een gestandaardiseerde manier om hulpprogramma's te definiëren en beschikbaar te maken voor taalmodellen die moeten worden aangeroepen.
Het aanroepen van hulpprogramma's met MCP maakt het gemakkelijker om taalmodellen te verbinden met echte services en acties zonder nauw verband te leggen met logica in het model zelf. In plaats van elke functie of API-aanroep in te sluiten in uw toepassingscode, kunt u met MCP een zelfstandige hulpprogrammaserver uitvoeren die gestandaardiseerde hulpprogramma's of API's beschikbaar maakt die compatibel LLM kan gebruiken. Deze schone scheiding betekent dat u hulpprogramma's onafhankelijk kunt bijwerken, ze kunt delen tussen modellen en ze kunt beheren zoals elke andere microservice.
U kunt interne BYO-servers (Bring-Your-Own) gebruiken of externe MCP-servers naadloos verbinden met uw KAITO-deductiewerkruimte op AKS.
MCP met AI toolchain operator (KAITO) op AKS
U kunt een externe MCP-server registreren in een uniforme, schemagestuurde indeling en deze leveren aan elk compatibel deductie-eindpunt, inclusief de servers die zijn geïmplementeerd met een KAITO-werkruimte. Met deze aanpak kunt u bedrijfslogica externaliseren, het gedrag van het model loskoppelen van de uitvoering van hulpprogramma's en hulpprogramma's hergebruiken tussen agents, modellen en omgevingen.
In deze handleiding registreert u een vooraf gedefinieerde MCP-server, test u echte aanroepen die zijn uitgegeven door een LLM die wordt uitgevoerd in een KAITO-deductiewerkruimte en controleert u of het volledige uitvoeringspad van het hulpprogramma (van modelprompt naar mcp-functieaanroepen) werkt zoals bedoeld. U hebt flexibiliteit om hulpprogramma's onafhankelijk van uw model te schalen of te wisselen.
Vereiste voorwaarden
- In dit artikel wordt ervan uitgegaan dat u een bestaand AKS-cluster hebt. Als u geen cluster hebt, maakt u er een met behulp van de Azure CLI, Azure PowerShell of Azure Portal.
- Uw AKS-cluster wordt uitgevoerd op kubernetes-versie
1.33of hoger. Zie Uw AKS-cluster upgraden om uw cluster bij te werken. - Azure CLI-versie
2.77.0of hoger installeren en configureren. Voer uitaz --versionom uw versie te vinden. Zie De Azure CLI installeren als u deze wilt installeren of bijwerken. - U hebt de AI-hulpprogrammaketenoperator-invoegtoepassing geactiveerd op uw cluster en een KAITO-werkruimte met ondersteuning voor het aanroepen van hulpprogramma's is geïmplementeerd in uw cluster.
- Een externe MCP-server die beschikbaar is op een toegankelijke URL (bijvoorbeeld
https://mcp.example.com/mcp) die geldig/list_toolsretourneert en transport heeftstream.
Verbinding maken met een referentie-MCP-server
In dit voorbeeld gebruiken we een referentietijd MCP-server, die mogelijkheden voor tijdzoneconversie biedt en LLM's in staat stelt om actuele tijdgegevens op te halen en conversies uit te voeren met behulp van gestandaardiseerde namen.
De KAITO-inferentieservice port-forwarden
Controleer of uw KAITO-werkruimte gereed is en haal het eindpunt van de deductieservice op met behulp van de
kubectl getopdracht.kubectl get svc workspace‑phi‑4-mini-toolcallOpmerking
De uitvoer kan een
ClusterIPof intern adres zijn. Controleer op welke poort(en) de service luistert. De standaard-KAITO-deductie-API bevindt zich op poort80voor HTTP. Als dit alleen intern is, kunt u lokaal doorsturen.Stuur de interferentieservice door voor testen met behulp van de
kubectl port-forwardopdracht.kubectl port-forward svc/workspace‑phi‑4‑mini-toolcall 8000:80Controleer
/v1/modelshet eindpunt om te bevestigen datPhi-4-mini-instructLLM beschikbaar is met behulp vancurl.curl http://localhost:8000/v1/modelsUw
Phi-4-mini-instructopenAI-compatibele deductie-API is beschikbaar op:http://localhost:8000/v1/chat/completions
Controleer of de MCP-verwijzingsserver geldig is
In dit voorbeeld wordt ervan uitgegaan dat de Time MCP-server wordt gehost op https://mcp.example.com.
Controleer of de server hulpprogramma's retourneert met behulp van
curl.curl https://mcp.example.com/mcp/list_toolsVerwachte uitvoer:
{ "tools": [ { "name": "get_current_time", "description": "Get the current time in a specific timezone", "arguments": { "timezone": "string" } }, { "name": "convert_time", "description": "Convert time between two timezones", "arguments": { "source_timezone": "string", "time": "string", "target_timezone": "string" } } ] }
MCP-server verbinden met de KAITO-werkruimte met behulp van API-aanvraag
KAITO haalt automatisch hulpprogrammadefinities op uit hulpprogramma's die zijn gedeclareerd in API-aanvragen of dynamisch geregistreerd in de deductieruntime (vLLM + MCP tool loader).
In deze handleiding maken we een virtuele Python-omgeving om een aanvraag voor het aanroepen van hulpprogramma's naar het Phi-4-mini-instruct deductie-eindpunt te verzenden met behulp van de MCP-definitie en naar de server te verwijzen.
Definieer een nieuwe werkmap voor dit testproject.
mkdir kaito-mcp cd kaito-mcpMaak een virtuele Python-omgeving en activeer deze zodat alle pakketten lokaal zijn voor uw testproject.
uv venv source .venv/bin/activateGebruik het opensource Autogen-framework om de functionaliteit voor het aanroepen van hulpprogramma's te testen en de bijbehorende afhankelijkheden te installeren:
uv pip install "autogen-ext[openai]" "autogen-agentchat" "autogen-ext[mcp]"Maak een testbestand met de naam
test.pydat:- Maakt verbinding met de Time MCP-server en laadt
get_current_time-tool. - Maakt verbinding met uw KAITO-inferenceservice die wordt uitgevoerd op
localhost:8000. - Hiermee wordt een voorbeeldquery verzonden, zoals 'Hoe laat is het in Europa/Parijs?'
- Hiermee schakelt u automatische selectie en aanroepen van het
get_current_timehulpprogramma in.
import asyncio from autogen_agentchat.agents import AssistantAgent from autogen_agentchat.ui import Console from autogen_core import CancellationToken from autogen_core.models import ModelFamily, ModelInfo from autogen_ext.models.openai import OpenAIChatCompletionClient from autogen_ext.tools.mcp import (StreamableHttpMcpToolAdapter, StreamableHttpServerParams) from openai import OpenAI async def main() -> None: # Create server params for the Time MCP service server_params = StreamableHttpServerParams( url="https://mcp.example.com/mcp", timeout=30.0, terminate_on_close=True, ) # Load the get_current_time tool from the server adapter = await StreamableHttpMcpToolAdapter.from_server_params(server_params, "get_current_time") # Fetch model name from KAITO's local OpenAI-compatible API model = OpenAI(base_url="http://localhost:8000/v1", api_key="dummy").models.list().data[0].id model_info: ModelInfo = { "vision": False, "function_calling": True, "json_output": True, "family": ModelFamily.UNKNOWN, "structured_output": True, "multiple_system_messages": True, } # Connect to the KAITO inference workspace model_client = OpenAIChatCompletionClient( base_url="http://localhost:8000/v1", api_key="dummy", model=model, model_info=model_info ) # Define the assistant agent agent = AssistantAgent( name="time-assistant", model_client=model_client, tools=[adapter], system_message="You are a helpful assistant that can provide time information." ) # Run a test task that invokes the tool await Console( agent.run_stream( task="What time is it in Europe/Paris?", cancellation_token=CancellationToken() ) ) if __name__ == "__main__": asyncio.run(main())- Maakt verbinding met de Time MCP-server en laadt
Voer het testscript uit in uw virtuele omgeving.
uv run test.pyIn de uitvoer van deze test moet u het volgende verwachten:
- Het model genereert correct een aanroep van een hulpprogramma met behulp van de MCP-naam en de verwachte argumenten.
- Autogen verzendt de aanroep van het hulpprogramma naar de MCP-server, de MCP-server voert de logica uit en retourneert een resultaat.
- De
Phi-4-mini-instructLLM interpreteert de ruwe uitvoer van de tool en geeft een reactie in natuurlijke taal.
---------- TextMessage (user) ---------- What time is it in Europe/Paris? ---------- ToolCallRequestEvent (time-assistant) ---------- [FunctionCall(id='chatcmpl-tool-xxxx', arguments='{"timezone": "Europe/Paris"}', name='get_current_time')] ---------- ToolCallExecutionEvent (time-assistant) ---------- [FunctionExecutionResult(content='{"timezone":"Europe/Paris","datetime":"2025-09-17T17:43:05+02:00","is_dst":true}', name='get_current_time', call_id='chatcmpl-tool-xxxx', is_error=False)] ---------- ToolCallSummaryMessage (time-assistant) ---------- The current time in Europe/Paris is 5:43 PM (CEST).
Experimenteren met meer MCP-hulpprogramma's
U kunt de verschillende hulpprogramma's testen die beschikbaar zijn voor deze MCP-server, zoals convert_time.
Werk in uw
test.pybestand uit de vorige stap uwadapterdefinitie bij naar het volgende:adapter = await StreamableHttpMcpToolAdapter.from_server_params(server_params, "convert_time")Werk uw
taskdefinitie bij om het nieuwe hulpprogramma aan te roepen. Voorbeeld:task="Convert 9:30 AM New York time to Tokyo time."Sla het Python-script op en voer het uit.
uv run test.pyVerwachte uitvoer:
9:30 AM in New York is 10:30 PM in Tokyo.
Probleemoplossingsproces
In de volgende tabel worden veelvoorkomende fouten beschreven bij het testen van KAITO-deductie met een externe MCP-server en hoe u deze kunt oplossen:
| Fout | Hoe op te lossen |
|---|---|
Tool not found |
Zorg ervoor dat de naam van uw hulpprogramma overeenkomt met de naam die is gedeclareerd in /mcp/list_tools. |
401 Unauthorized |
Als voor uw MCP-server een verificatietoken vereist is, moet u ervoor zorgen server_params bij te werken om de headers met het verificatietoken op te nemen. |
connection refused |
Zorg ervoor dat de KAITO-deductieservice correct is doorgestuurd (bijvoorbeeld naar localhost:8000). |
tool call ignored |
Raadpleeg de documentatie voor het aanroepen van kaito-hulpprogramma's om vLLM-modellen te vinden die ondersteuning bieden voor het aanroepen van hulpprogramma's. |
Volgende stappen
In dit artikel heb je geleerd hoe je een KAITO-werkruimte verbindt met een externe referentie MCP-server om, met behulp van Autogen, het aanroepen van hulpprogramma's via de OpenAI-compatibele API in te schakelen. U hebt ook gevalideerd dat de LLM resultaten van MCP-compatibele hulpprogramma's in AKS kan detecteren, aanroepen en integreren. Zie de volgende bronnen voor meer informatie:
- Hulpprogramma-aanroepen implementeren en testen met de invoegtoepassing AI-hulpprogrammaketenoperator op AKS.
- KAITO tool calling en MCP officiële documentatie.