国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

使用知識圖譜提高RAG的能力,減少大模型幻覺

人工智能
在使用大型語言模型(llm)時,幻覺是一個常見的問題。LLM生成流暢連貫的文本,但往往生成不準確或不一致的信息。防止LLM產生幻覺的方法之一是使用提供事實信息的外部知識來源,如數據庫或知識圖譜。

在使用大型語言模型(llm)時,幻覺是一個常見的問題。LLM生成流暢連貫的文本,但往往生成不準確或不一致的信息。防止LLM產生幻覺的方法之一是使用提供事實信息的外部知識來源,如數據庫或知識圖譜。

向量數據庫和知識圖譜

向量數據庫

向量數據庫是表示實體或概念(如單詞、短語或文檔)的高維向量的集合。數據庫可用于測量不同實體或概念之間的相似性或相關性,基于它們的向量表示。

例如,一個向量數據庫可以根據“巴黎”和“法國”的向量距離告訴你,“巴黎”和“法國”比“巴黎”和“德國”更相關。

查詢向量數據庫通常涉及搜索相似的向量或 檢索基于特定標準的向量。下面是一個如何查詢向量數據庫的簡單示例:

讓我們假設有一個向量數據庫,其中包含以高維向量表示的客戶配置文件,并且您希望找到與給定參考客戶相似的客戶。

1、首先為參考客戶定義一個向量表示。這可以通過提取相關特征或屬性并將其轉換為向量格式來實現。

2、使用合適的算法,如k近鄰(k-NN)或余弦相似度,在向量數據庫中執行相似度搜索。該算法將根據參考客戶向量的相似度分數來識別最近鄰。

3、檢索與上一步中確定的最近鄰向量相對應的客戶配置文件。這些概要文件將根據定義的相似性度量表示與參考客戶相似的客戶。

4、向用戶顯示檢索到的客戶配置文件或相關信息,例如顯示他們的姓名、人口統計數據或購買歷史記錄。

知識圖譜

知識圖譜是表示實體或概念及其關系(如事實、屬性或類別)的節點和邊的集合?;谒鼈兊墓濣c和邊緣屬性,可用于查詢或推斷關于不同實體或概念的事實信息。

例如,一個知識圖可以根據邊緣標簽告訴你“巴黎”是“法國”的首都。

查詢圖數據庫涉及遍歷圖結構并根據特定標準檢索節點、關系或模式。

假設你有一個表示社交網絡的圖數據庫,其中用戶是節點,他們的關系表示為連接節點的邊。如果為給定用戶找到朋友的朋友(共同聯系),那么我們應該進行如下操作:

1、在圖數據庫中標識表示參考用戶的節點。這可以通過查詢特定的用戶標識符或其他相關標準來實現。

2、使用圖查詢語言,例如Cypher(在Neo4j中使用)或Gremlin,從參考用戶節點遍歷圖。指定要探索的模式或關系。

MATCH (:User {userId: 
‘referenceUser’})-[:FRIEND]->()-[:FRIEND]->(fof:User) RETURN fof

這個查詢從參考用戶開始,沿著FRIEND關系找到另一個節點(FRIEND),然后沿著另一個FRIEND關系找到朋友的朋友(fof)。

3、對圖數據庫執行查詢,根據查詢模式檢索結果節點(朋友的朋友),可以獲得關于檢索節點的特定屬性或其他信息。

圖數據庫可以提供更高級的查詢功能,包括過濾、聚合和復雜的模式匹配。具體的查詢語言和語法可能會有所不同,但一般的過程涉及遍歷圖結構以檢索符合所需標準的節點和關系。

知識圖譜解決“幻覺”問題的優勢

知識圖譜比向量數據庫提供更精確和具體的信息。向量數據庫表示兩個實體或概念之間的相似性或相關性,而知識圖可以更好地理解它們之間的關系。例如知識圖譜可以告訴你“埃菲爾鐵塔”是“巴黎”的地標,而向量數據庫只能表明這兩個概念的相似程度,但是具體他們之間如何相關的卻沒有說明。

知識圖支持比向量數據庫更多樣化、更復雜的查詢。向量數據庫主要可以回答基于向量距離、相似性或最近鄰的查詢,這些查詢僅限于直接的相似性測量。而知識圖可以處理基于邏輯運算符的查詢,例如“具有屬性Z的所有實體是什么?”或“W和V的共同范疇是什么?”這可以幫助LLM產生更多樣化和有趣的文本。

