建立 LLM 應用程式:利用 Azure 認知服務的向量搜尋功能
作者 | Simon Bisson
規劃 | Ethan
Microsoft 的認知搜尋 API 現在提供向量搜尋即服務,可與 Azure OpenAI 等中的大型語言模型一起使用。
語意核心、TypeChat和LangChain等工具使得圍繞Azure OpenAI等生成式AI技術建立應用程式成為可能。這是因為它們允許對底層大語言模型(LLM)施加約束,將其用作構建和運行自然語言介面的工具
從本質上講,LLM 是用於導航語義空間的工具,其中深度神經網路可以預測從初始提示開始的標記鏈中的下一個音節。如果提示是開放式的,LLM 可能會超出其輸入範圍,產生看似合理但實際上完全是無稽之談的內容。
就像大家傾向於信任搜尋引擎的輸出一樣,我們也傾向於信任LLM的輸出,因為我們將它們視為熟悉技術的另一個面向。但是,使用來自維基百科、Stack Overflow 和Reddit 等網站的可信數據來訓練大型語言模型並不能傳達對內容的理解;它只是賦予生成文本的能力,該文本遵循與這些來源中的文本相同的模式。有時輸出可能是正確的,但有時卻是錯誤的。
我們如何避免大型語言模型的錯誤和無意義的輸出,並確保我們的使用者獲得準確且合理的查詢答案?
1、限制用語意記憶限制大模型
我們需要做的是限制LLM,確保它只從更小的資料集產生文字。這就是Microsoft基於LLM的新開發堆疊的用武之地。它提供了必要的工具來控制模型並防止其產生錯誤
你可以透過使用TypeChat 之類的工具來強制使用特定的輸出格式,或者使用Semantic Kernel 之類的編排管道來處理其他可信資訊來源,從而有效地將模型「root」在已知的語意空間中,從而約束LLM。在這裡,LLM 可以做它擅長的事情,總結構建的提示並根據該提示生成文本,而不會超限(或至少顯著減少發生超限的可能性)。
微軟所說的「語意記憶」是最後一種方法的基礎。語意記憶使用向量搜尋來提供提示,可用於提供 LLM 的事實輸出。向量資料庫管理初始提示的上下文,向量搜尋會尋找與初始使用者查詢相符的儲存數據,LLM 根據該數據產生文字。在Bing Chat中看到這種方法的實際應用,它使用Bing的本機向量搜尋工具來建立從其搜尋資料庫中取得的答案
語義記憶使得向量資料庫和向量搜尋成為提供基於LLM的應用程式的手段。您可以選擇使用數量不斷增加的開源向量資料庫之一,或將向量索引新增至您熟悉的SQL和NoSQL資料庫。一款看起來特別有用的新產品擴展了Azure認知搜索,為資料添加了向量索引,並提供了用於查詢該索引的新API
2、將向量索引添加到Azure 認知搜尋
Azure 認知搜尋是建立在Microsoft自己的搜尋工具基礎上的。它提供了熟悉的Lucene查詢和自己的自然語言查詢工具的組合。 Azure 認知搜尋是一個軟體即服務平台,可以託管私有數據,並使用認知服務API來存取內容。最近,Microsoft還添加了對構建和使用向量索引的支持,這使得你可以使用相似性搜尋對數據中的相關結果進行排名,並在基於AI的應用程式中使用它們。這使得Azure 認知搜尋成為使用Semantic Kernel和Azure OpenAI構建的Azure託管LLM應用程式的理想工具,並且還提供了用於C#和Python的認知搜尋的語義內核插件
#與其他Azure與服務一樣,Azure 認知搜尋是一項託管服務,可與其他Azure 服務搭配使用。它允許你在各種 Azure 儲存服務中進行索引和搜索,託管文字、圖像、音訊和視訊。資料儲存在多個區域,提供高可用性並減少延遲和回應時間。此外,對於企業應用程序,你可以使用Microsoft Entra ID(Azure Active Directory 的新名稱)來控制對私有資料的存取
3、為內容生成和儲存嵌入向量
需要注意的是,Azure 認知搜尋是一項「自帶嵌入向量」服務。認知搜尋不會為您產生所需的向量嵌入,因此您需要使用 Azure OpenAI 或 OpenAI embedding API 來為內容建立嵌入。這可能需要將大文件分塊處理,以確保您在服務的令牌限制內。在需要時,請準備建立新表來索引向量資料
在 Azure 認知搜尋中,向量搜尋使用最近鄰模型返回與原始查詢相似的文檔,數量由使用者選擇。這個過程透過使用原始查詢的向量嵌入來呼叫向量索引,並從資料庫中傳回相似的向量和索引內容,以供 LLM 提示準備使用
微軟使用這種向量儲存作為Azure機器學習的檢索增強生成(RAG)設計模式的一部分,並與其提示流工具配合使用。 RAG利用認知搜尋中的向量索引來建構構成LLM提示基礎的脈絡。這為您提供了一種建立和使用向量索引的低程式碼方法,例如設定查詢傳回的相似文件的數量
#4、Azure 認知搜尋中的向量搜尋入門
使用Azure 認知搜尋進行向量查詢非常簡單。首先在同一區域中為 Azure OpenAI 和認知搜尋建立資源。這將允許你以最小的延遲加載帶有嵌入的搜尋索引。你需要呼叫 Azure OpenAI API 和認知搜尋 API 來載入索引,因此最好透過新增管理重試的程式碼來確保程式碼可以回應服務中任何可能的速率限制為你。當你使用服務 API 時,你應該使用非同步呼叫來產生嵌入和載入索引。
向量作為向量欄位儲存在搜尋索引中,其中向量是具有維度的浮點數。這些向量透過分層可導航小世界鄰近圖進行映射,該圖將向量分類到相似向量的鄰域中,從而加快了搜尋向量索引的實際過程。
在定義了向量搜尋的索引架構之後,你可以將資料載入到認知搜尋的索引中。需要注意的是,數據可能與多個向量相關聯。舉個例子,如果你使用認知搜尋來託管公司文檔,你可能會有一個用於關鍵文檔元資料術語和文檔內容的單獨向量。資料集必須以JSON文件的形式儲存,這樣可以簡化使用結果來組合提示上下文的過程。索引不需要包含來源文檔,因為它支援使用最常見的Azure儲存選項
在執行查詢之前,你需要先使用查詢正文呼叫你選擇的嵌入模型。這樣會回傳一個多維向量,你可以用它來搜尋你選擇的索引。當呼叫向量搜尋API時,請指定目標向量索引、所需的匹配項數量以及索引中相關的文字欄位。選擇適當的相似性度量對查詢非常有幫助,其中最常用的是餘弦度量
5、超越簡單的文本向量
Azure 認知搜尋的向量功能不僅僅是匹配文本。認知搜尋能夠與多語言嵌入配合使用,以支援跨多種語言的文件搜尋。你也可以使用更複雜的 API。例如,你可以在混合搜尋中混合使用 Bing 語義搜尋工具,以提供更準確的結果,從而提高 LLM 支援的應用程式的輸出品質。
微軟正在迅速將其用於建立自己的基於GPT-4的Bing搜尋引擎以及各種Copilot的工具和技術產品化。 Semantic Kernel和Azure AI Studio的提示流等編排引擎是Microsoft使用大型語言模型的核心方法。現在這些基礎已經奠定,我們看到該公司推出了更多必要的支援技術。向量搜尋和向量索引是提供準確回應的關鍵。透過建立熟悉的工具來提供這些服務,微軟將幫助我們將成本和學習曲線降至最低
以上是建立 LLM 應用程式:利用 Azure 認知服務的向量搜尋功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

