Aracılığıyla paylaş


Azure OpenAI web uygulamasını kullanma

Azure AI Studio, Azure OpenAI Studio, API'ler ve SDK'ların yanı sıra, grafik kullanıcı arabirimi kullanarak Azure OpenAI modelleriyle etkileşime geçmek için özelleştirilebilir tek başına web uygulamasını kullanabilirsiniz. Önemli özellikler şunlardır:

  • Azure AI Search, prompt Flow ve daha fazlası dahil olmak üzere zengin sorgulama ve alma artırılmış oluşturmayı desteklemek için birden çok veri kaynağıyla bağlantı.
  • Cosmos DB aracılığıyla konuşma geçmişi ve kullanıcı geri bildirimi toplama.
  • Microsoft Entra Id aracılığıyla rol tabanlı erişim denetimiyle kimlik doğrulaması.
  • Ortam değişkenlerini kullanarak kullanıcı arabirimini, veri kaynaklarını ve özellikleri özelleştirme (Azure portalı üzerinden kod yok).
  • Temel web uygulaması kaynak kodunu açık kaynak deposu olarak değiştirme desteği.

Uygulamayı Azure AI Studio veya Azure OpenAI Studio kullanarak ya da yerel makineniz aracılığıyla Azure portalı veya Azure Geliştirici CLI aracılığıyla el ile dağıtım yoluyla dağıtabilirsiniz (buradaki depoda sağlanan yönergeler). Dağıtım kanalınıza bağlı olarak, web uygulaması aracılığıyla sohbet etmek için bir veri kaynağını önceden yükleyebilirsiniz, ancak dağıtımdan sonra bu değiştirilebilir.

Web uygulaması aracılığıyla verileriyle sohbet etmek isteyen Azure OpenAI yeni başlayanlar için Azure AI Studio, ilk dağıtım ve veri kaynağı yapılandırması için önerilen ortamdır.

Web uygulaması arabirimini gösteren ekran görüntüsü.

Dikkat edilmesi gereken önemli hususlar

  • Bu web uygulaması ve özelliklerinin çoğu önizleme aşamasındadır; başka bir deyişle hatalar oluşabilir ve tüm özellikler tamamlanamaz. Bir hata bulursanız veya yardım gerekiyorsa, ilişkili GitHub deposunda bir sorun oluşturun.
  • Web uygulaması yayımlamak, aboneliğinizde bir Azure Uygulaması Hizmeti örneği oluşturur. Seçtiğiniz fiyatlandırma planına bağlı olarak maliyetler doğurabilir. Uygulamanızla işiniz bittiğinde azure portaldan uygulamayı ve ilişkili tüm kaynakları silebilirsiniz.
  • GpT-4 Görüntü İşlemeli Turbo modelleri şu anda desteklenmiyor.
  • Varsayılan olarak, uygulama zaten yapılandırılmış Microsoft kimlik sağlayıcısı ile dağıtılır. Kimlik sağlayıcısı, uygulamaya erişimi Azure kiracınızın üyeleriyle kısıtlar. Kimlik doğrulaması eklemek veya değiştirmek için:
    1. Azure portalına gidin ve yayımlama sırasında belirttiğiniz uygulama adını arayın. Web uygulamasını seçin ve ardından soldaki menüden Kimlik Doğrulaması'nı seçin. Ardından Kimlik sağlayıcısı ekle'yi seçin.

      Azure portalındaki kimlik doğrulama bölmesinin ekran görüntüsü.

    2. Kimlik sağlayıcısı olarak Microsoft'u seçin. Bu sayfadaki varsayılan ayarlar uygulamayı yalnızca kiracınızla kısıtlar, bu nedenle burada başka bir şey değiştirmeniz gerekmez. Ekle'yi seçin.

