自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在 Azure 認(rèn)知服務(wù)中使用矢量搜索構(gòu)建 LLM 應(yīng)用程序

譯文 精選
人工智能
從本質(zhì)上講,LLM 是一種用于導(dǎo)航語(yǔ)義空間的工具,其中深度神經(jīng)網(wǎng)絡(luò)可以預(yù)測(cè)從初始提示開(kāi)始的標(biāo)記鏈中的下一個(gè)音節(jié)。如果提示是開(kāi)放式的,LLM 可能會(huì)超出其輸入范圍,產(chǎn)生看似合理但實(shí)際上完全是無(wú)稽之談的內(nèi)容。

作者 | Simon Bisson

策劃 | Ethan

Microsoft 的認(rèn)知搜索 API 現(xiàn)在提供矢量搜索即服務(wù),可與 Azure OpenAI 等中的大型語(yǔ)言模型一起使用。

Semantic Kernel、TypeChat 和 LangChain 等工具使得圍繞 Azure OpenAI 等生成式 AI 技術(shù)構(gòu)建應(yīng)用程序成為可能。這是因?yàn)樗鼈冊(cè)试S對(duì)底層大語(yǔ)言模型 (LLM) 施加約束,將其用作構(gòu)建和運(yùn)行自然語(yǔ)言界面的工具。

從本質(zhì)上講,LLM 是一種用于導(dǎo)航語(yǔ)義空間的工具,其中深度神經(jīng)網(wǎng)絡(luò)可以預(yù)測(cè)從初始提示開(kāi)始的標(biāo)記鏈中的下一個(gè)音節(jié)。如果提示是開(kāi)放式的,LLM 可能會(huì)超出其輸入范圍,產(chǎn)生看似合理但實(shí)際上完全是無(wú)稽之談的內(nèi)容。

正如大家傾向于信任搜索引擎的輸出一樣,我們也傾向于信任LLM的輸出,因?yàn)槲覀儗⑺鼈円暈槭煜ぜ夹g(shù)的另一個(gè)方面。但是,使用來(lái)自維基百科、Stack Overflow 和 Reddit 等網(wǎng)站的可信數(shù)據(jù)來(lái)訓(xùn)練大型語(yǔ)言模型并不能傳達(dá)對(duì)內(nèi)容的理解;它只是賦予生成文本的能力,該文本遵循與這些來(lái)源中的文本相同的模式。有時(shí)輸出可能是正確的,但有時(shí)卻是錯(cuò)誤的。

我們?nèi)绾伪苊獯笮驼Z(yǔ)言模型的錯(cuò)誤和無(wú)意義的輸出,并確保我們的用戶獲得準(zhǔn)確且合理的查詢答案?

1、限制用語(yǔ)義記憶約束大模型

我們需要做的是限制 LLM,確保它只從更小的數(shù)據(jù)集生成文本。這就是 Microsoft 基于 LLM 的新開(kāi)發(fā)堆棧的用武之地。它提供了必要的工具來(lái)控制模型并防止其產(chǎn)生錯(cuò)誤。

你可以通過(guò)使用 TypeChat 之類的工具來(lái)強(qiáng)制使用特定的輸出格式,或者使用 Semantic Kernel 之類的編排管道來(lái)處理其他可信信息源,從而有效地將模型“root”在已知的語(yǔ)義空間中,從而約束 LLM。在這里,LLM 可以做它擅長(zhǎng)的事情,總結(jié)構(gòu)建的提示并根據(jù)該提示生成文本,而不會(huì)超限(或至少顯著減少發(fā)生超限的可能性)。

微軟所說(shuō)的“語(yǔ)義記憶”是最后一種方法的基礎(chǔ)。語(yǔ)義記憶使用向量搜索來(lái)提供提示,可用于提供 LLM 的事實(shí)輸出。矢量數(shù)據(jù)庫(kù)管理初始提示的上下文,矢量搜索查找與初始用戶查詢匹配的存儲(chǔ)數(shù)據(jù),LLM 根據(jù)該數(shù)據(jù)生成文本。Bing Chat 中看到這種方法的實(shí)際應(yīng)用,它使用 Bing 的本機(jī)矢量搜索工具來(lái)構(gòu)建從其搜索數(shù)據(jù)庫(kù)中獲取的答案。

