Azure Machine Learning - 使用自己的數據與 Azure OpenAI 模型對話

在本文中,可以將自己的數據與 Azure OpenAI 模型配合使用。 對數據使用 Azure OpenAI 模型可以提供功能強大的對話 AI 平臺,從而實現更快、更準確的通信。

關注TechLead,分享AI全維度知識。作者擁有10+年互聯網服務架構、AI產品研發經驗、團隊管理經驗,同濟本復旦碩,復旦機器人智能實驗室成員,阿里云認證的資深架構師,項目管理專業人士,上億營收AI產品研發負責人

file

環境準備

  • Azure 訂閱 - 免費創建訂閱。

  • 已在所需的 Azure 訂閱中授予對 Azure OpenAI 的訪問權限。

    Azure OpenAI 服務需要注冊,并且目前僅供經批準的企業客戶與合作伙伴使用。

  • 已部署聊天模型的 Azure OpenAI 資源(例如 GPT-3 或 GPT-4)。

  • 聊天模型可以使用版本 gpt-35-turbo (0301)gpt-35-turbo-16kgpt-4gpt-4-32k

  • 請確保至少為 Azure OpenAI 資源分配了[認知服務參與者]角色。

使用 Azure OpenAI Studio 添加數據

file
導航到 Azure OpenAI Studio,然后使用有權訪問 Azure OpenAI 資源的憑據登錄。 在登錄過程中或登錄之后,選擇適當的目錄、Azure 訂閱和 Azure OpenAI 資源。

  1. 選擇“Chat Playground”磁貼。

file

  1. 在“助手設置”磁貼上,選擇“添加數據(預覽)”>“+ 添加數據源”。
    file
  2. 在顯示的窗格中,選擇“選擇數據源”下的“上傳文件”。 選擇“上傳文件”。 Azure OpenAI 需要存儲資源和搜索資源來訪問數據并編制數據索引。

3.1. 要使 Azure OpenAI 訪問存儲帳戶,需要啟用跨原點資源共享 (CORS)。 如果尚未為 Azure Blob 存儲資源啟用 CORS,請選擇“啟用 CORS”。

3.2. 選擇 Azure AI 搜索資源,然后選擇確認以表明知曉連接該資源將使用你的帳戶。 然后,選擇“下一步”。

file

  1. 在“上傳文件”窗格中,選擇“瀏覽文件”,并選擇要上傳的文件。 然后選擇“上傳文件”。 然后,選擇“下一步”。

  2. 在“數據管理”窗格中,可以選擇為索引啟用[語義搜索還是向量搜索]。

  3. 查看輸入的詳細信息,然后選擇“保存并關閉”。 現在,你可以與模型聊天,模型將使用數據中的信息來構造響應。

Chat Playground

file
通過Chat Playground使用開始使用無代碼方法瀏覽 Azure OpenAI 功能。 這是一個簡單的文本框,可以在其中提交提示以生成補全內容。 在此頁中,可以快速循環訪問和試驗這些功能。

file

可以試驗溫度和預響應文本等配置設置,以提高任務的性能。 可以在 [REST API]中詳細了解每個參數。

  • 選擇“生成”按鈕后會將輸入的文本發送到補全 API,并將結果流式傳輸回到文本框中。
  • 選擇“撤消”按鈕可以撤消上一次生成調用。
  • 選擇“重新生成”按鈕可以同時執行撤消和生成調用。

部署模型

對 Azure OpenAI 工作室中的體驗感到滿意后,可以通過選擇“部署到”按鈕直接從工作室部署 Web 應用。
file
這讓你可以選擇將模型部署為獨立的 Web 應用程序,或者如果要在模型上使用[你自己的數據],則可以使用 Power Virtual Agents。

例如,如果選擇部署 Web 應用:

首次部署 Web 應用時,應選擇“創建新的 Web 應用”。 為應用選擇一個名稱,該名稱將成為應用 URL 的一部分。 例如,https://<appname>.azurewebsites.net

為已發布的應用選擇訂閱、資源組、位置和定價計劃。 要更新現有應用,請選擇“發布到現有 Web 應用”,然后從下拉菜單中選擇上一個應用的名稱。