Artık kullanıcılardan uygulamanıza erişmek için Microsoft Entra hesaplarıyla oturum açmaları istenir. İsterseniz başka bir kimlik sağlayıcısı eklemek için benzer bir işlemi izleyebilirsiniz. Uygulama, kullanıcının oturum açma bilgilerini kullanıcının kiracınızın bir üyesi olduğunu doğrulama dışında hiçbir şekilde kullanmaz. Kimlik doğrulamasını yönetme hakkında daha fazla bilgi için, Azure Uygulaması Hizmeti'nde web uygulamaları için kimlik doğrulamasıyla ilgili bu hızlı başlangıcı görüntüleyin.

Ortam değişkenlerini kullanarak uygulamayı özelleştirme

Uygulamanın ön uç ve arka uç mantığını özelleştirebilirsiniz. Uygulama, uygulamadaki simgeyi değiştirme gibi yaygın özelleştirme senaryoları için çeşitli ortam değişkenleri sağlar.

Bu ortam değişkenleri, web uygulaması dağıtıldıktan sonra Azure portalı üzerinden değiştirilebilir.

  1. Azure portalında Uygulama Hizmetleri sayfasını arayın ve seçin.
  2. Az önce dağıttığınız web uygulamasını seçin.
  3. Uygulamanın sol menüsünde Ayarlar > Ortam değişkenleri'ni seçin.
  4. Var olan bir ortam değişkenini değiştirmek için adına tıklayın.
  5. Tek bir yeni ortam değişkeni eklemek için panelin üst menü çubuğunda Ekle'ye tıklayın.
  6. Ortam değişkenlerini yönetmek için JSON tabanlı düzenleyiciyi kullanmak için Gelişmiş düzenleme'ye tıklayın.

Uygulamayı özelleştirirken şunları öneririz:

  • Uyguladığınız her ayarın kullanıcı deneyimini nasıl etkilediğini net bir şekilde iletme.

  • Azure OpenAI veya Azure AI Search kaynağınızın anahtarlarını döndürdükten sonra dağıtılan uygulamalarınızın her birinin uygulama ayarlarını yeni API anahtarlarını kullanacak şekilde güncelleştirme.

Web uygulaması için örnek kaynak kodu GitHub'da kullanılabilir. Kaynak kodu "olduğu gibi" ve yalnızca örnek olarak sağlanır. Müşteriler web uygulamalarının tüm özelleştirme ve uygulamalarından sorumludur.

Uygulama kullanıcı arabirimini değiştirme

Kullanıcı arabirimi özelleştirmesi ile ilgili ortam değişkenleri şunlardır:

  • UI_CHAT_DESCRIPTION: Bu, yüklendikten sonra sayfanın ortasında gösterilen küçük paragraf metnidir UI_CHAT_TITLE .
    • Veri türü: metin
  • UI_CHAT_LOGO: Bu, yüklendikten sonra sayfanın ortasında gösterilen büyük resimdir.
    • Veri türü: Görüntünün URL'si
  • UI_CHAT_TITLE: Bu, yüklendikten sonra sayfanın ortasında gösterilen büyük metindir.
    • Veri türü: metin
  • UI_FAVICON: Bu, tarayıcı penceresinde/sekmesinde gösterilen favicon'dır.
    • Veri türü: Görüntünün URL'si
  • UI_LOGO: Bu logo, sayfanın sol üst kısmında ve başlığın solunda görünür.
    • Veri türü: Görüntünün URL'si
  • UI_TITLE: Bu, tarayıcı penceresinde/sekmesinde gösterilen başlıktır. Ayrıca sayfanın sol üst kısmında logoyla birlikte görünür.
    • Veri türü: metin
  • UI_SHOW_SHARE_BUTTON: Bu düğme sayfanın sağ üst kısmında görünür ve kullanıcıların web uygulamasına bağlanan bir URL'yi paylaşmasına olanak tanır.
    • Veri türü: Boole değeri, Doğru veya Yanlış girmelidir; boş bırakılırsa veya belirtilmezse varsayılan değer True olur.
  • UI_SHOW_CHAT_HISTORY_BUTTON: Bu, sayfanın sağ üst kısmında ve UI_SHOW_SHARE_BUTTON solunda görünür.
    • Veri türü: Boole değeri, Doğru veya Yanlış girmelidir; boş bırakılırsa veya belirtilmezse varsayılan değer True olur.