語(yǔ)義記憶使矢量數(shù)據(jù)庫(kù)和矢量搜索成為提供基于LLM的應(yīng)用程序的手段。你可以使用數(shù)量不斷增加的開(kāi)源矢量數(shù)據(jù)庫(kù)中的任何一個(gè),或?qū)⑹噶克饕砑拥绞煜さ?SQL 和 NoSQL 數(shù)據(jù)庫(kù)中。一項(xiàng)看起來(lái)特別有用的新產(chǎn)品擴(kuò)展了 Azure 認(rèn)知搜索,為數(shù)據(jù)添加了向量索引以及用于查詢?cè)撍饕男?API。

2、將矢量索引添加到 Azure 認(rèn)知搜索

Azure 認(rèn)知搜索建立在 Microsoft 自己的搜索工具基礎(chǔ)上,提供了熟悉的 Lucene 查詢和自己的自然語(yǔ)言查詢工具的組合。Azure 認(rèn)知搜索是一個(gè)軟件即服務(wù)平臺(tái),托管私有數(shù)據(jù)并使用認(rèn)知服務(wù) API 來(lái)訪問(wèn)內(nèi)容。Microsoft 最近添加了對(duì)構(gòu)建和使用向量索引的支持,允許你使用相似性搜索對(duì)數(shù)據(jù)中的相關(guān)結(jié)果進(jìn)行排名,并在基于 AI 的應(yīng)用程序中使用它們。這使得 Azure 認(rèn)知搜索成為使用 Semantic Kernel 和 Azure OpenAI 構(gòu)建的 Azure 托管 LLM 應(yīng)用程序的理想工具,并帶有用于C# 和 Python認(rèn)知搜索的語(yǔ)義內(nèi)核插件。

與所有 Azure 服務(wù)一樣,Azure 認(rèn)知搜索是一項(xiàng)托管服務(wù),可與其他 Azure 服務(wù)配合使用,允許你在各種 Azure 存儲(chǔ)服務(wù)中進(jìn)行索引和搜索,托管文本和圖像以及音頻和視頻。數(shù)據(jù)存儲(chǔ)在多個(gè)區(qū)域,提供高可用性并減少延遲和響應(yīng)時(shí)間。作為一個(gè)額外的好處,對(duì)于企業(yè)應(yīng)用程序,你可以使用Microsoft Entra ID(Azure Active Directory 的新名稱)來(lái)控制對(duì)私有數(shù)據(jù)的訪問(wèn)。

3、為內(nèi)容生成和存儲(chǔ)嵌入向量

需要注意的一點(diǎn)是,Azure 認(rèn)知搜索是一項(xiàng)“自帶嵌入向量”服務(wù)。認(rèn)知搜索不會(huì)為你生成所需的矢量嵌入,因此你必須使用 Azure OpenAI 或 OpenAI embedding API 為內(nèi)容創(chuàng)建嵌入。這可能需要對(duì)大文件進(jìn)行分塊,以便你保持在服務(wù)的令牌限制內(nèi)。準(zhǔn)備在必要時(shí)為向量索引數(shù)據(jù)創(chuàng)建新表。

Azure 認(rèn)知搜索中的矢量搜索使用最近鄰模型返回選定數(shù)量的與原始查詢相似的文檔。這在對(duì)向量索引的調(diào)用中使用原始查詢的向量嵌入,從數(shù)據(jù)庫(kù)返回相似的向量以及索引內(nèi)容,準(zhǔn)備在 LLM 提示中使用。

Microsoft 使用這樣的矢量存儲(chǔ)作為 Azure 機(jī)器學(xué)習(xí)的檢索增強(qiáng)生成 (RAG) 設(shè)計(jì)模式的一部分,并與其提示流工具配合使用。RAG 使用認(rèn)知搜索中的向量索引來(lái)構(gòu)建構(gòu)成 LLM 提示基礎(chǔ)的上下文。這為你提供了一種構(gòu)建和使用向量索引的低代碼方法,例如設(shè)置查詢返回的相似文檔的數(shù)量。

4、Azure 認(rèn)知搜索中的矢量搜索入門(mén)

使用 Azure 認(rèn)知搜索進(jìn)行矢量查詢非常簡(jiǎn)單。首先在同一區(qū)域中為 Azure OpenAI 和認(rèn)知搜索創(chuàng)建資源。這將允許你以最小的延遲加載帶有嵌入的搜索索引。你需要調(diào)用 Azure OpenAI API 和認(rèn)知搜索 API 來(lái)加載索引,因此最好通過(guò)添加管理重試的代碼來(lái)確保代碼可以響應(yīng)服務(wù)中任何可能的速率限制為你。當(dāng)你使用服務(wù) API 時(shí),你應(yīng)該使用異步調(diào)用來(lái)生成嵌入和加載索引。