使用Python調用

要成功地對 Azure OpenAI 進行調用,需要使用以下變量。 本快速入門假定已將數據上傳到 Azure Blob 存儲帳戶,并且已創建 Azure AI 搜索索引。

變量名稱
AOAIEndpoint在從 Azure 門戶檢查 Azure OpenAI 資源時,可在“密鑰 & 終結點”部分中找到此值。 也可在“Azure AI 工作室”>“聊天操場”>“代碼視圖”中查找該值。 示例終結點為:https://my-resoruce.openai.azure.com
AOAIKey在 Azure 門戶檢查 Azure OpenAI 資源時,可在“資源管理>密鑰 & 終結點”部分中找到此值。 可以使用 KEY1KEY2。 始終準備好兩個密鑰可以安全地輪換和重新生成密鑰,而不會導致服務中斷。
AOAIDeploymentId此值將對應于在部署模型時為部署選擇的自定義名稱。 可在 Azure 門戶中的“資源管理”>“部署”下,或者在 Azure AI 工作室中的“管理”>“部署”下查找此值。
SearchEndpoint在 Azure 門戶檢查 Azure AI 搜索資源時,可在“概覽”部分中找到此值。
SearchKey在 Azure 門戶檢查 Azure AI 搜索資源時,可在“設置>密鑰”部分中找到此值。 你可以使用主要管理密鑰或輔助管理密鑰。 始終準備好兩個密鑰可以安全地輪換和重新生成密鑰,而不會導致服務中斷。
SearchIndex此值對應于為存儲數據而創建的索引的名稱。 在從 Azure 門戶檢查 Azure AI 搜索資源時,可以在“概述”部分找到它。

環境變量

  • [命令行]
setx AOAIEndpoint REPLACE_WITH_YOUR_AOAI_ENDPOINT_VALUE_HERE
setx AOAIKey REPLACE_WITH_YOUR_AOAI_KEY_VALUE_HERE
setx AOAIDeploymentId REPLACE_WITH_YOUR_AOAI_DEPLOYMENT_VALUE_HERE
setx SearchEndpoint REPLACE_WITH_YOUR_AZURE_SEARCH_RESOURCE_VALUE_HERE
setx SearchKey REPLACE_WITH_YOUR_AZURE_SEARCH_RESOURCE_KEY_VALUE_HERE
setx SearchIndex REPLACE_WITH_YOUR_INDEX_NAME_HERE

創建 Python 環境

  1. 為項目新建一個名為 openai-pytho 的文件夾,并且新建一個名為 main.py 的 Python 代碼文件。 更改到該目錄:
mkdir openai-python
cd openai-python
  1. 安裝以下 Python 庫:
  • [OpenAI Python 1.x]
pip install openai
pip install python-dotenv

創建 Python 應用

  1. 從項目目錄中,打開 main.py 文件并添加以下代碼:
  • [OpenAI Python 1.x]
import os
import openai
import dotenvdotenv.load_dotenv()endpoint = os.environ.get("AOAIEndpoint")
api_key = os.environ.get("AOAIKey")
deployment = os.environ.get("AOAIDeploymentId")client = openai.AzureOpenAI(base_url=f"{endpoint}/openai/deployments/{deployment}/extensions",api_key=api_key,api_version="2023-08-01-preview",
)completion = client.chat.completions.create(model=deployment,messages=[{"role": "user","content": "How is Azure machine learning different than Azure OpenAI?",},],extra_body={"dataSources": [{"type": "AzureCognitiveSearch","parameters": {"endpoint": os.environ["SearchEndpoint"],"key": os.environ["SearchKey"],"indexName": os.environ["SearchIndex"]}}]}
)print(completion.model_dump_json(indent=2))
  1. 運行以下命令:
python main.py

應用程序以適合在許多場景下使用的 JSON 格式打印響應。 它包含對來自已上傳文件的查詢和引文的答案。

關注TechLead,分享AI全維度知識。作者擁有10+年互聯網服務架構、AI產品研發經驗、團隊管理經驗,同濟本復旦碩,復旦機器人智能實驗室成員,阿里云認證的資深架構師,項目管理專業人士,上億營收AI產品研發負責人

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/215847.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215847.shtml
英文地址,請注明出處:http://en.pswp.cn/news/215847.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