Uygulama kullanıcı arabirimini değiştirmek için önceki adımda yer alan yönergeleri izleyerek web uygulamanızın ortam değişkenleri sayfasını açın. Ardından JSON tabanlı düzenleyiciyi açmak için Gelişmiş düzenleme'yi kullanın. JSON'un en üstüne (karakterden [ sonra) aşağıdaki kod bloğunu yapıştırın ve değerleri uygun şekilde özelleştirin:

  {
    "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
  },

Cosmos DB kullanarak sohbet geçmişini etkinleştirme

Web uygulaması kullanıcılarınız için sohbet geçmişini açabilirsiniz. Özelliği açtığınızda, kullanıcılar kendi önceki sorgularına ve yanıtlarına erişebilir.

Sohbet geçmişini açmak için Azure OpenAI Studio veya Azure AI Studio kullanarak modelinizi web uygulaması olarak dağıtın veya yeniden dağıtın ve web uygulamasında Sohbet geçmişini ve kullanıcı geri bildirimini etkinleştir'i seçin.

Azure OpenAI veya Azure AI Studio'da sohbet geçmişini etkinleştirme onay kutusunun ekran görüntüsü.

Önemli

Sohbet geçmişini açmak kaynak grubunuzda bir Azure Cosmos DB örneği oluşturur ve ücretsiz katmanların ötesinde kullandığınız depolama alanı için ek ücretlendirilir .

Sohbet geçmişini etkinleştirdikten sonra kullanıcılarınız uygulamayı uygulamanın sağ üst köşesinde gösterebilir ve gizleyebilir. Kullanıcılar sohbet geçmişini gösterdiğinde konuşmaları yeniden adlandırabilir veya silebilir. Kullanıcıların önceki bölümde belirtildiği gibi ortam değişkenini UI_SHOW_CHAT_HISTORY_BUTTON kullanarak bu işleve erişip erişemeyeceğini değiştirebilirsiniz. Kullanıcılar uygulamada oturum açtığından, konuşmalar otomatik olarak en yeniden en eskiye doğru sıralanır. Konuşmalar, konuşmadaki ilk sorguya göre adlandırılır.

Not

Doğu ABD gibi popüler Azure bölgeleri, Cosmos DB'nin yeni bir örneğini dağıtmanın mümkün olmadığı yüksek talep dönemleri yaşayabilir. Bu durumda Doğu ABD 2 gibi alternatif bölgeye dağıtmayı veya başarılı olana kadar dağıtımınızı yeniden denemeyi tercih edin. Cosmos DB dağıtımı başarısız olursa uygulamanız belirtilen URL'de kullanılabilir ancak sohbet geçmişi kullanılamaz. Konuşma geçmişini etkinleştirmek, sağ üstteki konuşma geçmişini görüntüle düğmesini de etkinleştirir.

Sohbet geçmişi seçeneği belirlenmiş olarak dağıtılması aşağıdaki ortam değişkenlerini otomatik olarak doldurur, bu nedenle Cosmos DB örnekleri arasında geçiş yapmak istemediğiniz sürece bunları değiştirmeniz gerekmez. Bunlar:

  • AZURE_COSMOSDB_ACCOUNT: Bu, web uygulamanızla birlikte dağıtılan Cosmos DB hesabının adıdır.
    • Veri türü: metin
  • AZURE_COSMOSDB_ACCOUNT_KEY: Bu, yalnızca izinler Microsoft Entra Kimliği üzerinden verilmediğinde ve bunun yerine anahtar tabanlı kimlik doğrulaması kullanıldığında kullanılan alternatif bir ortam değişkenidir.
    • Veri türü: metin. Normalde mevcut veya doldurulmamış.
  • AZURE_COSMOSDB_DATABASE: Bu, Web uygulamanızla birlikte dağıtılan Cosmos DB içindeki veritabanı nesnesinin adıdır.
    • Veri türü: metin, olmalıdır db_conversation_history
  • AZURE_COSMOSDB_CONTAINER: Bu, Web uygulamanızla birlikte dağıtılan Cosmos DB içindeki veritabanı kapsayıcı nesnesinin adıdır.
    • Veri türü: metin, olmalıdır conversations
  • AZURE_COSMOSDB_ACCOUNT: Bu, web uygulamanızla birlikte dağıtılan Cosmos DB hesabının adıdır.
    • Veri türü: metin

Web uygulamasında sohbet geçmişinin ekran görüntüsü.

Kullanıcı geri bildirimi toplama

Kullanıcı geri bildirimi toplamak için sohbet botunun yanıtlarının her birinde görünen 'başparmak yukarı' ve 'başparmak aşağı' simgeleri kümesini etkinleştirebilirsiniz. Bu, kullanıcıların yanıtın kalitesini değerlendirmesine ve 'olumsuz geri bildirim sağla' kalıcı penceresi kullanarak hataların nerede oluştuğuna işaret etmelerine olanak sağlar.

Bu özelliği etkinleştirmek için aşağıdaki ortam değişkenini True olarak ayarlayın:

  • AZURE_COSMOSDB_ENABLE_FEEDBACK: Bu, web uygulamanızla birlikte dağıtılan Cosmos DB hesabının adıdır.
    • Veri türü: Veri türü: Boole, Doğru veya Yanlış girmelidir

Bu, daha önce açıklandığı gibi Gelişmiş düzenleme veya basit Düzenleme seçenekleri kullanılarak gerçekleştirilebilir. Gelişmiş düzenleme JSON düzenleyicisine yapıştıracak JSON şöyledir:

  {
    "name": "AZURE_COSMOSDB_ENABLE_FEEDBACK",
    "value": "True",
    "slotSetting": false
  },

Veri kaynağı olarak Azure AI Search'e ve karşıya yüklenen dosyalara bağlanma

Azure AI Studio'yu kullanma

Azure AI Search'i AI Studio ile tümleştirme ve uygulamanızı yeniden dağıtma ile ilgili bu öğreticiyi izleyin.

Azure OpenAI Studio'yu kullanma

Azure AI Search'i OpenAI Studio ile tümleştirme ve uygulamanızı yeniden dağıtma ile ilgili bu öğreticiyi izleyin.

Ortam değişkenlerini kullanma

Uygulamanızı yeniden dağıtmadan Azure AI Search'e bağlanmak için, daha önce açıklandığı gibi düzenleme seçeneklerinden herhangi birini kullanarak aşağıdaki zorunlu ortam değişkenlerini değiştirebilirsiniz.

  • DATASOURCE_TYPE: Bu, kullanıcının sorgularını yanıtlarken hangi veri kaynağının kullanılacağını belirler.
    • Veri türü: metin. olarak ayarlanmalıdır AzureCognitiveSearch (Azure AI Search için eski ad)
  • AZURE_SEARCH_SERVICE: Bu, Azure AI Search örneğinizin adıdır.
    • Veri türü: metin
  • AZURE_SEARCH_INDEX: Bu, Azure AI Search örneğinizin dizin adının adıdır.
    • Veri türü: metin
  • AZURE_SEARCH_KEY: Bu, Azure AI Search örneğinizin kimlik doğrulama anahtarıdır. Kimlik doğrulaması için Microsoft Entra Id kullanılıyorsa isteğe bağlı.
    • Veri türü: metin

Ortam değişkenlerini kullanan diğer özelleştirme senaryoları

  • AZURE_SEARCH_USE_SEMANTIC_SEARCH: Azure AI Arama'da anlamsal aramanın kullanılıp kullanılmayacağını gösterir.
    • Veri türü: boole, semantik arama kullanılmıyorsa olarak ayarlanmalıdır False .
  • AZURE_SEARCH_SEMANTIC_SEARCH_CONFIG: Anlamsal arama etkinse kullanılacak semantik arama yapılandırmasının adını belirtir.
    • Veri türü: metin, varsayılan olarak olarak azureml-defaultgösterilir.
  • AZURE_SEARCH_INDEX_TOP_K: Azure AI Search'ten alınacak en çok kullanılan belge sayısını tanımlar.
    • Veri türü: tamsayı, olarak 5ayarlanmalıdır.
  • AZURE_SEARCH_ENABLE_IN_DOMAIN: Yanıtları yalnızca verilerinizle ilgili sorgulara sınırlar.
    • Veri türü: boole, olarak Trueayarlanmalıdır.
  • AZURE_SEARCH_CONTENT_COLUMNS: Azure AI Search dizininizde bot yanıtı formüle ederken kullanılan, belgelerinizin metin içeriğini içeren alanların listesini belirtir.
    • Veri türü: Metin, Varsayılan olarak content Azure AI Studio veya Azure OpenAI Studio'dan dağıtıldıysa,
  • AZURE_SEARCH_FILENAME_COLUMN: Azure AI Search dizininizden kullanıcı arabiriminde görüntülenecek kaynak verilerin benzersiz tanımlayıcısını sağlayan alanı belirtir.
    • Veri türü: Metin, Varsayılan olarak filepath Azure AI Studio veya Azure OpenAI Studio'dan dağıtıldıysa,
  • AZURE_SEARCH_TITLE_COLUMN: Azure AI Search dizininizden kullanıcı arabiriminde görüntülenecek veri içeriğiniz için uygun bir başlık veya üst bilgi sağlayan alanı belirtir.
    • Veri türü: Metin, Varsayılan olarak title Azure AI Studio veya Azure OpenAI Studio'dan dağıtıldıysa,
  • AZURE_SEARCH_URL_COLUMN: Azure AI Search dizininizden belgenin URL'sini içeren alanı belirtir.
    • Veri türü: Metin, Varsayılan olarak url Azure AI Studio veya Azure OpenAI Studio'dan dağıtıldıysa,
  • AZURE_SEARCH_VECTOR_COLUMNS: Azure AI Search dizininizde bot yanıtı formüle ederken kullanılan, belgelerinizin vektör eklemelerini içeren alanların listesini belirtir.
    • Veri türü: Metin, Varsayılan olarak contentVector Azure AI Studio veya Azure OpenAI Studio'dan dağıtıldıysa,
  • AZURE_SEARCH_QUERY_TYPE: Kullanılacak sorgu türünü belirtir: simple, semantic, vector, vectorSimpleHybridveya vectorSemanticHybrid. Bu ayar' a göre AZURE_SEARCH_USE_SEMANTIC_SEARCHönceliklidir.
    • Veri türü: metin, ile vectorSemanticHybridtest yapmanızı öneririz.
  • AZURE_SEARCH_PERMITTED_GROUPS_COLUMN: Azure AI Search dizininizdeki Microsoft Entra grup kimliklerini içeren alanı belirtir ve belge düzeyinde erişim denetimini belirler.
    • Veri türü: metin
  • AZURE_SEARCH_STRICTNESS: Verilerinize yanıtları sınırlayan modelin katılık düzeyini belirtir.
    • Veri türü: tamsayı, ve 53 arasında 1 ayarlanmalıdır ve önerilir.
  • AZURE_OPENAI_EMBEDDING_NAME: Vektör araması kullanılıyorsa, ekleme modeli dağıtımınızın adını belirtir.
    • Veri türü: metin

Gelişmiş düzenleme JSON düzenleyicisine yapıştıracak JSON şöyledir:

{
    "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
  },

Veri kaynağı olarak prompt flow'a bağlanma

İstem akışları, kullanıcının sorgularında yüksek oranda özelleştirilebilir RAG ve işleme mantığı tanımlamanızı sağlar.

Azure AI Studio'da istem akışınızı oluşturma ve dağıtma

Azure AI Studio'da istem akışınız için çıkarım uç noktası oluşturmak, test etmek ve dağıtmak için bu öğreticiyi izleyin.

İstem akışınızdan temel alınan alıntıları etkinleştirme

İstem akışınızı bu web uygulamasıyla tümleştirildiğinde alıntıları görüntüleyecek şekilde yapılandırırken, biri (alıntılarınız) ve biri de (replydoğal dil yanıtınız) olmak documents üzere iki anahtar çıkış döndürmelidir.

  1. documents , aşağıdaki öğeleri içermesi gereken bir JSON nesnesidir. citations , aynı şemayı izleyen birden çok öğe içerebilen bir listedir. documents nesnesi, seçtiğiniz RAG düzenine göre oluşturulup doldurulmalıdır.
{
    "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 , belirli bir kullanıcı sorgusunun son doğal dilini temsil eden döndürülen bir dizeden oluşur. Belgenizin reply her birine (kaynak) şu biçimde başvurular içermesi gerekir: [doc1], [doc2]vb. Web uygulaması başvuruları ayrıştıracak reply ve işleyecek, tüm örneklerini [doc1] döndürülen sıralıya documents doğrudan bağlanan küçük üst simge sayısal göstergeleriyle değiştirecektir. Bu nedenle, son doğal dili oluşturan LLM'nizden bu başvuruları içermesini istemeniz gerekir. Bu başvuruların doğru hizalanması için LLM çağrınıza da geçirilmesi gerekir. Örneğin:
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}}
  

