Použití webové aplikace Azure OpenAI
Spolu s portálem Azure AI Foundry, rozhraními API a sadami SDK můžete použít přizpůsobitelnou samostatnou webovou aplikaci k interakci s modely Azure OpenAI pomocí grafického uživatelského rozhraní. Mezi klíčové funkce patří:
- Připojení k více zdrojům dat pro podporu bohatého dotazování a načítání rozšířené generace, včetně azure AI Search, toku výzvy a dalších.
- Historie konverzací a shromažďování názorů uživatelů prostřednictvím služby Cosmos DB
- Ověřování pomocí řízení přístupu na základě role přes Microsoft Entra ID.
- Přizpůsobení uživatelského rozhraní, zdrojů dat a funkcí pomocí proměnných prostředí (bez kódu prostřednictvím webu Azure Portal)
- Ukázkový zdrojový kód pro webovou aplikaci je k dispozici na GitHubu. Zdrojový kód je poskytován jako "tak, jak je" a pouze jako ukázka. Zákazníci zodpovídají za veškeré přizpůsobení a implementaci svých webových aplikací.
Aplikaci můžete nasadit přes portál Azure AI Foundry, Azure Portal nebo Azure Developer CLI přes místní počítač (pokyny najdete tady v úložišti). V závislosti na kanálu nasazení můžete předem načíst zdroj dat a chatovat s webovou aplikací, ale po nasazení to můžete změnit.
Pro začátečníky Azure OpenAI, kteří chtějí chatovat s daty prostřednictvím webové aplikace, je portál Azure AI Foundry doporučeným prostředkem pro počáteční nasazení a konfiguraci zdroje dat.
Důležitá poznámka
- Tato webová aplikace a mnoho jejích funkcí je ve verzi Preview, což znamená, že se můžou objevit chyby a ne všechny funkce mohou být dokončené. Pokud zjistíte chybu nebo potřebujete pomoc, vytvořte problém v přidruženém úložišti GitHub.
- Publikování webové aplikace vytvoří ve vašem předplatném instanci služby Aplikace Azure Service. V závislosti na cenovém plánu, který vyberete, se můžou v závislosti na vybraném cenovém plánu vyžadovat náklady. Až budete s aplikací hotovi, můžete ji odstranit a všechny přidružené prostředky z webu Azure Portal.
- GPT-4 Turbo s modely Vision se v současné době nepodporují.
- Ve výchozím nastavení se aplikace nasadí se zprostředkovatelem identity Microsoftu, který už je nakonfigurovaný. Zprostředkovatel identity omezuje přístup k aplikaci na členy vašeho tenanta Azure. Přidání nebo úprava ověřování:
Přejděte na web Azure Portal a vyhledejte název aplikace, který jste zadali během publikování. Vyberte webovou aplikaci a v nabídce vlevo vyberte Ověřování . Pak vyberte Přidat zprostředkovatele identity.
Jako zprostředkovatele identity vyberte Microsoft. Výchozí nastavení na této stránce omezuje aplikaci jenom na vašeho tenanta, takže tady nemusíte měnit nic jiného. Vyberte Přidat.
Teď se uživatelům zobrazí výzva, aby se přihlásili pomocí svého účtu Microsoft Entra pro přístup k vaší aplikaci. Pokud chcete, můžete postupovat podle podobného postupu a přidat dalšího zprostředkovatele identity. Aplikace nepoužívá přihlašovací údaje uživatele jiným způsobem než ověřením, že je uživatel členem vašeho tenanta. Další informace o správě ověřování najdete v tomto rychlém startu pro ověřování webových aplikací ve službě Aplikace Azure Service.
Přizpůsobení aplikace pomocí proměnných prostředí
Logiku front-endu a back-endu aplikace můžete přizpůsobit. Aplikace poskytuje několik proměnných prostředí pro běžné scénáře přizpůsobení, jako je změna ikony v aplikaci.
Tyto proměnné prostředí je možné upravit prostřednictvím webu Azure Portal po nasazení webové aplikace.
- Na webu Azure Portal vyhledejte a vyberte stránku App Services.
- Vyberte webovou aplikaci, kterou jste právě nasadili.
- V levé nabídce aplikace vyberte Proměnné prostředí nastavení > .
- Pokud chcete upravit existující proměnnou prostředí, klikněte na její název.
- Pokud chcete přidat jednu novou proměnnou prostředí, klikněte na Přidat v horním řádku nabídek panelu.
- Pokud chcete ke správě proměnných prostředí použít editor založený na formátu JSON, klikněte na Upřesnit úpravy.
Při přizpůsobení aplikace doporučujeme:
Jasně komunikují o tom, jak každé implementující nastavení ovlivňuje uživatelské prostředí.
Aktualizace nastavení aplikace pro každou nasazenou aplikaci tak, aby po obměně klíčů pro prostředek Azure OpenAI nebo Azure AI Search používala nové klíče rozhraní API.
Úprava uživatelského rozhraní aplikace
Proměnné prostředí relevantní pro přizpůsobení uživatelského rozhraní jsou:
UI_CHAT_DESCRIPTION
: Toto je menší text odstavce zobrazený podUI_CHAT_TITLE
středem stránky při načítání.- Datový typ: text
UI_CHAT_LOGO
: Toto je velký obrázek zobrazený uprostřed stránky při načítání.- Datový typ: Adresa URL obrázku
UI_CHAT_TITLE
: Toto je velký text zobrazený uprostřed stránky při načítání.- Datový typ: text
UI_FAVICON
: Toto je favicon zobrazený na okně nebo kartě prohlížeče.- Datový typ: Adresa URL obrázku
UI_LOGO
: Toto je logo, které se zobrazí v levém horním rohu stránky a vlevo od názvu.- Datový typ: Adresa URL obrázku
UI_TITLE
: Toto je název zobrazený v okně nebo kartě prohlížeče. Zobrazí se také v levém horním rohu stránky logem.- Datový typ: text
UI_SHOW_SHARE_BUTTON
: Toto tlačítko se zobrazí v pravém horním rohu stránky a umožňuje uživatelům sdílet odkaz na adresu URL webové aplikace.- Datový typ: Logická hodnota, musí zadat hodnotu Pravda nebo Nepravda, pokud je hodnota True prázdná nebo nezadaná.
UI_SHOW_CHAT_HISTORY_BUTTON
: Zobrazí se v pravém horním rohu stránky a vlevo od UI_SHOW_SHARE_BUTTON.- Datový typ: Logická hodnota, musí zadat hodnotu Pravda nebo Nepravda, pokud je hodnota True prázdná nebo nezadaná.
Pokud chcete upravit uživatelské rozhraní aplikace, postupujte podle pokynů v předchozím kroku a otevřete stránku proměnných prostředí pro vaši webovou aplikaci. Pak pomocí rozšířených úprav otevřete editor založený na formátu JSON. V horní části kódu JSON (za znakem [
) vložte následující blok kódu a odpovídajícím způsobem upravte hodnoty:
{
"name": "UI_CHAT_DESCRIPTION",
"value": "This is an example of a UI Chat Description. Chatbots can make mistakes. Check important info and sensitive info.",
"slotSetting": false
},
{
"name": "UI_CHAT_LOGO",
"value": "https://learn-bot.azurewebsites.net/assets/Contoso-ff70ad88.svg",
"slotSetting": false
},
{
"name": "UI_CHAT_TITLE",
"value": "This is an example of a UI Chat Title. Start chatting",
"slotSetting": false
},
{
"name": "UI_FAVICON",
"value": "https://learn-bot.azurewebsites.net/assets/Contoso-ff70ad88.svg",
"slotSetting": false
},
{
"name": "UI_LOGO",
"value": "https://learn-bot.azurewebsites.net/assets/Contoso-ff70ad88.svg",
"slotSetting": false
},
{
"name": "UI_TITLE",
"value": "This is an example of a UI Title",
"slotSetting": false
},
Povolení historie chatu pomocí služby Cosmos DB
Historii chatu můžete zapnout pro uživatele webové aplikace. Když tuto funkci zapnete, uživatelé mají přístup ke svým jednotlivým předchozím dotazům a odpovědím.
Pokud chcete zapnout historii chatu, nasaďte nebo znovu nasaďte model jako webovou aplikaci pomocí portálu Azure AI Foundry a vyberte Povolit historii chatu a zpětnou vazbu uživatelů ve webové aplikaci.
Důležité
Zapnutí historie chatu vytvoří instanci služby Azure Cosmos DB ve vaší skupině prostředků a za úložiště, které používáte nad rámec všech úrovní Free, se účtují další poplatky .
Po zapnutí historie chatu ho uživatelé můžou zobrazit a skrýt v pravém horním rohu aplikace. Když uživatelé zobrazují historii chatu, můžou konverzace přejmenovat nebo odstranit. Můžete upravit, zda uživatelé mají přístup k této funkci pomocí proměnné UI_SHOW_CHAT_HISTORY_BUTTON
prostředí, jak je uvedeno v předchozí části. Vzhledem k tomu, že jsou uživatelé přihlášení k aplikaci, konverzace se automaticky řadí od nejnovějších po nejstarší. Konverzace jsou pojmenované na základě prvního dotazu v konverzaci.
Poznámka:
Oblíbené oblasti Azure, jako je USA – východ, můžou mít období vysoké poptávky, kdy nemusí být možné nasadit novou instanci cosmos DB. V takovém případě se rozhodnete nasadit do alternativní oblasti, jako je USA – východ 2, nebo zopakujte nasazení, dokud nebude úspěšné. Pokud nasazení služby Cosmos DB selže, bude vaše aplikace dostupná na zadané adrese URL, ale historie chatu nebude dostupná. Povolení historie konverzací také povolí tlačítko zobrazit historii konverzací v pravém horním rohu.
Nasazení s vybranou možností historie chatu automaticky naplní následující proměnné prostředí, takže není nutné je upravovat, pokud nechcete přepnout instance Cosmos DB. Mezi ně patří:
AZURE_COSMOSDB_ACCOUNT
: Toto je název účtu služby Cosmos DB, který se nasadí společně s vaší webovou aplikací.- Datový typ: text
AZURE_COSMOSDB_ACCOUNT_KEY
: Jedná se o alternativní proměnnou prostředí, která se používá pouze v případě, že nejsou udělena oprávnění prostřednictvím ID Microsoft Entra a ověřování založené na klíčích.- Datový typ: text. Obvykle není k dispozici nebo vyplněno.
AZURE_COSMOSDB_DATABASE
: Toto je název databázového objektu ve službě Cosmos DB, který se nasadí společně s vaší webovou aplikací.- Datový typ: text, měl by být
db_conversation_history
- Datový typ: text, měl by být
AZURE_COSMOSDB_CONTAINER
: Toto je název objektu kontejneru databáze ve službě Cosmos DB, který je nasazen společně s vaší webovou aplikací.- Datový typ: text, měl by být
conversations
- Datový typ: text, měl by být
AZURE_COSMOSDB_ACCOUNT
: Toto je název účtu služby Cosmos DB, který se nasadí společně s vaší webovou aplikací.- Datový typ: text
Shromažďování názorů uživatelů
Pokud chcete shromáždit zpětnou vazbu od uživatelů, můžete povolit sadu ikon "palce nahoru" a "palce dolů", které se zobrazí u každé odpovědi chatbota. To uživatelům umožní vyhodnotit kvalitu odpovědi a určit, kde při modálním okně poskytnout negativní zpětnou vazbu dojde k chybám.
Pokud chcete tuto funkci povolit, nastavte následující proměnnou prostředí na hodnotu True:
AZURE_COSMOSDB_ENABLE_FEEDBACK
: Toto je název účtu služby Cosmos DB, který se nasadí společně s vaší webovou aplikací.- Datový typ: Datový typ: Logická hodnota, musí zadat hodnotu True nebo False.
Toho lze dosáhnout pomocí rozšířených možností úprav nebo jednoduchých úprav, jak bylo vysvětleno dříve. Kód JSON, který chcete vložit do editoru JSON pro pokročilé úpravy, je:
{
"name": "AZURE_COSMOSDB_ENABLE_FEEDBACK",
"value": "True",
"slotSetting": false
},
Připojení ke službě Azure AI Search a nahrání souborů jako zdroje dat
Použití portálu Azure AI Foundry
Postupujte podle tohoto kurzu integrace služby Azure AI Search s Azure AI Foundry nebo rychlým startem a znovu nasaďte aplikaci.
Použití proměnných prostředí
Pokud se chcete připojit ke službě Azure AI Search bez opětovného nasazení aplikace, můžete pomocí některé z možností úprav upravit následující povinné proměnné prostředí, jak jsme popsali dříve.
DATASOURCE_TYPE
: Určuje, který zdroj dat se má použít při odpovídání na dotazy uživatele.- Datový typ: text. Mělo by být nastavené na
AzureCognitiveSearch
(dřívější název služby Azure AI Search).
- Datový typ: text. Mělo by být nastavené na
AZURE_SEARCH_SERVICE
: Toto je název vaší instance služby Azure AI Search.- Datový typ: text
AZURE_SEARCH_INDEX
: Toto je název indexu vaší instance Azure AI Search.- Datový typ: text
AZURE_SEARCH_KEY
: Toto je ověřovací klíč vaší instance služby Azure AI Search. Volitelné, pokud pro ověřování používáte doporučené ID Microsoft Entra.- Datový typ: text
Další scénáře přizpůsobení s využitím proměnných prostředí
AZURE_SEARCH_USE_SEMANTIC_SEARCH
: Určuje, jestli se má použít sémantické vyhledávání ve službě Azure AI Search.- Datový typ: logická hodnota, by měla být nastavena na
False
, pokud nepoužíváte sémantické vyhledávání.
- Datový typ: logická hodnota, by měla být nastavena na
AZURE_SEARCH_SEMANTIC_SEARCH_CONFIG
: Určuje název sémantické konfigurace vyhledávání, která se má použít, pokud je povolené sémantické vyhledávání.- Datový typ: text, výchozí hodnota
azureml-default
je .
- Datový typ: text, výchozí hodnota
AZURE_SEARCH_INDEX_TOP_K
: Definuje počet hlavních dokumentů, které se mají načíst z Azure AI Search.- Datový typ: celé číslo by mělo být nastaveno na
5
hodnotu .
- Datový typ: celé číslo by mělo být nastaveno na
AZURE_SEARCH_ENABLE_IN_DOMAIN
: Omezuje odpovědi na dotazy související pouze s vašimi daty.- Datový typ: logická hodnota, měla by být nastavena na
True
hodnotu .
- Datový typ: logická hodnota, měla by být nastavena na
AZURE_SEARCH_CONTENT_COLUMNS
: Určuje seznam polí v indexu Azure AI Search, který obsahuje textový obsah dokumentů, který se používá při formulaci odpovědi robota.- Datový typ: text, výchozí hodnota
content
je, pokud je nasazená z portálu Azure AI Foundry,
- Datový typ: text, výchozí hodnota
AZURE_SEARCH_FILENAME_COLUMN
: Určuje pole z indexu Azure AI Search, které poskytuje jedinečný identifikátor zdrojových dat, která se mají zobrazit v uživatelském rozhraní.- Datový typ: text, výchozí hodnota
filepath
je, pokud je nasazená z portálu Azure AI Foundry,
- Datový typ: text, výchozí hodnota
AZURE_SEARCH_TITLE_COLUMN
: Určuje pole z indexu Azure AI Search, které poskytuje relevantní název nebo záhlaví pro obsah dat, které se má zobrazit v uživatelském rozhraní.- Datový typ: text, výchozí hodnota
title
je, pokud je nasazená z portálu Azure AI Foundry,
- Datový typ: text, výchozí hodnota
AZURE_SEARCH_URL_COLUMN
: Určuje pole z indexu Azure AI Search, které obsahuje adresu URL dokumentu.- Datový typ: text, výchozí hodnota
url
je, pokud je nasazená z portálu Azure AI Foundry,
- Datový typ: text, výchozí hodnota
AZURE_SEARCH_VECTOR_COLUMNS
: Určuje seznam polí v indexu Azure AI Search, který obsahuje vektorové vkládání dokumentů, které se používají při formulaci odpovědi robota.- Datový typ: text, výchozí hodnota
contentVector
je, pokud je nasazená z portálu Azure AI Foundry,
- Datový typ: text, výchozí hodnota
AZURE_SEARCH_QUERY_TYPE
: Určuje typ dotazu, který se má použít:simple
,semantic
,vector
,vectorSimpleHybrid
nebovectorSemanticHybrid
. Toto nastavení má přednost předAZURE_SEARCH_USE_SEMANTIC_SEARCH
.- Datový typ: text, doporučujeme testovat pomocí
vectorSemanticHybrid
.
- Datový typ: text, doporučujeme testovat pomocí
AZURE_SEARCH_PERMITTED_GROUPS_COLUMN
: Určuje pole z indexu Azure AI Search, které obsahuje ID skupin Microsoft Entra, a určuje řízení přístupu na úrovni dokumentu.- Datový typ: text
AZURE_SEARCH_STRICTNESS
: Určuje úroveň striktnosti modelu, který omezuje odpovědi na vaše data.- Datový typ: celé číslo by mělo být nastaveno mezi
1
a5
, s doporučeným3
.
- Datový typ: celé číslo by mělo být nastaveno mezi
AZURE_OPENAI_EMBEDDING_NAME
: Určuje název nasazení modelu vložení, pokud používáte vektorové vyhledávání.- Datový typ: text
Kód JSON, který chcete vložit do editoru JSON pro pokročilé úpravy, je:
{
"name": "AZURE_SEARCH_CONTENT_COLUMNS",
"value": "",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_ENABLE_IN_DOMAIN",
"value": "true",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_FILENAME_COLUMN",
"value": "",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_INDEX",
"value": "",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_KEY",
"value": "",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_PERMITTED_GROUPS_COLUMN",
"value": "",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_QUERY_TYPE",
"value": "vectorSemanticHybrid",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_SEMANTIC_SEARCH_CONFIG",
"value": "azureml-default",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_SERVICE",
"value": "",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_STRICTNESS",
"value": "3",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_TITLE_COLUMN",
"value": "",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_TOP_K",
"value": "5",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_URL_COLUMN",
"value": "",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_USE_SEMANTIC_SEARCH",
"value": "true",
"slotSetting": false
},
{
"name": "AZURE_SEARCH_VECTOR_COLUMNS",
"value": "contentVector",
"slotSetting": false
},
Připojení k toku výzvy jako zdroje dat
Toky výzvy umožňují definovat vysoce přizpůsobitelnou logiku RAG a zpracování v dotazech uživatele.
Vytvoření a nasazení toku výzvy na portálu Azure AI Foundry
V tomto kurzu vytvoříte, otestujete a nasadíte koncový bod odvozování pro tok výzvy na portálu Azure AI Foundry.
Povolení podkladových citací z toku výzvy
Při konfiguraci toku výzvy k zobrazení citací při integraci této webové aplikace musí vrátit dva klíčové výstupy: jeden volaný documents
(vaše citace) a jeden volaný reply
(odpověď v přirozeném jazyce).
documents
je objekt JSON, který by měl obsahovat následující prvky.citations
je seznam, který může obsahovat více položek za stejným schématem.documents
objekt by se měl vygenerovat a naplnit na základě vybraného vzoru RAG.
{
"citations": [
{
"content": "string",
"id": 12345,
"title": "string",
"filepath": "string",
"url": "string",
"metadata": "string",
"chunk_id": None,
"reindex_id": None,
"part_index": None
}
],
"intent": "Your_string_here"
}
reply
se skládá z vráceného řetězce, který představuje konečný přirozený jazyk pro daný uživatelský dotaz. Musíreply
obsahovat odkazy na každý z dokumentů (zdrojů) v následujícím formátu:[doc1], [doc2]
atd. Webová aplikace analyzujereply
a zpracuje odkazy a nahradí všechny instance malými číselnými indikátory horního[doc1]
indexu, které odkazují přímo na seřazenédocuments
vrácené hodnoty. Proto musíte vyzvat LLM, který vygeneruje konečný přirozený jazyk, aby zahrnoval tyto odkazy, které by se také měly předat ve volání LLM, aby se zajistilo správné zarovnání. Příklad:
system:
You are a helpful chat assistant that answers a user's question based on the information retrieved from a data source.
YOU MUST ALWAYS USE CITATIONS FOR ALL FACTUAL RESPONSES. YOU MUST INCLUDE CITATIONS IN YOUR ANSWER IN THE FORMAT [doc1], [doc2], ... AND SO FORTH WHEN YOU ARE USING INFORMATION RELATING TO SAID SOURCE. THIS MUST BE RETURNED IN YOUR ANSWER.
Provide sort and concise answers with details directly related to the query.
## Conversation history for context
{% for item in chat_history %}
user:
{{item.inputs.query}}
assistant:
{{item.outputs.reply}}
{% endfor %}
## Current question
user:
### HERE ARE SOME CITED SOURCE INFORMATION FROM A MOCKED API TO ASSIST WITH ANSWERING THE QUESTION BELOW. ANSWER ONLY BASED ON THE TRUTHS PRESENTED HERE.
{{your_input_name_for_documents}}
FOR EACH OF THE CITATIONS ABOVE, YOU MUST INCLUDE IN YOUR ANSWER [doc1], [doc2], ... AND SO FORTH WHEN YOU ARE USING INFORMATION RELATING TO SAID SOURCE. THIS MUST BE RETURNED IN YOUR ANSWER.
### HERE IS THE QUESTION TO ANSWER.
{{question}}
Konfigurace proměnných prostředí pro integraci toku výzvy
Proměnné prostředí, které se mají upravit, jsou:
AZURE_OPENAI_STREAM
: Určuje, zda je odpověď načtena ve formátu streamování (přírůstkové načítání). To není podporováno pro tok výzvy, a proto musí být nastaven naFalse
použití této funkce.- Datový typ: logická hodnota, pokud
True
nepoužíváte tok výzvy,False
pokud používáte tok výzvy
- Datový typ: logická hodnota, pokud
USE_PROMPTFLOW
: Určuje, jestli se má použít existující nasazený koncový bod toku výzvy. Pokud je nastavená hodnotaTrue
, musí být nastavena aPROMPTFLOW_ENDPOINT
PROMPTFLOW_API_KEY
musí být nastavena.- Datový typ: logická hodnota, by měla být nastavena na
False
, pokud nepoužíváte tok výzvy.
- Datový typ: logická hodnota, by měla být nastavena na
PROMPTFLOW_ENDPOINT
: Určuje adresu URL nasazeného koncového bodu toku výzvy.- Datový typ: například text
https://pf-deployment-name.region.inference.ml.azure.com/score
- Datový typ: například text
PROMPTFLOW_API_KEY
: Ověřovací klíč pro nasazený koncový bod toku výzvy. Poznámka: Podporuje se pouze ověřování založené na klíči.- Datový typ: text
PROMPTFLOW_RESPONSE_TIMEOUT
: Definuje hodnotu časového limitu v sekundách, aby koncový bod toku výzvy reagoval.- Datový typ: celé číslo by mělo být nastaveno na
120
hodnotu .
- Datový typ: celé číslo by mělo být nastaveno na
PROMPTFLOW_REQUEST_FIELD_NAME
: Výchozí název pole pro vytvoření požadavku na tok výzvy. Poznámka:chat_history
automaticky se vytvoří na základě interakce. Pokud vaše rozhraní API očekává další povinná pole, budete muset změnit parametry požadavku v rámcipromptflow_request
funkce.- Datový typ: text, měl by být nastaven na
query
.
- Datový typ: text, měl by být nastaven na
PROMPTFLOW_RESPONSE_FIELD_NAME
: Výchozí název pole pro zpracování odpovědi z požadavku na tok výzvy.- Datový typ: text, měl by být nastaven na
reply
.
- Datový typ: text, měl by být nastaven na
PROMPTFLOW_CITATIONS_FIELD_NAME
: Výchozí název pole pro zpracování výstupu citací z požadavku na tok výzvy.- Datový typ: text, měl by být nastaven na
documents
.
- Datový typ: text, měl by být nastaven na
Připojení k ostatním zdrojům dat
Podporují se i další zdroje dat, mezi které patří:
- Azure Cosmos DB
- Elasticsearch
- Azure SQL Server
- Pinecone
- Azure Machine Learning Index
Další pokyny k povolení těchto zdrojů dat najdete v úložišti GitHub.
Aktualizace webové aplikace tak, aby zahrnovala nejnovější změny
Poznámka:
Od 1. února 2024 vyžaduje webová aplikace, aby byla nastavena možnost python3 -m gunicorn app:app
spuštění aplikace . Když aktualizujete aplikaci publikovanou před 1. únorem 2024, musíte ručně přidat spouštěcí příkaz ze stránky Konfigurace služby App Service.
Doporučujeme často stahovat změny z main
větve zdrojového kódu webové aplikace, abyste měli jistotu, že máte nejnovější opravy chyb, verzi rozhraní API a vylepšení. Webová aplikace se navíc musí synchronizovat při každém vyřazení verze rozhraní API, kterou používáte. Zvažte výběr tlačítka Kukátek nebo Hvězdička v úložišti GitHub webové aplikace, abyste dostávali oznámení o změnách a aktualizacích zdrojového kódu.
Pokud jste webovou aplikaci nepřizpůsobili, můžete ji synchronizovat pomocí těchto kroků:
Přejděte na webovou aplikaci na webu Azure Portal.
V nabídce vlevo v části Nasazení vyberte Deployment Center(Centrum nasazení).
V horní části podokna vyberte Synchronizovat a potvrďte, že se aplikace znovu nasadí.
Pokud jste přizpůsobili nebo změnili zdrojový kód aplikace, musíte zdrojový kód aplikace aktualizovat ručně a znovu ho nasadit:
- Pokud je vaše aplikace hostovaná na GitHubu, nasdílejte změny kódu do úložiště a pak použijte předchozí kroky synchronizace.
- Pokud aplikaci nasazujete ručně (například pomocí Azure CLI), postupujte podle pokynů pro vaši strategii nasazení.
Odstranění instance Cosmos DB
Odstraněním webové aplikace se instance Cosmos DB neodstraní automaticky. Pokud chcete odstranit instanci Cosmos DB společně se všemi uloženými chaty, musíte přejít na přidružený prostředek na webu Azure Portal a odstranit ji. Pokud odstraníte prostředek Cosmos DB, ale ponecháte možnost historie chatu vybranou pro následné aktualizace z portálu Azure AI Foundry, aplikace upozorní uživatele na chybu připojení. Uživatel ale může webovou aplikaci dál používat bez přístupu k historii chatu.
Povolení ověřování Microsoft Entra ID mezi službami
Pokud chcete povolit ID Microsoft Entra pro ověřování uvnitř služby pro vaši webovou aplikaci, postupujte takto.
Povolení spravované identity v prostředku Azure OpenAI a službě Aplikace Azure Service
Spravovanou identitu pro prostředek Azure OpenAI a službu Aplikace Azure Můžete povolit tak, že přejdete na Identitu a zapnete spravovanou identitu přiřazenou systémem na webu Azure Portal pro každý prostředek.
Poznámka:
Pokud používáte model vkládání nasazený do stejného prostředku, který se používá k odvozování, stačí povolit spravovanou identitu jenom na jednom prostředku Azure OpenAI. Pokud používáte model vložení nasazený do jiného prostředku než ten, který se používá k odvozování, musíte také povolit spravovanou identitu na prostředku Azure OpenAI, který se používá k nasazení modelu vkládání.
Povolení řízení přístupu na základě role (RBAC) u prostředku služby Azure Search (volitelné)
Pokud ve službě Azure Search používáte data, měli byste postupovat podle tohoto kroku.
Pokud chcete prostředku Azure OpenAI povolit přístup k prostředku Azure Search, musíte u prostředku Azure Search povolit řízení přístupu na základě role. Přečtěte si další informace o povolení rolí RBAC pro vaše prostředky.
Přiřazení rolí RBAC pro povolení komunikace uvnitř služby
Následující tabulka shrnuje přiřazení rolí RBAC potřebných pro všechny prostředky Azure přidružené k vaší aplikaci.
Role | Pověřená osoba | Prostředek |
---|---|---|
Search Index Data Reader |
Azure OpenAI (odvozovat) | Azure AI Vyhledávač |
Search Service Contributor |
Azure OpenAI (odvozovat) | Azure AI Vyhledávač |
Cognitive Services OpenAI User |
Webová aplikace | Azure OpenAI (odvozovat) |
Cognitive Services OpenAI User |
Azure OpenAI (odvozovat) | Azure OpenAI (vkládání) |
Pokud chcete přiřadit tyto role, postupujte podle těchto pokynů a vytvořte potřebná přiřazení rolí.
Změny nastavení aplikace
V nastavení webové aplikace přejděte na Proměnné prostředí a proveďte následující změny:
- Odeberte proměnnou
AZURE_OPENAI_KEY
prostředí, protože už ji nepotřebujete. - Pokud ve službě Azure Search používáte ověřování Microsoft Entra ID mezi Azure OpenAI a Azure Search, měli byste také odstranit
AZURE_SEARCH_KEY
proměnné prostředí pro přístupové klíče ke zdroji dat.
Pokud používáte vložený model nasazený do stejného prostředku jako model použitý k odvozování, nejsou potřeba žádné další změny nastavení.
Pokud ale používáte model vkládání nasazený do jiného prostředku, proveďte následující dodatečné změny proměnných prostředí vaší aplikace:
- Nastavte
AZURE_OPENAI_EMBEDDING_ENDPOINT
proměnnou na úplnou cestu rozhraní API pro vkládání pro prostředek, který používáte pro vkládání, napříkladhttps://<your Azure OpenAI Service resource name>.openai.azure.com/openai/deployments/<your embedding deployment name>/embeddings
- Odstraňte proměnnou
AZURE_OPENAI_EMBEDDING_KEY
, která bude používat ověřování Microsoft Entra ID.
Po dokončení všech změn proměnných prostředí restartujte webovou aplikaci, aby začala používat ověřování ID Microsoft Entra mezi službami ve webové aplikaci. Než se změny nastavení projeví, bude to několik minut trvat.