錯誤801c03ed通常附帶以下訊息:管理員策略不允許此使用者加入設備。這個錯誤訊息將阻止你安裝Windows並加入網絡,從而阻止你使用電腦,因此盡快解決此問題非常重要。什麼是錯誤代碼801c03ed?這是Windows安裝錯誤,由於以下原因而發生:Azure設定不允許新用戶加入。 Azure上未啟用裝置物件。 Azure面板中的硬體雜湊發生故障。如何修復Windows801上的錯誤代碼03c11ed? 1.檢查Intune設定登入Azure入口網站。導航至“設備”,然後選擇“設備設定”。將「用戶可以將

譯者|布加迪審校|重樓本文介紹如何使用GroqLPU推理引擎在JanAI和VSCode中產生超快速反應。每個人都致力於建立更好的大語言模型(LLM),例如Groq專注於AI的基礎設施方面。這些大模型的快速響應是確保這些大模型更快捷響應的關鍵。本教學將介紹GroqLPU解析引擎以及如何在筆記型電腦上使用API和JanAI本地存取它。本文也將把它整合到VSCode中,以幫助我們產生程式碼、重構程式碼、輸入文件並產生測試單元。本文將免費創建我們自己的人工智慧程式設計助理。 GroqLPU推理引擎簡介Groq