ortam değişkenlerini istem akışını tümleştirmek için yapılandırma

Değiştirebileceğiniz ortam değişkenleri şunlardır:

  • AZURE_OPENAI_STREAM: Bu, yanıtın akış (artımlı yük) biçiminde yüklenip yüklenmediğini belirler. Bu, istem akışı için desteklenmez ve bu nedenle bu özelliği kullanacak şekilde False ayarlanmalıdır.
    • Veri türü: boolean, istem akışı kullanılmıyorsa, False istem akışı kullanılıyorsa olarak ayarlanır True
  • USE_PROMPTFLOW: Mevcut bir prompt akışı dağıtılmış uç noktasının kullanılıp kullanılmayacağını gösterir. olarak ayarlanırsaTrue, hem hem PROMPTFLOW_API_KEY de PROMPTFLOW_ENDPOINT ayarlanmalıdır.
    • Veri türü: boole, istem akışı kullanılmıyorsa olarak ayarlanmalıdır False .
  • PROMPTFLOW_ENDPOINT: Dağıtılan İstem akışı uç noktasının URL'sini belirtir.
    • Veri türü: metin, örneğin https://pf-deployment-name.region.inference.ml.azure.com/score
  • PROMPTFLOW_API_KEY: Dağıtılan İstem akışı uç noktası için kimlik doğrulama anahtarı. Not: Yalnızca Anahtar tabanlı kimlik doğrulaması desteklenir.
    • Veri türü: metin
  • PROMPTFLOW_RESPONSE_TIMEOUT: İstem akışı uç noktasının yanıt vermesi için saniye olarak zaman aşımı değerini tanımlar.
    • Veri türü: tamsayı, olarak 120ayarlanmalıdır.
  • PROMPTFLOW_REQUEST_FIELD_NAME: İstem akışı isteğini oluşturmak için varsayılan alan adı. Not: chat_history etkileşime göre otomatik olarak oluşturulur. API'niz başka zorunlu alanlar bekliyorsa, işlevin altındaki promptflow_request istek parametrelerini değiştirmeniz gerekir.
    • Veri türü: metin, olarak queryayarlanmalıdır.
  • PROMPTFLOW_RESPONSE_FIELD_NAME: İstem akışı isteğinden gelen yanıtı işlemek için varsayılan alan adı.
    • Veri türü: metin, olarak replyayarlanmalıdır.
  • PROMPTFLOW_CITATIONS_FIELD_NAME: İstem akışı isteğinden alıntı çıkışını işlemek için varsayılan alan adı.
    • Veri türü: metin, olarak documentsayarlanmalıdır.