向量作為向量字段存儲(chǔ)在搜索索引中,其中向量是具有維度的浮點(diǎn)數(shù)。這些向量通過(guò)分層可導(dǎo)航小世界鄰近圖進(jìn)行映射,該圖將向量分類到相似向量的鄰域中,從而加快了搜索向量索引的實(shí)際過(guò)程。

為矢量搜索定義索引架構(gòu)后,你可以將數(shù)據(jù)加載到認(rèn)知搜索索引中。請(qǐng)務(wù)必注意,數(shù)據(jù)可能有多個(gè)與之關(guān)聯(lián)的向量。例如,如果你使用認(rèn)知搜索來(lái)托管公司文檔,你可能有針對(duì)關(guān)鍵文檔元數(shù)據(jù)術(shù)語(yǔ)以及文檔內(nèi)容的單獨(dú)向量。數(shù)據(jù)集必須存儲(chǔ)為JSON 文檔,這應(yīng)該可以簡(jiǎn)化使用結(jié)果來(lái)組合提示上下文的過(guò)程。索引不需要包含源文檔,因?yàn)樗С质褂米畛R?jiàn)的 Azure 存儲(chǔ)選項(xiàng)。

運(yùn)行查詢需要首先使用查詢正文調(diào)用你選擇的嵌入模型。這將返回一個(gè)多維向量,你可以使用它來(lái)搜索你選擇的索引。調(diào)用矢量搜索API時(shí),請(qǐng)注明目標(biāo)矢量索引、你需要的匹配項(xiàng)數(shù)量以及索引中的相關(guān)文本字段。為查詢選擇適當(dāng)?shù)南嗨菩远攘糠浅S杏?,其中最常用的是余弦度量?/p>

5、超越簡(jiǎn)單的文本向量

Azure 認(rèn)知搜索的矢量功能不僅僅是匹配文本。認(rèn)知搜索能夠與多語(yǔ)言嵌入配合使用,以支持跨多種語(yǔ)言的文檔搜索。你也可以使用更復(fù)雜的 API。例如,你可以在混合搜索中混合使用 Bing 語(yǔ)義搜索工具,以提供更準(zhǔn)確的結(jié)果,從而提高 LLM 支持的應(yīng)用程序的輸出質(zhì)量。

微軟正在快速將其用于構(gòu)建自己的基于 GPT-4 的 Bing 搜索引擎及其各種 Copilot 的工具和技術(shù)產(chǎn)品化。Semantic Kernel 和 Azure AI Studio 的提示流等編排引擎是 Microsoft 使用大型語(yǔ)言模型的方法的核心?,F(xiàn)在這些基礎(chǔ)已經(jīng)奠定,我們看到該公司推出了更多必要的支持技術(shù)。矢量搜索和矢量索引是提供準(zhǔn)確響應(yīng)的關(guān)鍵。通過(guò)構(gòu)建熟悉的工具來(lái)提供這些服務(wù),微軟將幫助我們將成本和學(xué)習(xí)曲線降至最低。

責(zé)任編輯:武曉燕 來(lái)源: 51CTO技術(shù)棧
相關(guān)推薦

2011-11-23 10:06:32

Azure微軟移動(dòng)應(yīng)用

2009-09-22 12:17:59

ibmdwLotus

2009-06-19 13:45:53

Java應(yīng)用程序Jfreechart

2013-10-09 11:15:49

Ubuntu應(yīng)用程序

2011-05-27 08:48:13

Android HTML

2021-09-07 10:24:36

Vue應(yīng)用程序Web Workers

2009-11-23 19:52:55

ibmdwFlex

2022-08-30 20:00:37

零信任Linkerd

2024-07-02 09:00:00

2014-05-31 22:54:37

Azure移動(dòng)服務(wù)應(yīng)用程序

2024-11-08 09:53:01

2010-06-13 09:22:37

jQuery

2024-03-07 09:15:57

2010-07-26 11:02:46

2011-03-14 15:10:10

AzureFacebook

2011-03-14 15:14:10

AzureFacebook營(yíng)銷式應(yīng)用程序

2011-03-14 14:47:50

2023-11-10 14:46:41

OpenAIPinecone

2009-08-27 11:22:30

ibmdw云計(jì)算

2009-09-22 12:59:07

ibmdwWeb
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)