知識圖比向量數據庫更能進行推理和推斷。向量數據庫只能提供存儲在數據庫中的直接信息。而知識圖可以提供從實體或概念之間的關系派生的間接信息。例如,一個知識圖譜可以根據“巴黎是法國的首都”和“法國位于歐洲”這兩個事實推斷出“埃菲爾鐵塔位于歐洲”。這可以幫助LLM生成更具邏輯性和一致性的文本。

所以知識圖譜是一個比向量數據庫更好的解決方案。可以為LLM提供了更準確、相關、多樣、有趣、合乎邏輯和一致的信息,使它們更可靠地生成準確和真實的文本。但這里的關鍵是文檔文檔之間需要有清晰的關系,否則知識圖譜將無法捕捉到它。

但是,知識圖譜的使用并沒有向量數據庫那么直接簡單,不僅在內容的梳理(數據),應用部署,查詢生成等方面都沒有向量數據庫那么方便,這也影響了它在實際應用中的使用頻率。所以下面我們使用一個簡單的例子來介紹如何使用知識圖譜構建RAG。

代碼實現

我們需要使用3個主要工具/組件:

1、LlamaIndex是一個編排框架,它簡化了私有數據與公共數據的集成,它提供了數據攝取、索引和查詢的工具,使其成為生成式人工智能需求的通用解決方案。

2、嵌入模型將文本轉換為文本所提供的一條信息的數字表示形式。這種表示捕獲了所嵌入內容的語義含義,使其對于許多行業應用程序都很健壯。這里使用“thenlper/gte-large”模型。

3、需要大型語言模型來根據所提供的問題和上下文生成響應。這里使用Zephyr 7B beta模型

下面我們開始進行代碼編寫,首先安裝包

%%capture
 pip install llama_index pyvis Ipython langchain pypdf

啟用日志Logging Level設置為“INFO”,我們可以輸出有助于監視應用程序操作流的消息

import logging
 import sys
 #
 logging.basicConfig(stream=sys.stdout, level=logging.INFO)
 logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))

導入依賴項

from llama_index import (SimpleDirectoryReader,
                          LLMPredictor,
                          ServiceContext,
                          KnowledgeGraphIndex)
 #
 from llama_index.graph_stores import SimpleGraphStore
 from llama_index.storage.storage_context import StorageContext
 from llama_index.llms import HuggingFaceInferenceAPI
 from langchain.embeddings import HuggingFaceInferenceAPIEmbeddings
 from llama_index.embeddings import LangchainEmbedding
 from pyvis.network import Network

我們使用Huggingface推理api端點載入LLM

HF_TOKEN = "api key DEEPHUB 123456"
 llm = HuggingFaceInferenceAPI(
    model_name="HuggingFaceH4/zephyr-7b-beta", token=HF_TOKEN
 )

首先載入嵌入模型:

embed_model = LangchainEmbedding(
  HuggingFaceInferenceAPIEmbeddings(api_key=HF_TOKEN,model_name="thenlper/gte-large")
 )

加載數據集

documents = SimpleDirectoryReader("/content/Documents").load_data()
 print(len(documents))
 
 ####Output###
 44

構建知識圖譜索引

創建知識圖譜通常涉及專業和復雜的任務。通過利用Llama Index (LLM)、KnowledgeGraphIndex和GraphStore,可以方便地任何數據源創建一個相對有效的知識圖譜。

#setup the service context
 
 service_context = ServiceContext.from_defaults(
    chunk_size=256,
    llm=llm,
    embed_model=embed_model
 )
 
 #setup the storage context
 
 graph_store = SimpleGraphStore()
 storage_context = StorageContext.from_defaults(graph_store=graph_store)
 
 #Construct the Knowlege Graph Undex
 index = KnowledgeGraphIndex.from_documents( documents=documents,
                                            max_triplets_per_chunk=3,
                                            service_context=service_context,
                                            storage_context=storage_context,
                                          include_embeddings=True)

Max_triplets_per_chunk:它控制每個數據塊處理的關系三元組的數量

Include_embeddings:切換在索引中包含嵌入以進行高級分析。

通過構建查詢引擎對知識圖譜進行查詢

query = "What is ESOP?"
 query_engine = index.as_query_engine(include_text=True,
                                      response_mode ="tree_summarize",
                                      embedding_mode="hybrid",
                                      similarity_top_k=5,)
 #
 message_template =f"""<|system|>Please check if the following pieces of context has any mention of the keywords provided in the Question.If not then don't know the answer, just say that you don't know.Stop there.Please donot try to make up an answer.</s>
 <|user|>
 Question: {query}
 Helpful Answer:
 </s>"""
 #
 response = query_engine.query(message_template)
 #
 print(response.response.split("<|assistant|>")[-1].strip())
 #####OUTPUT #####################
 ESOP stands for Employee Stock Ownership Plan. It is a retirement plan that allows employees to receive company stock or stock options as part of their compensation. In simpler terms, it is a plan that allows employees to own a portion of the company they work for. This can be a motivating factor for employees as they have a direct stake in the company's success. ESOPs can also be a tax-efficient way for companies to provide retirement benefits to their employees.