Diğer veri kaynaklarına bağlanma

Diğer veri kaynakları desteklenir, örneğin:

  • Azure Cosmos DB
  • Elasticsearch
  • Azure SQL Server
  • Pinecone
  • Azure Machine Learning Dizini

Bu veri kaynaklarını etkinleştirme hakkında daha fazla yönerge için GitHub deposuna bakın.

Web uygulamasını en son değişiklikleri içerecek şekilde güncelleştirme

Not

1 Şubat 2024 itibarıyla web uygulaması, uygulama başlatma komutunun olarak ayarlanmasını python3 -m gunicorn app:appgerektirir. 1 Şubat 2024'ten önce yayımlanmış bir uygulamayı güncelleştirirken App Service Yapılandırması sayfasından başlatma komutunu el ile eklemeniz gerekir.

En son hata düzeltmelerine, API sürümüne ve iyileştirmelere sahip olduğunuzdan emin olmak için web uygulamasının kaynak kodunun dalındaki değişiklikleri main sık sık çekmenizi öneririz. Ayrıca, kullandığınız API sürümü her kullanımdan kaldırılışında web uygulamasının eşitlenmesi gerekir. Kaynak koddaki değişiklikler ve güncelleştirmeler hakkında bildirim almak için web uygulamasının GitHub deposundaki İzle veya Yıldız düğmesini seçebilirsiniz.

Web uygulamasını özelleştirmediyseniz, eşitlemek için şu adımları kullanabilirsiniz:

  1. Azure portalında web uygulamanıza gidin.

  2. Soldaki menüde, Dağıtım'ın altında Dağıtım Merkezi'ni seçin.

  3. Bölmenin üst kısmındaki Eşitle'yi seçin ve uygulamanın yeniden dağıtılacağını onaylayın.

    Azure portalındaki web uygulaması eşitleme düğmesinin ekran görüntüsü.

Uygulamanın kaynak kodunu özelleştirdiyseniz veya değiştirdiyseniz, uygulamanızın kaynak kodunu el ile güncelleştirmeniz ve yeniden dağıtmanız gerekir:

  • Uygulamanız GitHub'da barındırılıyorsa kod değişikliklerinizi deponuza gönderin ve önceki eşitleme adımlarını kullanın.
  • Uygulamayı el ile yeniden dağıtıyorsanız (örneğin, Azure CLI kullanarak), dağıtım stratejinize yönelik adımları izleyin.

Cosmos DB örneğinizi silme

Web uygulamanızı silmek Cosmos DB örneğinizi otomatik olarak silmez. Cosmos DB örneğinizi ve depolanan tüm sohbetleri silmek için Azure portalında ilişkili kaynağa gidip silmeniz gerekir. Cosmos DB kaynağını siler ancak Azure OpenAI Studio'dan sonraki güncelleştirmelerde sohbet geçmişi seçeneğinin seçili kalmasını sağlarsanız, uygulama kullanıcıya bağlantı hatası bildirir. Ancak kullanıcı, sohbet geçmişine erişmeden web uygulamasını kullanmaya devam edebilir.

