Sdílet prostřednictvím


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.

Snímek obrazovky znázorňující rozhraní webové aplikace

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í:
    1. 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.

      Snímek obrazovky s podoknem ověřování na webu Azure Portal

    2. 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.

  1. Na webu Azure Portal vyhledejte a vyberte stránku App Services.
  2. Vyberte webovou aplikaci, kterou jste právě nasadili.
  3. V levé nabídce aplikace vyberte Proměnné prostředí nastavení > .
  4. Pokud chcete upravit existující proměnnou prostředí, klikněte na její název.
  5. Pokud chcete přidat jednu novou proměnnou prostředí, klikněte na Přidat v horním řádku nabídek panelu.
  6. 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ý pod UI_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.

Snímek obrazovky se zaškrtávacím políčkam pro povolení historie chatu v Azure OpenAI nebo Azure AI Foundry

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
  • 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
  • AZURE_COSMOSDB_ACCOUNT: Toto je název účtu služby Cosmos DB, který se nasadí společně s vaší webovou aplikací.
    • Datový typ: text

Snímek obrazovky s historií chatu ve webové aplikaci

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).
  • 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í.
  • 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-defaultje .
  • 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 5hodnotu .
  • 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 Truehodnotu .
  • 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,
  • 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,
  • 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,
  • 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,
  • 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,
  • AZURE_SEARCH_QUERY_TYPE: Určuje typ dotazu, který se má použít: simple, semantic, vector, vectorSimpleHybridnebo vectorSemanticHybrid. Toto nastavení má přednost před AZURE_SEARCH_USE_SEMANTIC_SEARCH.
    • Datový typ: text, doporučujeme testovat pomocí vectorSemanticHybrid.
  • 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 a 5, s doporučeným 3 .
  • 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).

  1. 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"
}
  1. 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 analyzuje reply 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 na False 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
  • USE_PROMPTFLOW: Určuje, jestli se má použít existující nasazený koncový bod toku výzvy. Pokud je nastavená hodnota True, musí být nastavena a PROMPTFLOW_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.
  • 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
  • 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 120hodnotu .
  • 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ámci promptflow_request funkce.
    • Datový typ: text, měl by být nastaven na query.
  • 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.
  • 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.

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:appspuš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ů:

  1. Přejděte na webovou aplikaci na webu Azure Portal.

  2. V nabídce vlevo v části Nasazení vyberte Deployment Center(Centrum nasazení).

  3. V horní části podokna vyberte Synchronizovat a potvrďte, že se aplikace znovu nasadí.

    Snímek obrazovky s tlačítkem synchronizace webové aplikace na webu Azure Portal

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.

Snímek obrazovky znázorňující konfiguraci identity aplikace na webu Azure Portal

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_KEYprostř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říklad https://<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.