可以看到,輸出的結果已經很好了,可以說與向量數據庫的結果非常一致。

最后還可以可視化我們生成的圖譜,使用Pyvis庫進行可視化展示

from pyvis.network import Network
 from IPython.display import display
 g = index.get_networkx_graph()
 net = Network(notebook=True,cdn_resources="in_line",directed=True)
 net.from_nx(g)
 net.show("graph.html")
 net.save_graph("Knowledge_graph.html")
 #
 import IPython
 IPython.display.HTML(filename="/content/Knowledge_graph.html")

通過上面的代碼我們可以直接通過LLM生成知識圖譜,這樣簡化了我們非常多的人工操作。如果需要更精準更完整的知識圖譜,還需要人工手動檢查,這里就不細說了。

數據存儲,通過持久化數據,可以將結果保存到硬盤中,供以后使用。

storage_context.persist()

存儲的結果如下:

總結

向量數據庫和知識圖譜的區別在于它們存儲和表示數據的方法。向量數據庫擅長基于相似性的操作,依靠數值向量來測量實體之間的距離。知識圖譜通過節點和邊緣捕獲復雜的關系和依賴關系,促進語義分析和高級推理。

對于語言模型(LLM)幻覺,知識圖被證明優于向量數據庫。知識圖譜提供了更準確、多樣、有趣、有邏輯性和一致性的信息,減少了LLM產生幻覺的可能性。這種優勢源于它們能夠提供實體之間關系的精確細節,而不僅僅是表明相似性,從而支持更復雜的查詢和邏輯推理。

在以前知識圖譜的應用難點在于圖譜的構建,但是現在LLM的出現簡化了這個過程,使得我們可以輕松的構建出可用的知識圖譜,這使得他在應用方面又向前邁出了一大步。對于RAG,知識圖譜是一個非常好的應用方向。

責任編輯:華軒 來源: DeepHub IMBA
相關推薦

2024-02-26 00:00:00

RAG系統圖譜

2025-05-28 01:50:00

2024-10-12 08:03:25

2024-10-07 08:49:25

2023-09-27 09:00:00

大型語言模型自然語言處理

2024-08-06 08:43:17

2024-01-29 00:25:59

人工智能結構化編碼

2024-02-20 08:17:55

2024-05-16 08:23:26

大語言模型知識圖譜人工智能

2023-08-22 15:34:01

Python開發

2025-11-27 07:44:45

2024-06-17 07:49:53

2025-03-06 10:41:32

2021-01-19 10:52:15

知識圖譜

2025-04-27 00:10:00

AI人工智能知識圖譜

2017-03-06 16:48:56

知識圖譜構建存儲

2021-01-25 10:36:32

知識圖譜人工智能

2025-10-28 04:00:00

GraphRAG節點

2025-05-15 09:43:15

知識圖譜向量數據庫RAG

2025-04-08 03:45:00

點贊
收藏

51CTO技術棧公眾號

亚洲免费在线| av二区在线| 国产黄色片在线播放| 成人在线免费看黄| 亚洲色图欧美| 欧美一级专区| 福利电影一区二区| 国产精品不卡在线观看| 亚洲国产成人porn| 777777777亚洲妇女| 欧美三级网色| 97在线观看免费高清视频| 国产精品久久免费视频| 国产高清久久久| 亚洲精品大尺度| 精品视频在线观看一区二区| 超碰在线97国产| 91麻豆福利精品推荐| 日韩av网站电影| 毛片网站在线| 久久99精品国产.久久久久久| 欧美一级专区免费大片| 色综合久久av| av在线亚洲色图| 亚洲3atv精品一区二区三区| 茄子视频成人在线观看 | 国产精品视频中文字幕91| 无遮挡爽大片在线观看视频| 亚洲综合一区二区| 91免费黄视频| 激情欧美日韩| 国产精品美女午夜av| 欧美va在线观看| 欧美午夜视频一区二区| 成人免费黄色网址| 91毛片在线观看| 国产 国语对白 露脸| 午夜日本精品| 国产精品高精视频免费| 欧美大片免费| 精品国产乱码久久久久久蜜臀| 91淫黄看大片| 国产精品久久久久久久免费软件| 亚洲а∨天堂久久精品9966| 国产日产欧美视频| 亚洲理论在线| caoporen国产精品| 久久久精品国产**网站| 亚洲欧美综合v| 欧美伦理免费在线| 色哟哟欧美精品| 黄色一级视频网站| 最新高清无码专区| 黄色小视频在线观看| 不卡电影一区二区三区| 一区二区三区四区在线视频| 91久久黄色| 久久国产手机看片| 欧美另类专区| 国产99在线播放| 羞羞答答成人影院www| 国产69精品久久久久久| 国产三级三级三级看三级| 日韩视频免费观看高清在线视频| 天堂在线中文资源| 国产一区二区三区免费视频| 国产精品三p一区二区| 日韩在线观看免费全| 国产v综合v| 欧美激情中文字幕乱码免费| 亚洲一区二区三区中文字幕在线观看 | 大桥未久av一区二区三区中文| 久久视频这里有精品| 1024精品合集| 中文在线а√天堂官网| 欧美天堂亚洲电影院在线播放| 三级黄视频在线观看| 欧美日韩五月天| 麻豆福利在线观看| 日韩精品中文字幕视频在线| 欧美free嫩15| 欧美午夜精品久久久久久蜜| www.av亚洲| 99中文字幕一区| 久久综合亚洲社区| 欧美 亚欧 日韩视频在线 | 国产精品久久久久永久免费观看 | 国产精品啊啊啊| 欧美午夜视频在线| 天天综合色天天综合色h| 久久a级毛片毛片免费观看| 91传媒在线免费观看| 成人在线视频首页| 色吊丝在线永久观看最新版本| 欧美午夜一区二区三区 | 亚洲欧洲精品一区二区三区 | 日韩二区三区在线观看| 中文字幕在线播放第一页| 亚洲精品国产精品国自产观看浪潮| aaa亚洲精品| 综合久草视频| 欧美精品久久久久久久自慰| 日韩欧美一级精品久久| 嫩草一区二区三区| mm131国产精品| 一区二区三区亚洲| 91国内在线| 免费成人av网站| 色天天综合色天天久久| 国产精品探花在线观看| a级片一区二区| 国产精品久久久一区二区三区| 日韩你懂的在线播放| 国产成人av一区| 制服丝袜专区在线| 一区二区国产日产| 精品国产一区av| 牛牛精品成人免费视频| 久久99久久99精品| 国产日本欧美在线观看| 日韩高清av一区二区三区| 中文字幕中文字幕中文字幕亚洲无线| 午夜精品一区二区三区国产 | 91激情在线视频| 国产欧美日韩三区| 亚洲一区国产| 日韩av午夜| porn视频在线观看| 欧美二区在线播放| 国产亚洲一区在线| 成年人视频免费看| 秋霞av国产精品一区| 久久婷婷一区二区三区| 国产高清亚洲| 丝袜美女写真福利视频| 成年无码av片在线| 色综合咪咪久久| 国产一区二区三区黄视频| 亚洲男人在线| 黄色片一级视频| 国产伦精品一区二区三区视频免费 | 91猫先生在线| 国产高清在线观看| 欧美揉bbbbb揉bbbbb| 黄色在线免费| 久久电影一区二区| 一本色道88久久加勒比精品| www.av91| 亚洲免费色视频| 国产第一页在线视频| 国产成人在线视频| 三级影片在线观看欧美日韩一区二区| 天天影视综合色| 欧美三级中文字幕在线观看| 福利电影一区| 中文字幕亚洲精品| 久久一区二区三区四区五区 | 久久亚洲精品中文字幕蜜潮电影| 国内自拍中文字幕| 欧美性开放视频| 五月激激激综合网色播| 一本久道高清无码视频| 亚洲精品97久久| 亚洲高清自拍| 在线视频国产福利| 久久久亚洲国产| 成人av网站在线观看| 在线视频二区| 日本亚洲欧美三级| 日产国产高清一区二区三区| 日本1级在线| 国产在线不卡精品| 亚洲国产精品天堂| 偷拍亚洲色图| 精品亚洲一区二区三区四区| 精品一区精品二区| 美女视频第一区二区三区免费观看网站 | 中文字幕在线影院| 欧美激情视频在线| jlzzjlzz亚洲日本少妇| 岛国av在线网站| 欧美一区二区影视| 欧美久久一二区| 国产精品久久占久久| 性网站在线免费观看| 中文字幕久久久av一区| 18一19gay欧美视频网站| 国产综合色一区二区三区| 大地资源第二页在线观看高清版| 久久影院午夜精品| 欧美韩国日本精品一区二区三区| 亚洲精品ww久久久久久p站| 77成人影视| 分分操这里只有精品| 伊人精品在线观看| 大荫蒂性生交片| 亚洲欧洲成人| free亚洲| 欧美r级电影在线观看| 久久国产精品毛片|