Hizmetler arasında Microsoft Entra ID kimlik doğrulamasını etkinleştirme

Web uygulamanız için hizmet içi kimlik doğrulaması için Microsoft Entra Id'yi etkinleştirmek için aşağıdaki adımları izleyin.

Azure OpenAI kaynağınızda ve Azure Uygulaması Hizmetinizde yönetilen kimliği etkinleştirme

Azure OpenAI kaynağı ve Azure Uygulaması Hizmeti için yönetilen kimliği etkinleştirmek için "Kimlik" bölümüne gidebilir ve her kaynak için Azure portalında sistem tarafından atanan yönetilen kimliği açabilirsiniz.

Azure portalında uygulama kimliği yapılandırmasını gösteren ekran görüntüsü.

Not

Çıkarım için kullanılan aynı kaynağa dağıtılmış bir ekleme modeli kullanıyorsanız, yönetilen kimliği tek bir Azure OpenAI kaynağında etkinleştirmeniz yeterlidir. Çıkarım için kullanılandan farklı bir kaynağa dağıtılmış bir ekleme modeli kullanıyorsanız, ekleme modelinizi dağıtmak için kullanılan Azure OpenAI kaynağında yönetilen kimliği de etkinleştirmeniz gerekir.

Azure Search kaynağınızda rol tabanlı erişim denetimini (RBAC) etkinleştirme (isteğe bağlı)