臺式掃描電鏡中的掃描速度和掃描模式如何選擇?

臺式掃描電鏡&#xff08;SEM&#xff09;是一種利用電子束掃描樣品表面&#xff0c;通過檢測樣品反射或發射的次級電子、背散射電子、X 射線等信號&#xff0c;來獲取樣品的形貌、結構、組成和分布等信息的儀器。臺式掃描電鏡具有體積小、操作簡單、樣品制備方便、分辨率高、成…

AttributeError: cannot assign module before Module.__init__() call 解決方法

這個錯誤通常是由于在__init__方法之外對模塊中的某些成員進行了初始化或賦值操作&#xff0c;導致模塊還沒有被完全初始化就已經被調用了。為了解決這個問題&#xff0c;需要將所有的初始化或賦值操作移到__init__方法內部。 例如&#xff0c;如果有一個自定義模塊MyModule&a…

量化交易與人工智能:Python庫的應用與效用

&#x1f482; 個人網站:【 海擁】【神級代碼資源網站】【辦公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;輕量化工具創作平臺&#x1f485; 想尋找共同學習交流的小伙伴&#xff0c;請點擊【全棧技術交流群】 量化交易簡介 量化交易是一種利用計算機算法執…

Windows使用virtualenv創建python環境

假設已有python和pip環境使用pip安裝vitualenv pip install virtualenv 將virtualenv的路徑加入環境變量使用virtualenv創建一個虛擬環境 virtualenv virtual_name --pythonpython3.9 激活虛擬環境 virtual_name\Script\activate 遇到問題&#xff1a; 使用工作電腦激活…

VUE+webrtc-streamer 實現實時視頻播放(監控設備-rtsp)

效果 下圖則啟動成功&#xff0c;此時在瀏覽器訪問127.0.0.1:8000可以看到本機監控畫面 1、下載webrtc-streamer 地址&#xff1a;https://github.com/mpromonet/webrtc-streamer/releases 2、解壓下載包 3、雙擊webrtc-streamer.exe啟動服務 4、將下載包html文件夾下webrt…

Vue筆記-在axios中的than函數中使用this需要注意的地方

在Vue中&#xff0c;可以使用this關鍵字來訪問到組件中定義的變量。然而&#xff0c;在axios的then函數中&#xff0c;this關鍵字的作用域會改變&#xff0c;會指向axios對象本身而不是Vue組件實例。因此&#xff0c;不能直接訪問到Vue組件中定義的變量。 解決這個問題的一種方…

數據分析Pandas

數據分析Pandas Pandas簡介第一個PandasPandas APIPandas數據結構Pandas數據結構SeriesSeries API創建 SeriesSeries基本屬性和方法Series索引操作Series切片操作Series過濾數據Series算術運算Series缺失數據處理Series排序和排名Series統計函數Pandas數據結構DataFrameDataFr…

2023/12/11 作業

1.思維導圖 2.作業 成果&#xff1a; 第一個頭文件 #ifndef TEST3GET_H #define TEST3GET_H #include <QWidget> #include<QMessageBox> QT_BEGIN_NAMESPACE namespace Ui { class test3get; } QT_END_NAMESPACE class test3get : public QWidget { Q_OBJE…

QT學習(19):QIODevice

目錄 QIODevice類&#xff1a;一、一般操作1、open()和close()2、read()3、write() 二、隨機存取設備和順序設備三、讀寫信號四、阻塞函數五、虛函數readData、readLineData、writeData六、內存緩沖區七、事務機制 QIODevicePrivate類QRingBuffer和QRingChunk QIODevice類&…

安卓.apk的文件app應用程序開發后如何安裝運行到真機上測試?

當您完成了一個安卓app的開發之后&#xff0c;進行真機測試是確保應用程序穩定運行的關鍵步驟之一。下面我們會講述幾種將安卓app安裝到手機進行測試的方法&#xff0c;請根據具體情況選擇合適的方式。 圖片來源&#xff1a;安卓.apk的文件app應用程序開發后如何安裝運行到真機…