LeanCopilot,讓陶哲軒等眾多數學家讚不絕口的這個形式化數學工具,又有超強進化了?就在剛剛,加州理工學院教授AnimaAnandkumar宣布,團隊發布了LeanCopilot論文的擴展版本,更新了程式碼庫。圖片論文地址:https://arxiv.org/pdf/2404.12534.pdf最新實驗表明,這個Copilot工具,可以自動化80%以上的數學證明步驟了!這個紀錄,比以前的基線aesop還要好2.3倍。並且,和以前一樣,它在MIT許可下是開源的。圖片他是一位華人小哥宋沛洋,他是

圖片來源@視覺中國文|王吉偉從“人+RPA”到“人+生成式AI+RPA”,LLM如何影響RPA人機互動?換個角度,從人機互動看LLM如何影響RPA?影響程式開發與流程自動化人機互動的RPA,現在也要被LLM改變了? LLM如何影響人機互動?生成式AI怎麼改變RPA人機互動?一文看得懂:大模型時代來臨,基於LLM的生成式AI正在快速變革RPA人機交互;生成式AI重新定義人機交互,LLM正在影響RPA軟體架構變遷。如果問RPA對程式開發以及自動化有哪些貢獻,其中一個答案便是它改變了人機互動(HCI,h

Plaud Note AI 錄音機(亞馬遜上有售,售價 159 美元)背後的公司 Plaud 宣布推出一款新產品。該設備被稱為 NotePin,被描述為人工智慧記憶膠囊,與 Humane AI Pin 一樣,它是可穿戴的。 NotePin 是

想了解更多AIGC的內容,請造訪:51CTOAI.x社群https://www.51cto.com/aigc/譯者|晶顏審校|重樓不同於網路上隨處可見的傳統問題庫,這些問題需要跳脫常規思維。大語言模型(LLM)在數據科學、生成式人工智慧(GenAI)和人工智慧領域越來越重要。這些複雜的演算法提升了人類的技能,並在許多產業中推動了效率和創新性的提升,成為企業保持競爭力的關鍵。 LLM的應用範圍非常廣泛,它可以用於自然語言處理、文字生成、語音辨識和推薦系統等領域。透過學習大量的數據,LLM能夠產生文本

圖檢索增強生成(GraphRAG)正逐漸流行起來,成為傳統向量搜尋方法的強大補充。這種方法利用圖資料庫的結構化特性,將資料以節點和關係的形式組織起來,從而增強檢索資訊的深度和上下文關聯性。圖在表示和儲存多樣化且相互關聯的資訊方面具有天然優勢,能夠輕鬆捕捉不同資料類型間的複雜關係和屬性。而向量資料庫則處理這類結構化資訊時則顯得力不從心,它們更專注於處理高維度向量表示的非結構化資料。在RAG應用中,結合結構化的圖資料和非結構化的文字向量搜索,可以讓我們同時享受兩者的優勢,這也是本文將要探討的內容。構

隨著開源大型語言模型的效能不斷提高,編寫和分析程式碼、推薦、文字摘要和問答(QA)對的效能都有了很大的提高。但當涉及QA時,LLM通常會在未訓練資料的相關的問題上有所欠缺,許多內部文件都保存在公司內部,以確保合規性、商業機密或隱私。當查詢這些文件時,會使得LLM產生幻覺,產生不相關、捏造或不一致的內容。一種處理這項挑戰的可行技術是檢索增強生成(RAG)。它涉及透過引用訓練資料來源以外的權威知識庫來增強回應的過程,以提升生成的品質和準確性。 RAG系統包括一個檢索系統,用於從語料庫中檢索相關文檔片段