Azure Search ile Verilerinizde seçeneğini kullanıyorsanız bu adımı izlemeniz gerekir.

Azure OpenAI kaynağınızın Azure Search kaynağınıza erişmesini sağlamak için Azure Search kaynağınızda rol tabanlı erişim denetimini etkinleştirmeniz gerekir. Kaynaklarınız için RBAC rollerini etkinleştirme hakkında daha fazla bilgi edinin.

Hizmet içi iletişimi etkinleştirmek için RBAC rolleri atama

Aşağıdaki tabloda, uygulamanızla ilişkili tüm Azure kaynakları için gereken RBAC rol atamaları özetlemektedir.

Role Atanan Kaynak
Search Index Data Reader Azure OpenAI (Çıkarım) Azure Yapay Zeka Arama
Search Service Contributor Azure OpenAI (Çıkarım) Azure Yapay Zeka Arama
Cognitive Services OpenAI User Web uygulaması Azure OpenAI (Çıkarım)
Cognitive Services OpenAI User Azure OpenAI (Çıkarım) Azure OpenAI (Eklemeler)

Bu rolleri atamak için bu yönergeleri izleyerek gerekli rol atamalarını oluşturun.

Uygulama Ayarları Değişiklikleri

Web uygulaması ayarlarında "Ortam Değişkenleri" bölümüne gidin ve aşağıdaki değişiklikleri yapın:

  • artık gerekli olmadığından ortam değişkenini AZURE_OPENAI_KEYkaldırın.
  • Azure Search ile Verilerinizde kullanıyorsanız ve Azure OpenAI ile Azure Search arasında Microsoft Entra ID kimlik doğrulaması kullanıyorsanız, veri kaynağı erişim anahtarları için ortam değişkenlerini de silmeniz AZURE_SEARCH_KEY gerekir.

Çıkarım için kullandığınız modelle aynı kaynağa dağıtılmış bir ekleme modeli kullanıyorsanız, başka ayar değişikliği gerekmez.

Ancak, farklı bir kaynağa dağıtılmış bir ekleme modeli kullanıyorsanız, uygulamanızın ortam değişkenlerinde aşağıdaki ek değişiklikleri yapın:

  • Eklemeler için kullandığınız kaynak için ekleme API'sinin tam API yoluna değişken ayarlayın AZURE_OPENAI_EMBEDDING_ENDPOINT , örneğin, https://<your embedding AOAI resource name>.openai.azure.com/openai/deployments/<your embedding deployment name>/embeddings
  • Microsoft Entra Id kimlik doğrulamasını AZURE_OPENAI_EMBEDDING_KEY kullanmak için değişkeni silin.

Tüm ortam değişkeni değişiklikleri tamamlandıktan sonra, web uygulamasındaki hizmetler arasında Microsoft Entra ID kimlik doğrulamasını kullanmaya başlamak için web uygulamasını yeniden başlatın. Ayarlardaki değişikliklerin geçerli olması yeniden başlatıldıktan sonra birkaç dakika sürer.