Scala-初學

前提&#xff0c;已經安裝好Scala 在Linux終端 準備資料&#xff1a; a.txt 內容 HIVE 底層 是 hdfs 和 mapreduce 實現存儲 和 計算的 。 HIVE 也 可以 使用 hadoop 配置 的 壓縮 方法 對 中間 結果 或 最終 數據 進行 壓縮 1 import scala.io.Source scala> val lines So…

C++ 指針常量和常量指針的區別

指針常量 指針常量&#xff1a;顧名思義它就是一個常量&#xff0c;但是是指針修飾的。 格式為&#xff1a; int * const p //指針常量在這個例子下定義以下代碼&#xff1a; int a&#xff0c;b&#xff1b; int * const p&a //指針常量 //那么分為一下兩種操作 *p9;//操…

普通SSL證書和EV SSL證書有什么區別?

SSL證書是一種用于加密網站和保護用戶數據傳輸的安全協議。在SSL證書的類型中&#xff0c;普通SSL證書和EV SSL證書是兩種常見的選擇。本文將介紹普通SSL證書和EV SSL證書的區別&#xff0c;以及它們在網站安全性和可信度方面的差異。 1、安全性驗證程度 普通SSL證書和EV SSL證…

linux(5):linux基礎命令第五彈

在linux基礎命令第四彈中http://t.csdnimg.cn/tvuNl我們了解了echo、tail命令、管道符和vim文本編輯器的相關內容。這一篇我們會了解關于命令選項的說明 我們在之前的學習中&#xff0c;發現命令中的選項是非常多的&#xff0c;比如-l -c -m -r -w 等等&#xff0c;命令有很多&…

C++學習筆記之五(String類)

C 前言getlinelength, sizec_strappend, inserterasefindsubstrisspace, isdigit 前言 C是兼容C語言的&#xff0c;所以C的字符串自然繼承C語言的一切字符串&#xff0c;但它也衍生出屬于自己的字符串類&#xff0c;即String類。String更像是一個容器&#xff0c;但它與容器還…

C++入門【6-C++ 修飾符類型】

C 修飾符類型 C 允許在 char、int 和 double 數據類型前放置修飾符。 修飾符是用于改變變量類型的行為的關鍵字&#xff0c;它更能滿足各種情境的需求。 下面列出了數據類型修飾符&#xff1a; signed&#xff1a;表示變量可以存儲負數。對于整型變量來說&#xff0c;signe…

12月11日作業

完善對話框&#xff0c;點擊登錄對話框&#xff0c;如果賬號和密碼匹配&#xff0c;則彈出信息對話框&#xff0c;給出提示登錄成功&#xff0c;提供一個Ok按鈕&#xff0c;用戶點擊Ok后&#xff0c;關閉登錄界面&#xff0c;跳轉到其他界面 如果賬號和密碼不匹配&#xff0c;彈…

被迫搬家,寬帶遷移怎么辦?

廣州一棟違建爛尾樓&#xff0c;13年里從未停止出租&#xff0c;年年住滿人。這棟樓沒有貼外墻&#xff0c;裸露的水泥表面都被雨水腐蝕&#xff0c;很多陽臺沒有建好&#xff0c;只是簡單加裝了護欄&#xff0c;存在巨大安全隱患。 為什么爛尾樓年年滿人呢&#xff1f; 因為它…

算法:快速冪ksm

為什么使用快速冪&#xff1a; 假設題目要求求a的b次方。 c/c里并沒有^運算符&#xff0c;所以我們第一時間可能想到使用for循環&#xff0c;將“a * a”語句循環b次。但是這樣時間復雜度為O(n),所以當b過大的時候&#xff0c;我們的程序將會非常慢&#xff0c;所以我們需要使用…

基于ssm樂購游戲商城系統論文

摘 要 隨著社會的發展&#xff0c;游戲品種越來越多&#xff0c;計算機的優勢和普及使得樂購游戲商城系統的開發成為必需。樂購游戲商城系統主要是借助計算機&#xff0c;通過對信息進行管理。減少管理員的工作&#xff0c;同時也方便廣大用戶對個人所需信息的及時查詢以及管理…