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

知識圖譜+向量數據庫:打造更智能的RAG系統

人工智能
本文將探討如何結合知識圖譜和向量數據庫構建更智能的圖RAG系統,讓AI回答更準確、更可靠。

在當今AI時代,檢索增強生成(RAG)已成為提升大語言模型回答質量的關鍵技術。本文將探討如何結合知識圖譜和向量數據庫構建更智能的圖RAG系統,讓AI回答更準確、更可靠。

圖RAG是什么?為什么需要它?

想象一下,傳統RAG就像是一個勤奮但視野有限的圖書管理員,只能根據關鍵詞匹配找到相關書籍。而圖RAG則像是一位博學多才的專家,不僅知道每本書的內容,還了解它們之間錯綜復雜的關聯。

傳統RAG雖然能從海量文檔中檢索相關片段,但它就像戴著眼罩看世界—看到了內容,卻看不到內容間的聯系。圖RAG通過引入知識圖譜這把"魔法鑰匙",打開了數據關系的大門,讓AI不僅理解"是什么",還能理解"為什么"和"怎么樣",從而提供更全面、更深入的回答。

目前主要有三種實現圖RAG的方式:

一是基于向量的檢索,將知識圖譜向量化存儲在向量數據庫中,通過相似度匹配檢索。二是相關實體提示查詢檢索使用LLM將自然語言轉換為SPARQL或Cypher查詢語句,直接查詢知識圖譜。最后就是二者結合的混合方法,結合兩者優勢,先用向量搜索初步檢索,再用知識圖譜進行篩選優化。

圖片

實驗比較:三種方法的優劣

我們以電子商務產品推薦系統為例,對比三種方法在語義搜索、相似度計算和RAG方面的表現。

方法一:向量數據庫檢索

首先,我們將產品描述和用戶評論向量化存入Milvus向量數據庫:

# 定義數據模式 
collection_name = "products" 
dim = 1536  
# OpenAI embedding維度  
# 創建集合 
collection = Collection(name=collection_name) 
collection.create_field(FieldSchema("id", DataType.INT64, is_primary=True)) 
collection.create_field(FieldSchema("title", DataType.VARCHAR, max_length=200)) 
collection.create_field(FieldSchema("description", DataType.VARCHAR, max_length=2000)) 
collection.create_field(FieldSchema("embedding", DataType.FLOAT_VECTOR, dim=dim))  
# 寫入數據 
with collection:     
  for index, row in df.iterrows():         
  embedding = get_embedding(row.title + " " + row.description)         collection.insert([             [index], [row.title], [row.description], [embedding]         ])

語義搜索測試:搜索"輕便防水運動鞋"時,返回相關產品:

《超輕透氣跑步鞋》

《防水戶外徒步鞋》

《多功能運動訓練鞋》

這里向量數據庫展現了良好的語義理解能力,能找到功能相關的產品,即

使它們的描述用詞不完全一致。

當用戶詢問"推薦適合雨天跑步的鞋子"時,系統檢索出相關產品并生成建議:

以下是幾款適合雨天跑步的鞋子推薦: 
- 防水透氣跑步鞋XYZ采用特殊橡膠外底,提供優異抓地力 
- 全天候運動鞋ABC配備防潑水面料,輕量設計適合長跑 
- 專業越野跑鞋DEF具有排水設計,即使踩水也能快速干燥

然而,我們發現一個問題:向量數據庫可能會返回視覺上相似但功能不匹配的產品(如時尚休閑鞋),這會導致"上下文污染",使LLM生成的推薦不夠精準。

方法二:知識圖譜檢索

接下來,我們將同樣的數據構建成知識圖譜:

# 創建實體和關系 
g.add((product_uri, RDF.type, Product)) 
g.add((product_uri, name, Literal(row['title']))) 
g.add((product_uri, description, Literal(row['description'])))  
# 添加產品屬性和分類關系 
for feature in features:     
  feature_uri = create_valid_uri("http://example.org/feature", feature)     
  g.add((feature_uri, RDF.type, Feature))    
  g.add((product_uri, hasFeature, feature_uri))

語義搜索測試:我們不僅搜索"防水"標簽,還利用產品本體的層級關系,同時搜索相關概念如"防潑水"和"快干":

# 獲取防水的相關概念 
related_concepts = get_all_related_concepts("WaterProof", depth=2) 
# 將所有概念轉為URI進行查詢 
feature_terms = [convert_to_feature_uri(term) for term in flat_list]

結果返回:

《全天候防水徒步鞋》(標簽:防水、耐磨、戶外)

《速干涉水溯溪鞋》(標簽:快干、防滑、水上運動)

《Gore-Tex專業跑鞋》(標簽:防潑水、透氣、專業跑步)

知識圖譜的優勢在于結果可解釋性強,我們知道每個產品為什么被選中。

方法三:混合方法

最后,我們結合兩種方法的優勢:

