精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

大模型賦能知識圖譜構建問答系統(tǒng)

發(fā)布于 2025-11-24 00:17
瀏覽
0收藏

大模型賦能知識圖譜構建問答系統(tǒng)-AI.x社區(qū)基于模擬 FAQ 文檔構建的 knowledge graph

今天我?guī)硪粋€基于 knowledge graph(用第一部分介紹的方法構建)和 LLM(這里用的是 Gemma3–4b-it-qat,與之前相同)的簡易 Question Answer (QA) System。我選擇使用 Gemma3–4b,是因為它體量足夠小,可以在普通筆記本上運行,同時又非常擅長遵循指令。

在這篇博客中,我們會用一個關于假想智能手機的 FAQ 文本作為樣例,利用上一篇文章中的代碼(同一倉庫)為其生成 knowledge graph,然后搭建一個系統(tǒng)來回答與該產(chǎn)品相關的問題,就像這樣:

大模型賦能知識圖譜構建問答系統(tǒng)-AI.x社區(qū)

一些問答示例

在本文中,我們將學習:

  1. 什么是 QA System
  2. 了解我們的思路
  3. 查看代碼
  4. 討論局限與改進方向

什么是 QA System

引用 Google 的定義:

A question answering (QA) system is a software application that takes a user's question in natural language and provides a direct, relevant answer by processing the question's intent and retrieving information from a knowledge source or generating a new response.

在本文中,我們的 “knowledge source” 是我用 Gemma3 生成的一段模擬 FAQ 文本,你可以在這篇博客的 Github 倉庫 中找到。我們可以運行倉庫的 main.py 來構建 KG 并將其保存到輸出目錄:

python main.py --inputpath ./input/sample-faq.txt --outlabel faq

該命令會將 networkx graph 保存為文件 “nx_graph.pkl”,稍后在構建 QA system 時會加載它。

我們的思路

核心思路是:從用戶問題中抽取 entities/keywords,找到與它們相關的所有 nodes 與 edges,然后將這些信息與問題一起提供給 LLM,讓其基于 KG 中的信息進行回答。我們把方案正式化如下。

給定一個問題 q,以及基于任意語料構建的 knowledge graph (G):

  1. 使用 LLM 從 q 中抽取 named entities(entity_keywords)和 relations/predicates(relation_keywords)。
  2. 從 entity_keywords 中枚舉所有可能的成對組合。這使我們之后可以用 source 和 target 參數(shù)查詢圖,因為我們無法預先假設某個 entity 是 source 還是 target。
  3. 對于第 2 步得到的每一對 (u, v),在 G 中查找 u 與 v 之間的所有路徑。這樣可以找出兩個實體之間的所有 relations/paths/knowledge。引入這一步是個 game-changer。
  4. 對于找到的每條路徑(source 與 target node),提取它們之間的 relation。例如 (box, include, charger)。
  5. 將形成的 “triple” 加入列表 relations。
  6. 對 relation_keywords 做類似處理。對于每個 relation r,找到所有由 r 連接的 edges,形成 triples 并加入同一列表 relations。
  7. 最后一步,將這些 triples 與問題 q 一起(封裝在一個 prompt 中)傳給 LLM,讓其基于給定事實(triples)與查詢生成答案。

代碼實現(xiàn)

首先,用 main.py 構建 knowledge graph:

python main.py --inputpath ./input/sample-faq.txt --outlabel faq

然后從上一步生成的 pickle 文件中加載 graph:

import pickle

G = pickle.load(open(graph_file, "rb"))

我們需要定義一個函數(shù),能夠接收文本輸入與 system level prompt,并從 LLM 獲取響應。下面這個可復用函數(shù)實現(xiàn)了該功能:

def get_llm_response(text, system_prompt):
    response = ollama.chat(model=model, messages=[
        {"role": "system", "content": system_prompt},
        {"role": "user", "content": text}
        ])
    resp_content = response['message']['content']
    return resp_content

接下來需要從給定 query 中抽取 entities 和 relations(對應上文的第 1 步)。我構造了一個基礎的 system prompt,如下所示:

system_prompt_key_words = """You are a helpful assistant, expert of English language who can extracts keyword from the given question in root form (e.g. ran becomes run) and lowercase.
The returned keywords should be critical to answer the question.
Categorize the keywords into entity and relation keywords.
keywords must be in root form and lowercase.
The response should be in following format, no additional text:
{"entity": [list of entity keywords], "relation": [list of relation keywords]}"""

response = get_llm_response(query, system_prompt_key_words)
keyword_resp = json.loads(response)
entity_keywords = keyword_resp.get('entity', [])
relation_keywords = keyword_resp.get('relation', [])

假設 entity_keywords 為 [box, charger, phone],我們需要找出所有可能的 source-target 成對組合,以便對圖做全面查詢:

pairs = list(combinations(entities, 2))

對每個實體對,我們需要在圖中查找所有 nodes 與 edges:

paths = list(nx.all_simple_paths(G, source=u, target=target_nodes))

上述步驟(第 1–6 步,含以上代碼)都實現(xiàn)在下面這個函數(shù)中:

def search_kg2(G, query):
    response = get_llm_response(query, system_prompt_key_words)
    keyword_resp = json.loads(response)
    entity_keywords = keyword_resp.get('entity', [])
    relation_keywords = keyword_resp.get('relation', [])
    entities = [part.strip() for part in entity_keywords]
    pairs = list(combinations(entities, 2))
    relations = []
    for u, v in pairs:
        target_nodes = get_nodes(G, v)
        paths = list(nx.all_simple_paths(G, source=u, target=target_nodes))
        for path in paths:
            for i inrange(len(path)-1):
                for key in G[path[i]][path[i+1]]:
                    rel = G[path[i]][path[i+1]][key]['relation']
                    relations.append((path[i],rel, path[i+1]))

    for rel_keyword in relation_keywords:
        relations.extend([(u, rel, v) for u, v, rel in G.edges.data("relation") ifstr(rel) == rel_keyword])
    
    return relations

當我們從上述函數(shù)得到所有用 triples(entity->relation->entity)表示的 edges 后,就將這些 triples 嵌入到一個指令式 prompt 中傳給 LLM:

context = f"""
    You are given facts from a knowledge graph:

    {triples}

    Answer the user query based ONLY on these facts.
    Answer in full sentence.
    Query: {query}
    """
response = ollama.chat(model="gemma3:4b-it-qat",
             messages=[{"role": "user", "content": context}])
print(f'query: {query}\nAnswer:{response["message"]["content"]}')

它會返回如下這類答案:

大模型賦能知識圖譜構建問答系統(tǒng)-AI.x社區(qū)

如你所見,對于缺乏相關數(shù)據(jù)/事實的問題,LLM 會合理地拒絕作答。

本文所有代碼可在文件 ??https://github.com/nayash/knowledge-graph-demo/blob/master/qa-from-kg.ipynb??中找到。

局限性

如上所示,我們幾乎沒費太多力氣就創(chuàng)建了一個基礎的 QA system,因為 LLM 負責了大量工作,比如文本預處理、抽取等。但它還不完美。在我的初步評估中,至少發(fā)現(xiàn)了幾個問題。

系統(tǒng)無法回答 “what is the warranty period?”,因為在圖里 warranty 是 relation 的 label,但它從問題中被抽取成了 named entity,導致系統(tǒng)找不到任何 edge。因此,我們用于構建 knowledge graph 的核心 system prompt 還需要優(yōu)化。

還有一些問題需要稍微改寫后系統(tǒng)才能回答。但我發(fā)現(xiàn)這類問題最終都可以歸因于 KG 的構建方式或從 query 中抽取的 keyword。兩者都可以通過改進 prompts 來修復。比如,我使用的圖中有一條 edge 是:

phone → support_dual_sim → nano sim

這顯然并不理想。但這些都可以通過更謹慎地設計用于構建 KG 的 prompt 來修正。正如我在上一篇文章中提到的,我最初是用 chatGPT 生成的 prompt,并在此基礎上略作修改。在真實生產(chǎn)場景中,應當花更多時間打磨 prompt。對于企業(yè)級應用,還可以嘗試更大的 model,因為資源限制不再是問題。

總之,這種方法很有前景,并且可以與 RAG 結合來提升回答質(zhì)量。或許在下一篇博客中,我會用更精細的 prompts 與 RAG 繼續(xù)改進這個系統(tǒng)。

本文轉載自???PyTorch研習社???,作者:AI研究生

收藏
回復
舉報
回復
相關推薦
牛牛精品成人免费视频| 蜜臀av一区二区三区有限公司| 国产青青草在线| 日av在线不卡| 久热精品视频在线免费观看| 伊人久久久久久久久| 亚洲日本在线播放| 久久中文欧美| 久久99热精品这里久久精品| 婷婷色一区二区三区 | 国产999精品| 午夜精品一区二区三级视频| 欧美aaaaa性bbbbb小妇| 99精品欧美一区| 久久99国产精品久久久久久久久| 亚洲精品乱码久久| 亚洲一区二区小说| 日韩欧美主播在线| 亚洲精品日韩精品| 天堂在线视频观看| 国产一区二区三区香蕉| 日韩av不卡电影| 国产在线观看成人| 日本一区二区高清不卡| 日韩精品免费视频| 99国产精品免费视频| 亚洲国产尤物| 欧美日韩亚洲视频| 男人添女荫道口喷水视频| a√资源在线| 久久亚洲一级片| 成人欧美一区二区三区在线观看| 亚洲一区在线观| 裸体素人女欧美日韩| 日韩精品高清视频| 韩国三级在线看| 国产91精品在线| 欧美午夜激情视频| 极品美女扒开粉嫩小泬| 在线中文字幕视频观看| 高清国产午夜精品久久久久久| 欧美激情videos| 国产精品视频一区二区在线观看| 国产一区二区三区网| 精品999久久久| 一级黄色免费毛片| 亚洲综合视频| 欧美疯狂性受xxxxx喷水图片| 亚洲永久激情精品| 国产系列在线观看| 久久精品夜色噜噜亚洲a∨ | 欧美aaa级| 色哟哟在线观看一区二区三区| www.av毛片| 丰乳肥臀在线| 久久久久久免费网| 黄色小网站91| 性xxxxbbbb| 91在线你懂得| 免费试看一区| 成黄免费在线| 亚洲同性gay激情无套| 自拍另类欧美| 91麻豆一二三四在线| 亚洲激情图片qvod| 妞干网在线播放| www视频在线观看| 欧美日韩国产一区二区| 欧美黑人经典片免费观看| 国产直播在线| 在线欧美一区二区| 男女视频在线看| 国产精品亚洲欧美日韩一区在线| 3d成人动漫网站| 亚洲欧洲日韩综合| 91国内精品| 精品在线小视频| 欧美激情视频二区| 亚洲一区二区日韩| 26uuu另类亚洲欧美日本一| 影音先锋在线国产| 青青草原综合久久大伊人精品优势| 国产精品久久二区| 国产肥老妇视频| 99久久777色| 视频一区视频二区视频三区高| 1769视频在线播放免费观看| 一区二区三区四区在线| 国产黄色一级网站| 国模私拍国内精品国内av| 欧美一区二区三区四区久久| 亚洲图片综合网| 操欧美老女人| 欧美激情在线观看视频| 少妇av片在线观看| 正在播放日韩欧美一页| 91sa在线看| 在线视频1卡二卡三卡| 国产九九视频一区二区三区| 久久久久久久久久久久久9999| 在线观看免费黄视频| 亚洲一线二线三线视频| 久久黄色免费看| 亚洲专区**| 国产一区二区精品丝袜| 久久久国产精华液| 日韩va亚洲va欧美va久久| 91文字幕巨乱亚洲香蕉| 高清av在线| 亚洲大片精品永久免费| 欧美女同在线观看| 欧美理伦片在线播放| 久久久精品视频在线观看| 日本在线视频中文字幕| 久久99久久99小草精品免视看| 国产视频一区二区不卡| 亚洲免费成人网| 欧美激情在线一区二区| 亚洲 欧美 日韩 国产综合 在线 | 国产一区第一页| 国产精品久久久免费| 欧美精品电影免费在线观看| 国产情侣免费视频| 日本成人在线电影网| 国产尤物99| 色婷婷av在线| 在线播放/欧美激情| 久久久久久九九九九九| 亚洲激情视频| 岛国一区二区三区高清视频| 欧美一区二区三区在线观看免费| 一本大道av一区二区在线播放| 东京热av一区| 欧美交a欧美精品喷水| 九九久久久久99精品| 亚洲自拍第二页| 国产三级精品三级在线专区| 精品99在线视频| www.久久| 一区二区三区视频观看| 黄色av一级片| 91麻豆精品在线观看| 激情深爱综合网| 看全色黄大色大片免费久久久| 欧美成人午夜激情| 国产欧美熟妇另类久久久| 国产精品每日更新在线播放网址| 欧美日韩大尺度| 国产一区二区三区四区五区| 国产a∨精品一区二区三区不卡| 亚洲欧美日韩精品永久在线| 精品久久在线播放| 喷水视频在线观看| 一区二区久久| 国产精品一区二区电影| www.黄在线观看| 欧美日韩一区视频| 国产黄a三级三级| 久久99精品国产.久久久久| 亚洲精品一区二区三区av| 国产69精品久久| 久久天堂电影网| www.xxx国产| 亚洲成人www| 女尊高h男高潮呻吟| 日韩高清不卡一区二区三区| 色女人综合av| 福利一区三区| 久久久久久久影院| 欧美孕妇孕交| 欧美性猛交一区二区三区精品| 亚洲黄色小说在线观看| 精品成人在线| 日本视频精品一区| 欧美亚洲福利| 亚洲欧美色婷婷| 波多野结衣大片| 亚洲人123区| 亚洲精品中文字幕在线播放| 爽好久久久欧美精品| 伊人久久婷婷色综合98网| 久久爱www.| 51色欧美片视频在线观看| 阿v免费在线观看| 欧美一区二区三区四区在线观看| 日韩欧美大片在线观看| 国产福利一区二区三区视频在线| 国产精品视频网站在线观看 | 日产中文字幕在线精品一区| 久久精品97| 久久久久久久久久亚洲| 蜜桃成人在线视频| 制服视频三区第一页精品| 香蕉视频一区二区| 日本一二三不卡| 亚洲黄色小说在线观看| 日韩激情av在线| 800av在线免费观看| 国产精品一区二区av交换| 成人免费视频a| 噜噜噜在线观看播放视频| 6080国产精品一区二区| 亚洲 欧美 日韩 综合| 中文字幕一区二区三区在线观看| 白嫩情侣偷拍呻吟刺激 | 超碰人人cao| 视频一区二区中文字幕| 影音欧美亚洲| 亚洲调教一区| 国产精品.com| 亚洲国产aⅴ精品一区二区三区| 91国内产香蕉| 在线中文免费视频| 中文字幕成人在线| 日本免费一区二区三区最新| 欧美mv日韩mv| 91在线你懂的| 在线欧美日韩精品| 天天干在线播放| 亚洲国产欧美一区二区三区丁香婷| 夫妇露脸对白88av| 久久亚洲捆绑美女| av天堂一区二区| 国产一区二区三区免费观看| 男女男精品视频站| 久久天堂成人| 欧美 国产 日本| 狠狠爱成人网| 久久这里只有精品8| 亚洲视频电影在线| 一级二级三级欧美| 日韩精品电影| 色婷婷精品国产一区二区三区| 亚州综合一区| 日韩av手机在线| 黄色视屏在线免费观看| 久久久久久久电影一区| 色在线视频网| 欧美精品在线免费播放| 国产在线激情| 久久艳片www.17c.com| 九七久久人人| 理论片在线不卡免费观看| 久久综合网导航| 日韩中文字幕在线播放| 欧美高清视频| 日韩在线观看免费全| 色综合久久影院| 日韩有码在线播放| 婷婷视频在线| 麻豆国产精品va在线观看不卡| 色的视频在线免费看| www.精品av.com| 久草免费在线| 欧美高清视频一区二区| 久久香蕉av| 91tv亚洲精品香蕉国产一区7ujn| 中文字幕 在线观看| 国产成人综合亚洲| 精品国产欧美日韩一区二区三区| 国产精品久久久久久久一区探花| 免费在线成人激情电影| 国产在线观看91精品一区| av成人在线网站| 成人资源av| 亚洲人成网77777色在线播放| 日本成人黄色| 外国成人免费视频| 韩国无码av片在线观看网站| 亚洲福利一区| 狠狠热免费视频| 久久91精品久久久久久秒播| 午夜激情视频网| www.视频一区| 手机毛片在线观看| 亚洲色欲色欲www在线观看| 国产亚洲色婷婷久久99精品| 福利微拍一区二区| 一起草av在线| 亚洲大胆人体视频| 亚洲视频一区在线播放| 欧美一区二区三区免费大片| 少妇一区二区三区四区| 国产亚洲精品久久久久久牛牛| 黄色片网站在线| 欧美一级大片在线免费观看| 美女视频一区| 国产在线观看一区| 日韩午夜电影网| 国产美女在线一区| 美女视频黄频大全不卡视频在线播放 | 男女啪啪在线观看| 久久久伊人欧美| 国产综合色在线观看| 成人动漫视频在线观看免费| 国产日产精品一区二区三区四区的观看方式| 这里只有精品66| 亚洲欧美不卡| 久久久久久久久久久福利| 精品制服美女久久| 国产伦精品一区二区三区妓女| 国产精品麻豆欧美日韩ww| 亚洲一区二区91| 欧美日韩高清一区| 日韩欧美在线番号| 欧美激情乱人伦一区| 久久天堂影院| 久久久久久久久久码影片| 综合亚洲视频| 欧美一级特黄a| 91亚洲国产成人精品一区二区三| 国产免费无码一区二区视频| 欧美中文字幕久久| 三级毛片在线免费看| 欧美激情在线一区| 人人九九精品视频| 亚洲一区二区三区免费观看| 久久中文欧美| 蜜桃精品一区二区| 亚洲电影一区二区三区| 国产不卡av在线播放| 色青青草原桃花久久综合| 欧洲av不卡| 精品一区二区三区视频日产| 亚洲视频综合| www.四虎精品| 亚洲在线视频一区| 国产成人精品无码高潮| 久久艹在线视频| 亚洲综合视频| 日本一区二区三区四区五区六区| 另类成人小视频在线| 亚洲精品国产精品国自| 91久久人澡人人添人人爽欧美| 欧美日韩伦理片| 欧美一区二区三区艳史| 黄色欧美在线| 男人用嘴添女人下身免费视频| 懂色av中文一区二区三区| 欧美日韩在线国产| 欧美一区二区精品在线| 哥也色在线视频| 亚洲在线免费观看| 欧美国产91| 色欲欲www成人网站| 亚洲国产视频一区| 色综合视频在线| 91av中文字幕| 蜜桃一区二区| 九热视频在线观看| 一区视频在线播放| 国产女人18毛片18精品| 欧美成人免费大片| 国产精品男女| 两根大肉大捧一进一出好爽视频| 91丝袜国产在线播放| 国产农村妇女aaaaa视频| 国产亚洲视频在线观看| 国产美女久久| 男女激烈动态图| proumb性欧美在线观看| 四虎精品永久在线| 一本色道久久综合狠狠躁篇的优点| 992tv国产精品成人影院| 影音先锋在线亚洲| 国产成a人无v码亚洲福利| 日韩污视频在线观看| 亚洲美女激情视频| 成人亚洲视频| 黄色片免费在线观看视频| 成人久久视频在线观看| 九九精品免费视频| 日韩专区在线观看| 亚洲日本一区二区三区在线| 秋霞无码一区二区| 国产欧美日韩精品在线| 国产麻豆一精品一男同| 午夜精品福利在线观看| 精品久久精品| 极品人妻一区二区| 好吊成人免视频| 黄色免费在线看| 女女同性女同一区二区三区91| 蜜桃av一区二区三区| 精品一区免费观看| 国产亚洲一区二区在线| 久久久久久久久成人| 日韩少妇内射免费播放18禁裸乳| 中文乱码免费一区二区| 蜜桃91麻豆精品一二三区| 国产精品成人国产乱一区| 综合五月婷婷| 亚洲最大成人综合网| 日韩欧美卡一卡二| 我爱我色成人网| 日产精品久久久久久久蜜臀| 欧美韩日一区二区三区四区| 亚洲国产999| 国产精品尤物福利片在线观看| 在线播放一区|