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.
Alleen van toepassing op:Foundry (klassiek) portal. Dit artikel is niet beschikbaar voor de nieuwe Foundry-portal.
Meer informatie over de nieuwe portal.
Opmerking
Koppelingen in dit artikel kunnen inhoud openen in de nieuwe Microsoft Foundry-documentatie in plaats van de Foundry-documentatie (klassiek) die u nu bekijkt.
In dit artikel leert u hoe u LlamaIndex gebruikt met modellen die zijn geïmplementeerd vanuit de modelcatalogus in Microsoft Foundry.
U kunt modellen gebruiken die op twee manieren zijn geïmplementeerd voor Microsoft Foundry met LlamaIndex:
De providerspecifieke API van het model gebruiken: Sommige modellen, zoals OpenAI, Cohere of Mistral, bieden hun eigen set API's en extensies voor LlamaIndex. Deze extensies kunnen specifieke functionaliteiten bevatten die door het model worden ondersteund en daarom geschikt zijn als u ze wilt benutten. Wanneer u met
llama-indexwerkt, installeert u de extensie die specifiek is voor het model dat u wilt gebruiken, zoalsllama-index-llms-openaiofllama-index-llms-cohere.Het gebruiken van de Azure AI Model Inference API: Alle modellen die naar Foundry zijn gedeployed, ondersteunen de Model Inference API, waarmee een gemeenschappelijk aantal functies wordt geboden die de meeste modellen in de catalogus kunnen gebruiken. Het voordeel van deze API is dat, omdat deze voor alle modellen hetzelfde is, het wijzigen van de ene naar de andere eenvoudig is als het wijzigen van de modelimplementatie die wordt gebruikt. Er zijn geen verdere wijzigingen vereist in de code. Als u met LlamaIndex werkt, installeert u de extensies
llama-index-llms-azure-inferenceenllama-index-embeddings-azure-inference.
In dit voorbeeld werkt u met de Modeldeductie-API.
Belangrijk
Azure AI Inference Beta SDK is afgeschaft en wordt buiten gebruik gesteld op 26 augustus 2026. Schakel over naar de algemeen beschikbare OpenAI/v1-API met een stabiele OpenAI SDK. Volg de migratiehandleiding om over te schakelen naar OpenAI/v1 met behulp van de SDK voor de programmeertaal van uw voorkeur.
Voorwaarden
Als u deze zelfstudie wilt uitvoeren, hebt u het volgende nodig:
- Een Azure-account met een actief abonnement. Als u nog geen account hebt, maakt u een vrij Azure-account, inclusief een gratis proefabonnement.
- Een Foundry-project.
- Vereiste rol:
- Eigenaar of bijdrager aan de Foundry-resource of AI Hub om modellen in te zetten
- Azure AI-gebruiker om het model in een Foundry-project te gebruiken
- Azure AI Developer om het model te gebruiken in een hubproject
Een modelimplementatie die ondersteuning biedt voor de ModelDeductie-API. In dit artikel wordt
Mistral-Large-3in codevoorbeelden gebruikt; u kunt de naam van uw eigen geïmplementeerde model erin vervangen.Als u mogelijkheden voor insluitingen in LlamaIndex wilt gebruiken, hebt u een insluitmodel nodig, zoals
cohere-embed-v3-multilingual.- U kunt de instructies in Modellen implementeren als serverloze API-implementaties volgen.
Python 3.8 of hoger geïnstalleerd, inclusief pip.
LlamaIndex geïnstalleerd. U kunt deze installeren met behulp van de volgende opdracht:
pip install llama-indexIn dit voorbeeld werkt u met de Model Inference API, dus installeert u de volgende pakketten:
pip install -U llama-index-llms-azure-inference pip install -U llama-index-embeddings-azure-inferenceBelangrijk
Voor het gebruik van de Foundry Models-service is versie
0.2.4vereist voorllama-index-llms-azure-inferenceofllama-index-embeddings-azure-inference.
De omgeving configureren
Als u LLM's wilt gebruiken die zijn geïmplementeerd in Microsoft Foundry-portal, hebt u het eindpunt en de referenties nodig om er verbinding mee te maken. Volg deze stappen om de benodigde informatie op te halen uit het model dat u wilt gebruiken:
-
Meld u aan bij Microsoft Foundry. Zorg ervoor dat de wisselknop New Foundry is ingeschakeld. Deze stappen verwijzen naar Foundry (nieuw).
Open het project waarin het model is geïmplementeerd, als het nog niet is geopend.
Kopieer de eindpunt-URL en de sleutel.
In dit scenario stelt u de eindpunt-URL en -sleutel in als omgevingsvariabelen. (Als het eindpunt dat u hebt gekopieerd, extra tekst bevat /models, verwijdert u deze zodat de URL eindigt /models zoals hieronder wordt weergegeven.)
export AZURE_INFERENCE_ENDPOINT="https://<resource>.services.ai.azure.com/models"
export AZURE_INFERENCE_CREDENTIAL="<your-key-goes-here>"
Nadat u de omgeving hebt geconfigureerd, maakt u een client om verbinding te maken met het eindpunt.
import os
from llama_index.llms.azure_inference import AzureAICompletionsModel
llm = AzureAICompletionsModel(
endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
credential=os.environ["AZURE_INFERENCE_CREDENTIAL"],
)
Tip
Als uw modelimplementatie wordt gehost in Azure OpenAI in Foundry Models of Foundry Tools-resource, configureert u de client zoals aangegeven op Azure OpenAI-modellen en de service Foundry Models.
Als uw eindpunt meer dan één model gebruikt, zoals met de service Foundry Models of GitHub Models, moet u de parameter model_name opgeven:
import os
from llama_index.llms.azure_inference import AzureAICompletionsModel
llm = AzureAICompletionsModel(
endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
credential=os.environ["AZURE_INFERENCE_CREDENTIAL"],
model_name="Mistral-Large-3",
)
Wat dit doet: Hiermee maakt u een LLM-client met expliciete modelnaamspecificatie voor eindpunten met meerdere modellen. De model_name parameter vertelt de service welk model moet worden gebruikt voor chatvoltooiingen.
Verwijzingen:
Als uw eindpunt ondersteuning biedt voor Microsoft Entra ID, kunt u ook de volgende code gebruiken om de client te maken:
import os
from azure.identity import DefaultAzureCredential
from llama_index.llms.azure_inference import AzureAICompletionsModel
llm = AzureAICompletionsModel(
endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
credential=DefaultAzureCredential(),
)
What dit doet: Maakt een LLM-client met behulp van Microsoft Entra ID (Azure AD)-verificatie, die veiliger is voor productieomgevingen dan API-sleutels.
Opmerking
Wanneer u Microsoft Entra ID gebruikt, moet u ervoor zorgen dat het eindpunt is geïmplementeerd met die verificatiemethode en dat u over de vereiste machtigingen beschikt om het aan te roepen.
Uw installatie controleren
Test uw clientverbinding met een eenvoudige aanroep:
from llama_index.core.llms import ChatMessage
messages = [ChatMessage(role="user", content="Hello")]
response = llm.chat(messages)
print(response)
Wat dit doet: Roept het model aan met een eenvoudig bericht om verificatie en connectiviteit te verifiëren. Verwachte uitvoer: een antwoordobject met het begroetingsbericht van het model.
Verwijzingen:
Als u asynchrone aanroepen wilt gebruiken, gebruikt u de asynchrone versie voor de referenties:
from azure.identity.aio import (
DefaultAzureCredential as DefaultAzureCredentialAsync,
)
from llama_index.llms.azure_inference import AzureAICompletionsModel
llm = AzureAICompletionsModel(
endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
credential=DefaultAzureCredentialAsync(),
)
de Azure OpenAI-modellen en Foundry-modellen service
Als u Azure OpenAI of Foundry Models-service gebruikt, controleert u of u minimaal versie 0.2.4 van de LlamaIndex-integratie hebt. Gebruik de api_version parameter als u een specifieke api_version.
Voor de service Foundry Models moet u de model_name parameter doorgeven:
from llama_index.llms.azure_inference import AzureAICompletionsModel
llm = AzureAICompletionsModel(
endpoint="https://<resource>.services.ai.azure.com/models",
credential=os.environ["AZURE_INFERENCE_CREDENTIAL"],
model_name="Mistral-Large-3",
)
Voor Azure OpenAI in Foundry-modellen:
from llama_index.llms.azure_inference import AzureAICompletionsModel
llm = AzureAICompletionsModel(
endpoint="https://<resource>.openai.azure.com/openai/deployments/<deployment-name>",
credential=os.environ["AZURE_INFERENCE_CREDENTIAL"],
api_version="2024-05-01-preview",
)
Tip
Controleer welke API-versie uw implementatie gebruikt. Als u een fout api_version gebruikt of niet wordt ondersteund door het model, resulteert dit in een ResourceNotFound uitzondering.
Inferenceparameters
U kunt configureren hoe deductie wordt uitgevoerd voor alle bewerkingen die deze client gebruiken door extra parameters in te stellen. Deze aanpak helpt u te voorkomen dat u deze voor elke oproep aan het model hoeft op te geven.
llm = AzureAICompletionsModel(
endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
credential=os.environ["AZURE_INFERENCE_CREDENTIAL"],
temperature=0.0,
model_kwargs={"top_p": 1.0},
)
Wat dit doet: Hiermee stelt u standaarddeductieparameters (temperature en top_p) in die van toepassing zijn op alle chat- en voltooiingsgesprekken die met deze client worden gedaan. Lagere temperatuur (0,0) produceert meer deterministische uitvoer; top_p controleert de diversiteit in steekproeven.
Verwijzingen:
Gebruik het argument voor parameters die niet worden ondersteund in de ModelDeductie-API (model_extras), maar beschikbaar is in het onderliggende model. In het volgende voorbeeld wordt de parameter safe_prompt, die alleen beschikbaar is voor Mistral-modellen, doorgegeven.
llm = AzureAICompletionsModel(
endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
credential=os.environ["AZURE_INFERENCE_CREDENTIAL"],
temperature=0.0,
model_kwargs={"model_extras": {"safe_prompt": True}},
)
LLM-modellen gebruiken
U kunt de client rechtstreeks gebruiken of de modellen configureren die worden gebruikt door uw code in LlamaIndex. Als u het model rechtstreeks wilt gebruiken, gebruikt u de chat methode voor chatinstructiemodellen:
from llama_index.core.llms import ChatMessage
messages = [
ChatMessage(
role="system", content="You are a pirate with colorful personality."
),
ChatMessage(role="user", content="Hello"),
]
response = llm.chat(messages)
print(response)
U kunt de uitvoer ook streamen:
response = llm.stream_chat(messages)
for r in response:
print(r.delta, end="")
De complete methode is nog steeds beschikbaar voor modellen van het type chat-completions. In die gevallen wordt uw invoertekst geconverteerd naar een bericht met behulp van role="user".
Insluitingsmodellen gebruiken
Net zoals u een LLM-client maakt, kunt u verbinding maken met een insluitmodel. Stel in het volgende voorbeeld de omgevingsvariabele in op een model voor insluitingen:
export AZURE_INFERENCE_ENDPOINT="<your-model-endpoint-goes-here>"
export AZURE_INFERENCE_CREDENTIAL="<your-key-goes-here>"
Maak vervolgens de client:
from llama_index.embeddings.azure_inference import AzureAIEmbeddingsModel
embed_model = AzureAIEmbeddingsModel(
endpoint=os.environ["AZURE_INFERENCE_ENDPOINT"],
credential=os.environ['AZURE_INFERENCE_CREDENTIAL'],
model="<your-model-name>",
)
Wat dit doet: Hiermee wordt een insluitingsclient geïnstitueerd om tekst te converteren naar vector-insluitingen. Embeddings zijn numerieke weergaven van tekst die worden gebruikt voor zoekopdrachten naar semantische overeenkomsten en retrieval-augmented generatie (RAG).
Verwijzingen:
In het volgende voorbeeld ziet u een eenvoudige test om te controleren of deze werkt:
from llama_index.core.schema import TextNode
nodes = [
TextNode(
text="Before college the two main things I worked on, "
"outside of school, were writing and programming."
)
]
response = embed_model(nodes=nodes)
print(response[0].embedding)
Wat dit doet: Converteert een tekstknooppunt naar insluitingen en drukt de numerieke vectorweergave af. Verwachte uitvoer: Een lijst met drijvendekommanummers die de semantische betekenis van de tekst vertegenwoordigen (typische lengte: 384-1024 dimensies, afhankelijk van het model).
Verwijzingen:
De modellen configureren die door uw code worden gebruikt
In uw code kunt u de LLM- of embeddings-modelclient afzonderlijk gebruiken bij het werken met LlamaIndex, of u kunt de hele sessie configureren met behulp van de Settings opties. Wanneer u de sessie configureert, gebruikt al uw code dezelfde modellen voor alle bewerkingen.
from llama_index.core import Settings
Settings.llm = llm
Settings.embed_model = embed_model
Wat dit doet: Registreert de LLM- en embeddings-clients wereldwijd, zodat alle LlamaIndex-bewerkingen deze modellen automatisch gebruiken zonder ze als parameters door te geven aan elke functie.
Verwijzingen:
Sommige scenario's vereisen echter een algemeen model voor de meeste bewerkingen en een specifiek model voor een bepaalde taak. In deze gevallen stelt u het LLM- of insluitmodel in voor elke LlamaIndex-constructie. In het volgende voorbeeld ziet u hoe u een specifiek model instelt:
from llama_index.core.evaluation import RelevancyEvaluator
relevancy_evaluator = RelevancyEvaluator(llm=llm)
Wat dit doet: Hiermee maakt u een relevantie-evaluator die gebruikmaakt van uw aangepaste LLM-client voor het evalueren van de resultaten van het ophalen. Hiermee kunt u verschillende modellen gebruiken voor verschillende taken (bijvoorbeeld een specifiek model voor evaluatie versus algemene chat).
Verwijzingen:
Over het algemeen gebruikt u een combinatie van beide strategieën.