成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

AI代理的記憶機(jī)制:向量數(shù)據(jù)庫(kù)如何支撐大語言模型記憶

譯文 精選
人工智能 數(shù)據(jù)庫(kù)
矢量存儲(chǔ)是一種特殊的數(shù)據(jù)庫(kù)類型,與傳統(tǒng)數(shù)據(jù)庫(kù)存儲(chǔ)文本或數(shù)字不同,它專門用于保存矢量數(shù)據(jù)。矢量是一組數(shù)字列表,能夠表達(dá)文本的語義信息。它通過一種叫做嵌入的過程生成這些矢量。當(dāng)模型接收一個(gè)句子時(shí),會(huì)將其轉(zhuǎn)化為高維空間中的一個(gè)點(diǎn)。在這個(gè)空間里,含義相近的文本會(huì)被聚集在一起。

譯者 | 崔皓

審校 | 重樓

當(dāng)你與 AI 助手進(jìn)行對(duì)話時(shí),它會(huì)讓感覺似乎能夠記住你之前說過的話。然而,實(shí)際上大型語言模型本身并不具備真正意義上的記憶功能。如果不再次提供相關(guān)信息,它并不會(huì)記住之前的對(duì)話內(nèi)容。那么,為什么它能夠記住”事物呢?答案就在于一種稱為向量存儲(chǔ)的技術(shù),這正是本文將要介紹的核心內(nèi)容。

什么是向量存儲(chǔ)?

矢量存儲(chǔ)是一種特殊的數(shù)據(jù)庫(kù)類型,與傳統(tǒng)數(shù)據(jù)庫(kù)存儲(chǔ)文本或數(shù)字不同,它專門用于保存矢量數(shù)據(jù)。矢量是一組數(shù)字列表,能夠表達(dá)文本的語義信息。它通過一種叫做嵌入的過程生成這些矢量。當(dāng)模型接收一個(gè)句子時(shí),會(huì)將其轉(zhuǎn)化為高維空間中的一個(gè)點(diǎn)。在這個(gè)空間里,含義相近的文本會(huì)被聚集在一起。

例如,在向量空間中,"我喜歡壽司"可能會(huì)與"壽司是我的最愛食物"接近。這些嵌入能夠幫助AI代理找到相關(guān)的想法,即使詞語有所不同。

嵌入式工作原理

假設(shè)用戶告訴助手:

“I live in Austin, Texas.”

模型將這個(gè)句子轉(zhuǎn)換為一個(gè)向量:

[0.23, -0.41, 0.77, ..., 0.08]

這個(gè)向量對(duì)人類來說意義不大,但對(duì) AI 來說,它是捕捉句子含義的一種方式。該向量會(huì)存儲(chǔ)在向量數(shù)據(jù)庫(kù)中,還會(huì)附帶一些額外信息 - 也許是時(shí)間戳或者來自這個(gè)用戶的注釋。

如果用戶說:

“Book a flight to my hometown.”

該模型會(huì)將這個(gè)新句子轉(zhuǎn)換成向量,然后在向量數(shù)據(jù)庫(kù)中搜索,找到最相似的已存儲(chǔ)向量。例如,當(dāng)系統(tǒng)檢測(cè)到我的家鄉(xiāng)時(shí),可能會(huì)匹配到我住在得克薩斯州奧斯汀市”,從而理解你的意思。這種基于語義理解而非單純關(guān)鍵詞匹配的能力,實(shí)際上為大型語言模型提供了一種類似記憶的功能。

為什么向量存儲(chǔ)對(duì)記憶至關(guān)重要

大型語言模型通過上下文窗口來處理文本內(nèi)容。以GPT-4-turbo為例,其處理能力可達(dá)128,000個(gè)標(biāo)記(token),雖然這個(gè)數(shù)字非常龐大,但實(shí)際應(yīng)用中很快就會(huì)被填滿。這意味著我們無法一直將整個(gè)對(duì)話內(nèi)容保存在內(nèi)存中。為了解決這個(gè)問題,可以考慮使用向量存儲(chǔ)技術(shù)來構(gòu)建長(zhǎng)期記憶。具體來說,我們可以將重要的信息進(jìn)行向量化處理并保存起來。當(dāng)需要使用時(shí),只需從向量存儲(chǔ)庫(kù)中檢索出最相關(guān)的幾個(gè)片段,將其反饋給模型即可。這樣,模型就只需記住關(guān)鍵信息就能表現(xiàn)出智能,而不必把所有內(nèi)容都?jí)涸诙唐谟洃浝铩?/span>

流行的向量存儲(chǔ)

目前有幾種流行的向量數(shù)據(jù)庫(kù)。每種數(shù)據(jù)庫(kù)都有其優(yōu)勢(shì)。

FAISS(Facebook AI 相似性搜索)

FAISS 是由 Meta 開發(fā)的開源庫(kù)。它運(yùn)行速度快,在本地或本地應(yīng)用中表現(xiàn)良好。

FAISS 非常適合需要完全控制且不需要云托管的情況。它支持?jǐn)?shù)百萬個(gè)向量,并提供用于索引和高性能搜索的工具。

以下是 FAISS 的使用方式:

from sentence_transformers import SentenceTransformer
 import faiss
 import numpy as np
# Load a pre-trained sentence transformer model that converts sentences to numerical vectors (embeddings)
 model = SentenceTransformer('all-MiniLM-L6-v2')

 # Define the input sentence we want to store in memory
 sentence = "User lives in Austin, Texas"

 # Convert the sentence into a dense vector (embedding)
 embedding = model.encode(sentence)

 # Get the dimensionality of the embedding vector (needed to create the FAISS index)
 dimension = embedding.shape[0]

 # Create a FAISS index for L2 (Euclidean) similarity search using the embedding dimension
 index = faiss.IndexFlatL2(dimension)

 # Add the sentence embedding to the FAISS index (this is our "memory")
 index.add(np.array([embedding]))

 # Encode a new query sentence that we want to match against the stored memory
 query = model.encode("Where is the user from?")

 # Search the FAISS index for the top-1 most similar vector to the query
 D, I = index.search(np.array([query]), k=1)

 # Print the index of the most relevant memory (in this case, only one item in the index)
 print("Most relevant memory index:", I[0][0])

這段代碼的功能是通過預(yù)訓(xùn)練模型將句子用戶住在德克薩斯州奧斯汀轉(zhuǎn)換為對(duì)應(yīng)的嵌入表達(dá),并將其存儲(chǔ)在FAISS索引中。當(dāng)提出類似用戶來自哪里?這樣的問題時(shí),代碼會(huì)將該問題轉(zhuǎn)換為另一個(gè)嵌入,并在索引中搜索與之在語義上最相似的存儲(chǔ)句子。最后,它會(huì)輸出記憶中最相關(guān)句子的索引位置。FAISS的運(yùn)行效率非常高,但需要注意的是,它并不是托管服務(wù)。這意味著你需要自行負(fù)責(zé)搭建和管理相關(guān)的基礎(chǔ)設(shè)施。

Pinecone

Pinecone 是一個(gè)云原生向量數(shù)據(jù)庫(kù),特別適合用于生產(chǎn)系統(tǒng)。它為管理和維護(hù)服務(wù)器,讓你無需擔(dān)心擴(kuò)展或維護(hù)的問題。Pinecone 可以輕松處理數(shù)十億規(guī)模的向量數(shù)據(jù),并提供過濾、元數(shù)據(jù)支持和快速查詢功能。此外,它還與 LangChain、OpenAI 等工具無縫集成。以下是如何進(jìn)行基本設(shè)置:

import pinecone
 from sentence_transformers import SentenceTransformer


# Initialize Pinecone with your API key and environment
 pinecone.init(api_key="your-api-key", envirnotallow="us-west1-gcp")

 # Connect to or create a Pinecone index named "memory-store"
 index = pinecone.Index("memory-store")

 # Load a pre-trained sentence transformer model to convert text into embeddings
 model = SentenceTransformer('all-MiniLM-L6-v2')

 # Convert a fact/sentence into a numerical embedding (vector)
 embedding = model.encode("User prefers vegetarian food")

 # Store (upsert) the embedding into Pinecone with a unique ID
 index.upsert([("user-pref-001", embedding.tolist())])

 # Encode the query sentence into an embedding
 query = model.encode("What kind of food does the user like?")

 # Search Pinecone to find the most relevant stored embedding for the query
 results = index.query(queries=[query.tolist()], top_k=1)

 # Print the ID of the top matching memory
 print("Top match ID:", results['matches'][0]['id'])

如果你希望在無需管理硬件的情況下實(shí)現(xiàn)可擴(kuò)展性和易用性,Pinecone 是一個(gè)理想的選擇。其他常見的向量存儲(chǔ)工具包括:

  • Weaviate:將向量搜索與知識(shí)圖譜相結(jié)合,支持強(qiáng)大的語義搜索和混合關(guān)鍵字查詢。
  • Chroma:以其簡(jiǎn)單易用的特點(diǎn)著稱,適合進(jìn)行原型設(shè)計(jì)和開發(fā),常用于個(gè)人應(yīng)用或演示。
  • Qdrant:作為一款開源工具,專門針對(duì)高性能的向量搜索和過濾功能而設(shè)計(jì)。每種工具都有其適用的場(chǎng)景,具體取決于你對(duì)速度、規(guī)模、簡(jiǎn)單性還是特殊功能的需求。

利用檢索增強(qiáng)生成使 AI 更聰明

整個(gè)系統(tǒng)——通過嵌入用戶輸入、將其存儲(chǔ)在向量數(shù)據(jù)庫(kù)中并支持后續(xù)檢索——被稱為檢索增強(qiáng)生成(RAG)。雖然AI并沒有真正的大腦,但它可以展現(xiàn)出具備思考能力的特征。可以決定要記憶的內(nèi)容、記憶的時(shí)間點(diǎn),以及如何在對(duì)話中將這些信息調(diào)用回來。例如,當(dāng)AI幫助用戶跟蹤項(xiàng)目進(jìn)展時(shí),可以將每個(gè)項(xiàng)目的詳細(xì)信息存儲(chǔ)為向量形式。當(dāng)用戶后續(xù)詢問設(shè)計(jì)階段的進(jìn)展如何?”時(shí),系統(tǒng)會(huì)自動(dòng)在記憶數(shù)據(jù)庫(kù)中進(jìn)行搜索,提取最相關(guān)的記錄,并讓大語言模型將這些信息整合成一個(gè)有用且清晰的回答。

向量記憶的局限性

向量存儲(chǔ)為 AI 代理提供了模擬記憶的強(qiáng)大功能,但同時(shí)也存在一些重要限制。首先,向量搜索基于相似性,而不是真正的理解。這意味著在向量空間中,最接近的存儲(chǔ)嵌入并不總是最適合特定上下文的。例如,兩個(gè)在數(shù)學(xué)上非常接近的句子可能傳達(dá)完全不同的含義。因此,AI 有時(shí)會(huì)給出令人困惑或與主題無關(guān)的結(jié)果,尤其是在涉及細(xì)微差別或情感色彩的情況下。其次,嵌入是靜態(tài)的快照。一旦存儲(chǔ),除非被明確更新,否則它們不會(huì)變化或適應(yīng)新的信息。如果用戶改變主意或提供新信息,系統(tǒng)將無法學(xué)習(xí),除非原始向量被移除或替換。與之不同,人類記憶會(huì)隨著時(shí)間的推移而適應(yīng)和改進(jìn),而基于向量的記憶則是凍結(jié)”的,除非開發(fā)人員主動(dòng)進(jìn)行管理。以下是一些緩解這些挑戰(zhàn)的方法:

  • 在檢索過程中增加上下文信息,例如通過元數(shù)據(jù)(如時(shí)間戳、主題或用戶意圖)來過濾結(jié)果,從而縮小范圍,確保結(jié)果真正相關(guān)。
  • 定期重新處理或重新嵌入舊記憶,以確保信息反映出對(duì)用戶需求或偏好的最新理解。除了技術(shù)上的限制,向量存儲(chǔ)還引發(fā)了一些隱私和倫理方面的關(guān)注。幾個(gè)關(guān)鍵問題包括:誰來決定保存什么內(nèi)容?這些記憶應(yīng)該保留多長(zhǎng)時(shí)間?用戶能否控制記住或遺忘什么?

理想情況下,這些決策不應(yīng)僅由開發(fā)人員或系統(tǒng)做出。更周到的方法是讓記憶變得明確。例如,允許用戶選擇要記住的內(nèi)容,并通過標(biāo)記某些輸入為重要”來增加同意和透明度。同樣,記憶的保留時(shí)間應(yīng)根據(jù)信息的有用性來設(shè)定過期策略。同樣重要的是,用戶應(yīng)能夠查看、管理和刪除他們存儲(chǔ)的數(shù)據(jù)。無論是通過簡(jiǎn)單的界面還是編程接口,記憶管理工具對(duì)于建立信任都至關(guān)重要。隨著向量存儲(chǔ)的廣泛應(yīng)用,人們對(duì) AI 系統(tǒng)尊重用戶隱私和自主權(quán)的期望也在不斷提高。更廣泛的 AI 社區(qū)仍在探索圍繞這些問題的最佳實(shí)踐。但有一點(diǎn)是明確的:模擬記憶不僅要追求準(zhǔn)確性和性能,還要注重問責(zé)。通過將強(qiáng)大的默認(rèn)設(shè)置與用戶控制相結(jié)合,開發(fā)人員可以確保基于向量的記憶系統(tǒng)既智能又負(fù)責(zé)任。

結(jié)論

AI代理提供了一種模擬記憶的功能,而且表現(xiàn)得非常出色。通過將文本轉(zhuǎn)化為向量,并借助FAISS或Pinecone等工具,我們賦予了模型檢索關(guān)鍵信息的能力。這并非真實(shí)記憶,卻能讓AI系統(tǒng)顯得更具個(gè)性化、更有幫助和更人性化。隨著這些工具的不斷發(fā)展,AI的幻覺能力也會(huì)隨之增強(qiáng)。但每一套智能AI的背后,本質(zhì)上都是一套基于向量和相似性計(jì)算的系統(tǒng)。如果你能掌握這一原理,就能打造出一個(gè)能夠隨著時(shí)間推移不斷學(xué)習(xí)、記憶并持續(xù)改進(jìn)的智能助手。

譯者介紹

崔皓,51CTO社區(qū)編輯,資深架構(gòu)師,擁有18年的軟件開發(fā)和架構(gòu)經(jīng)驗(yàn),10年分布式架構(gòu)經(jīng)驗(yàn)。

原文標(biāo)題:How AI Agents Remember Things: The Role of Vector Stores in LLM Memory作者:Manish Shivanandhan

責(zé)任編輯:姜華 來源: 51CTO
相關(guān)推薦

2025-01-14 10:29:34

2024-01-08 15:35:34

2023-10-10 13:57:35

2024-07-12 14:53:42

2023-07-28 08:00:00

人工智能向量數(shù)據(jù)庫(kù)

2025-06-03 08:32:00

2024-05-08 07:17:29

向量數(shù)據(jù)庫(kù)數(shù)據(jù)架構(gòu)大模型

2023-10-06 13:52:40

數(shù)據(jù)庫(kù)模型

2023-09-14 17:39:19

向量數(shù)據(jù)庫(kù)火山引擎AI

2025-05-16 10:17:54

2024-05-22 12:07:12

向量數(shù)據(jù)庫(kù)AI

2024-06-12 08:30:34

2024-10-28 14:05:00

2024-12-23 11:31:05

大模型檢索人工智能

2024-03-07 10:09:42

向量數(shù)據(jù)庫(kù)

2024-05-31 13:33:11

大模型向量數(shù)據(jù)庫(kù)

2023-02-27 08:07:47

語言模型數(shù)據(jù)庫(kù)故障

2025-05-26 02:44:00

向量數(shù)據(jù)庫(kù)傳統(tǒng)數(shù)據(jù)庫(kù)向量化
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 毛片在线免费播放 | 亚洲视频国产 | 欧美一级黄 | 黄av在线| 四虎影视在线 | 国产h视频在线观看 | 午夜免费剧场 | 福利小视频在线观看 | 91av视频在线播放 | 成人片在线播放 | 免费三级网站 | 成人激情视频在线观看 | 一区二区三区日韩 | 91在线精品一区二区 | 黄色一级大片在线免费看国产一 | 韩国黄色网址 | 国产精品久久久久久无人区 | 欧美一级黄色大片 | 丰满少妇高潮在线观看 | 亚洲精品一区在线观看 | 中文字幕永久 | 国产美女一区二区三区 | 亚洲精品欧美 | 天海翼一区 | 天海翼一区二区 | 欧洲黄色网| 亚洲自拍偷拍一区 | 放几个免费的毛片出来看 | 五月激情综合 | 日本免费黄色 | 91蜜桃婷婷狠狠久久综合9色 | 肉丝美脚视频一区二区 | 国产超碰人人模人人爽人人添 | 日韩黄色在线观看 | 午夜影院在线免费观看 | 欧美日韩高清在线 | 亚洲欧美综合另类 | 久久国产成人 | 亚洲高清在线播放 | 中文字幕亚洲欧美 | 中文字幕第一区综合 |