將產品描述、評論和特性標簽一起向量化:
# 創建包含產品特性的向量表示 
collection = Collection(name="products_with_features") 
collection.create_field(FieldSchema("id", DataType.INT64, is_primary=True)) 
collection.create_field(FieldSchema("title", DataType.VARCHAR, max_length=200)) 
collection.create_field(FieldSchema("description", DataType.VARCHAR, max_length=2000)) 
collection.create_field(FieldSchema("features", DataType.VARCHAR, max_length=500)) 
collection.create_field(FieldSchema("product_uri", DataType.VARCHAR, max_length=200)) 
collection.create_field(FieldSchema("embedding", DataType.FLOAT_VECTOR, dim=dim))
先用向量搜索獲取初步結果:
# 搜索適合雨天跑步的鞋子 
search_params = {     "metric_type": "COSINE",     "params": {"nprobe": 10} } 
results = collection.search(     [get_embedding("適合雨天跑步的鞋子")],     "embedding",     search_params,     limit=20,     
output_fields=["title", "description", "features", "product_uri"] )
再用知識圖譜篩選和排序:
# 篩選出真正具備防水和跑步功能的產品 
query = """ SELECT ?product ?title ?description WHERE {   ?product hasFeature ?feature1.   ?product hasFeature ?feature2.   ?product name ?title.   ?product description ?description.   FILTER (?product IN (%s) && ?feature1 IN (%s) && ?feature2 IN (%s)) } """

這種混合方法解決了上下文污染問題,最終返回的都是真正適合雨天跑步的專業鞋款:

《GTX防水專業馬拉松跑鞋》

《全天候防潑水競速跑鞋》

《防滑防水越野跑步鞋》

結論與實踐建議

從上面的對比,我們可以看到,向量數據庫優勢是部署簡單快速,Milvus提供高性能向量檢索,特別適合大規模產品庫。缺點是結果不可解釋,且存在上下文污染風險。知識圖譜優勢,是結果高度可控和可解釋,可以精確過濾無關內容。缺點是需要構建和維護知識圖譜,查詢編寫復雜。而對于混合方法,則利用Milvus的高效檢索和知識圖譜的精確性,既保證了檢索速度,又提高了推薦質量。

在實際應用推薦上,比如做內容推薦,同時考慮主題相似性和內容關聯性,避免推薦表面相似但實質不相關的內容,又或者對于客戶服務,確保回答不僅相關,還能考慮到產品間的兼容性和搭配關系。

圖RAG不僅是技術的組合,更是提升AI系統智能程度的飛躍。通過Milvus的高效向量檢索和知識圖譜的關系理解,我們的AI不再是簡單的"關鍵詞匹配機器",而是真正理解用戶需求的"智能顧問"。

責任編輯:龐桂玉 來源: 口袋大數據
相關推薦

2024-09-02 10:13:54

2025-04-01 07:30:00

2025-01-09 10:52:23

RAG知識圖譜人工智能

2020-12-18 11:59:21

人工智能知識圖譜

2024-02-26 00:00:00

RAG系統圖譜

2025-06-09 03:00:00

人工智能AI知識圖譜

2025-06-03 15:00:04

2025-06-03 06:03:06

2025-06-06 01:00:00

AI人工智能知識圖譜

2024-10-07 08:49:25

2024-10-12 08:03:25

2024-08-06 08:43:17

2025-03-06 10:41:32

2025-06-05 02:00:00

人工智能知識圖譜AI

2025-06-09 09:10:26

2025-06-05 09:09:50

2023-05-22 09:18:04

2019-01-18 16:02:33

知識圖譜圖數據庫AI

2021-01-19 10:52:15

知識圖譜

2025-04-27 00:10:00

AI人工智能知識圖譜
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕免费在线观看 | 国家一级黄色片 | 日韩一区精品 | 国产网站在线免费观看 | 一级特黄网站 | 久久高清精品 | 2018天天干天天操 | 国产一区二区三区在线 | 亚洲视频欧美视频 | 天堂资源视频 | 黄视频在线网站 | 福利久久| 国产一级特黄aaa大片评分 | 亚洲视频 欧美视频 | 99精品在线 | 欧美成人久久 | 丝袜一区二区三区 | 2019天天干夜夜操 | 国内精品久久久久 | 91精品国产一区二区三区香蕉 | 国产黄色av电影 | 欧美亚洲国产精品 | 91av视频 | 欧美 日韩 国产 在线 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 一区二区三区成人 | 在线观看涩涩视频 | 中文字幕一区二区三区四区 | 欧美日韩a | 精品区 | 成人免费视频观看视频 | 国产精品99久久久久久久久久久久 | 91九色视频| 国产精品久久久久久久久久久久冷 | 国产一级片免费在线观看 | 亚洲一区二区三区在线视频 | 羞羞免费网站 | 奇米影视在线 | 在线日韩不卡 | 97国产一区二区精品久久呦 | 日韩淫片免费看 |