Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użyj pakietu langchain-azure-ai jako punktu wejścia do tworzenia aplikacji LangChain i LangGraph z funkcjami Microsoft Foundry. Ten artykuł zawiera ogólną mapę pakietu, dzięki czemu można szybko rozpocząć pracę, a następnie przejść do odpowiedniej dokumentacji szczegółowej dla każdej możliwości.
Wymagania wstępne
Subskrypcja Azure. Utwórz je bezpłatnie.
Rola Użytkownika usługi Foundry w projekcie Foundry (rola z najmniejszymi uprawnieniami dla programu
Important
Niedawno zmieniono nazwy ról RBAC w usłudze Foundry. Użytkownik Foundry, właściciel Foundry, właściciel konta Foundry i menedżer projektu Foundry były wcześniej nazywane odpowiednio użytkownikiem Azure AI, właścicielem Azure AI, właścicielem konta Azure AI i menedżerem projektu Azure AI. Poprzednie nazwy mogą być nadal widoczne w niektórych miejscach, podczas gdy zmiana nazwy jest wdrażana. Identyfikatory ról i uprawnienia podstawowe są niezmienione przez zmianę nazwy.
rozwój). Jeśli tworzysz również zasoby lub zarządzasz nimi, w razie potrzeby użyj opcji Współautor lub Właściciel . Aby uzyskać szczegółowe informacje, zobacz Kontrola dostępu oparta na rolach dla Microsoft Foundry.
Python 3.10 lub nowsza.
Azure CLI jest zalogowane (
az login), więcDefaultAzureCredentialmoże się uwierzytelnić.
Wskazówka
W tym artykule wspomniano o obsłudze Microsoft Foundry (nowy), która używa wersji azure-ai-projects>=2.0.
Jeśli używasz klasycznego rozwiązania Foundry, użyj langchain-azure-ai[v1] zamiast tego.
Instalowanie pakietu
Zainstaluj pakiet podstawowy:
pip install -U langchain-azure-ai azure-identity
Zainstaluj opcjonalne dodatki w zależności od scenariusza:
pip install -U "langchain-azure-ai[tools]"
pip install -U "langchain-azure-ai[opentelemetry]"
- Użyj
[tools], jeśli aplikacja używa narzędzi z przestrzeni nazwlangchain_azure_ai.tools.*, takich jak Inteligencja Dokumentów. - Użyj
[opentelemetry], jeśli chcesz integrację śledzenia przez OpenTelemetry.
Wybieranie bloków konstrukcyjnych integracji
Użyj tej mapy, aby wybrać odpowiednią przestrzeń nazw dla rozwiązania:
| Możliwości | Przestrzeń nazw | Typowe użycie |
|---|---|---|
| Usługa agenta programu Foundry | langchain_azure_ai.agents |
Tworzenie zarządzanych węzłów agenta w celu utworzenia złożonego grafu i przepływów dla langgraph i langchain. Zobacz szczegółowe przykłady. |
| Hosting LangGraph | langchain_azure_ai.agents.hosting |
Hostuj skompilowane agenty LangGraph w Foundry Agent Service za pomocą protokołów Responses lub Invocations. Zobacz szczegółowe przykłady. |
| Bezpieczeństwo zawartości w usłudze Foundry | langchain_azure_ai.agents.middleware |
Użyj opcji Bezpieczeństwo i moderowanie zawartości usługi Foundry, aby upewnić się, że możesz wdrożyć rozwiązanie z odpowiednimi zabezpieczeniami. Zobacz szczegółowe przykłady. |
| Modele rozmów | langchain_azure_ai.chat_models |
Wywołaj modele czatu Azure OpenAI i katalog modeli. Zobacz szczegółowe przykłady. |
| Osadzanie | langchain_azure_ai.embeddings |
Wywoływanie modeli osadzania z wykazu i generowanie wektorów dla przepływów pracy wyszukiwania, pobierania i klasyfikowania. Zobacz szczegółowe przykłady. |
| Magazyny wektorów | langchain_azure_ai.vectorstores |
Użyj integracji Wyszukiwanie AI platformy Azure i wektorów usługi Cosmos DB. |
| Retrievery | langchain_azure_ai.retrievers |
Uruchom pobieranie dla indeksów i magazynów wspieranych przez Azure. |
| Magazyny historii czatów | langchain_azure_ai.chat_history |
Zachowaj i odtwarzaj historię czatu w różnych sesjach. Użyj historii opartych na pamięci, aby pobrać skonsolidowaną historię przekazu czatu. Zobacz szczegółowe przykłady. |
| Narzędzia | langchain_azure_ai.tools |
Dodaj narzędzia, takie jak Document Intelligence, Vision, analiza tekstu medycznego i Logic Apps, lub cały zestaw narzędzi projektu. Zobacz szczegółowe przykłady |
| Przybornik odlewniczy | langchain_azure_ai.tools |
Załaduj zarządzane narzędzia i umiejętności z przybornika foundry za pośrednictwem pojedynczego punktu końcowego MCP. Zobacz szczegółowe przykłady. |
| Wywołania zwrotne i śledzenie | langchain_azure_ai.callbacks |
Przechwyć zdarzenia uruchomienia i emituj ślady OpenTelemetry. Zobacz szczegółowe przykłady. |
| Konstruktory zapytań | langchain_azure_ai.query_constructors |
Tworzenie filtrów zapytań specyficznych dla back-end dla scenariuszy pobierania. |
Aby uzyskać szczegółowe instrukcje, zobacz sekcję Informacje o poszczególnych możliwościach .
Nawiązywanie połączenia z punktami końcowymi i poświadczeniami projektu
Wiele langchain-azure-ai klas obsługuje nawiązywanie połączenia za pośrednictwem punktu końcowego projektu Foundry. Ustaw AZURE_AI_PROJECT_ENDPOINT raz, a następnie użyj go ponownie w obsługiwanych klasach.
export AZURE_AI_PROJECT_ENDPOINT="https://<resource>.services.ai.azure.com/api/projects/<project>"
W przypadku korzystania z project_endpoint, do uwierzytelniania wykorzystuje się Microsoft Entra ID i Azure RBAC w projekcie.
Klucze interfejsu API są przeznaczone dla bezpośrednich punktów końcowych usługi, takich jak /openai/v1.
export OPENAI_BASE_URL="https://<resource>.services.ai.azure.com/openai/v1"
export OPENAI_API_KEY="<your-key>"
Przykład: Korzystanie z modeli odlewniczych
Po skonfigurowaniu zmiennych środowiskowych można użyć modelu według:
from langchain.chat_models import init_chat_model
model = init_chat_model("azure_ai:gpt-5.2")
Można również skonfigurować klientów specjalnie. Na przykład zobaczmy AzureAIOpenAIApiChatModel jako reprezentatywny wzorzec:
import os
from azure.identity import AzureCliCredential, DefaultAzureCredential
from langchain_azure_ai.chat_models import AzureAIOpenAIApiChatModel
# Option A: Use a Foundry project endpoint (Microsoft Entra ID required).
model_from_project = AzureAIOpenAIApiChatModel(
project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
credential=DefaultAzureCredential(),
model="gpt-5.2",
)
# Option B: Use a service endpoint directly with an API key.
model_from_endpoint = AzureAIOpenAIApiChatModel(
endpoint=os.environ["OPENAI_BASE_URL"],
credential=os.environ["OPENAI_API_KEY"],
model="gpt-5.2",
)
# Option C: Use a different credential strategy.
model_with_cli_credential = AzureAIOpenAIApiChatModel(
endpoint=os.environ["OPENAI_BASE_URL"],
credential=AzureCliCredential(),
model="gpt-5.2",
)
Co robi ten fragment kodu: Przedstawia ten sam model zainicjowany z punktu końcowego projektu Foundry lub z bezpośredniego punktu końcowego usługi i pokazuje sposób zamiany poświadczeń.
Możesz zastosować ten sam wzorzec do narzędzi. Na przykład, jeśli AzureAIDocumentIntelligenceTool jest ustawione, można używać punktu końcowego projektu oraz DefaultAzureCredential bez dodatkowej konfiguracji.
from langchain_azure_ai.tools import AzureAIDocumentIntelligenceTool
document_tool = AzureAIDocumentIntelligenceTool()
Jak DefaultAzureCredential to działa
DefaultAzureCredential próbuje kilku źródeł poświadczeń Microsoft Entra ID w ustalonej kolejności i używa pierwszego, które działa. Typowe źródła to zmienne środowiskowe, tożsamość zarządzana, narzędzia deweloperskie i Azure CLI.
Użyj DefaultAzureCredential jako wartości domyślnej dla lokalnego rozwoju oraz wdrożonych obciążeń. Jeśli potrzebujesz bardziej rygorystycznej kontroli, zastąp je określonymi poświadczeniami, takimi jak AzureCliCredential na potrzeby programowania tylko lokalnego lub ManagedIdentityCredential dla obciążeń produkcyjnych w Azure.
Ten sam wzorzec punktu końcowego projektu jest również używany przez inne klasy.
Poznaj szczegółowo każdą możliwość
Zacznij od tych przewodników w tym zestawie dokumentacji:
- Użycie modeli Foundry z bibliotekami LangChain i LangGraph
- Użyj pośredniczącego oprogramowania Foundry Content Safety
- Używaj usługi agenta Foundry z LangGraph
- Korzystanie z przybornika Foundry za pomocą biblioteki LangChain
- Hostowanie agentów LangGraph jako agentów hostowanych w usłudze Foundry
- Używaj Foundry Memory z bibliotekami LangChain i LangGraph
- Użyj Foundry Observability do śledzenia aplikacji
Użyj tych zasobów pakietu, aby uzyskać szczegółowe informacje i aktualizacje na poziomie modułu: