RAG

檢索增強生成(Retrieval Augemented Generation, RAG)作為一種強大的技術,它結合了信息檢索與生成模型的創新方法,用來解決大語言模型(LLM)的局限性問題。

RAG通過利用從各種來源檢索到的相關數據來增強 LLM 提示,來實現更為準確和上下文相關的文本生成。RAG 系統的準確性在很大程度上依賴于它們獲取相關、可驗證信息的能力。

RAG中信息檢索通常使用諸如關鍵詞匹配或語義相似性等技術來實現的。在語義相似性中,例如,數據被表示為由AI嵌入模型生成的數值向量,這些向量試圖捕捉其含義。前提是,相似的向量在向量空間中相互靠近,然后通過近似最近鄰(ANN)搜索獲取相似的信息;關鍵詞匹配則更為簡單,使用準確的關鍵詞匹配來查找信息,通常使用諸如全文檢索等算法。 

但是,基于關鍵詞或相似性搜索構建的簡單RAG系統在需要推理的復雜查詢中表現不佳。簡單的相似度的檢索無法對實體之間的關系進行推理和判斷。

GraphRAG

GraphRAG 是一種 新的RAG 系統,它結合了知識圖譜和大型語言模型(LLM)的優勢。在 GraphRAG 中,知識圖譜作為事實信息的結構化資源庫,LLM將自然語言轉換為知識圖譜的查詢信息,從圖譜中檢索相關知識,并生成針對問題的回答。

GraphRAG解決了上述許多局限性,因為它能夠對數據進行推理。

GraphRAG具有以下優勢: 

最佳實踐

本文以一個開源的股票知識圖譜[1]為例,介紹如何使用PolarDB+通義千問+LangChain搭建一個GraphRAG系統。

技術實現

PolarDB

PolarDB PostgreSQL版(下文簡稱為 PolarDB)是一款阿里云自主研發的云原生關系型數據庫產品,100% 兼容 PostgreSQL,高度兼容Oracle語法;采用基于 Shared-Storage 的存儲計算分離架構,具有極致彈性、毫秒級延遲、HTAP 的能力和高可靠、高可用、彈性擴展等企業級數據庫特性。同時,PolarDB 具有大規模并行計算能力,可以應對OLTP與OLAP混合負載。

PolarDB具備高度兼容apache AGE的圖引擎,支持對知識圖譜的存儲和查詢檢索。同時PolarDB具備pgvector增強插件,支持對向量數據的存儲與檢索。

通義千問

通義千問是由阿里云自主研發的大語言模型,用于理解和分析用戶輸入的自然語言,在不同領域和任務為用戶提供服務和幫助。

在RAG場景中,通義千問基于用戶的查詢或上下文,結合用戶興趣或歷史交互相關的信息,生成更加個性化的回復。

LangChain

LangChain是一個開源的工具包和框架,旨在簡化和加速基于語言模型的應用程序開發。LangChain的核心在于將強大的語言模型(如OpenAI的GPT系列、阿里云的通義千問等)與實際應用結合起來,幫助開發者構建諸如聊天機器人、文本生成、知識管理、代碼輔助等多種自然語言處理(NLP)相關應用。

LangChain中實現了apache age圖插件和pgvector插件的支持,可以支持對于知識圖譜和向量兩種檢索方式。

查詢流程

主要的查詢流程如下圖所示:

  1. 用戶提出相關問題
  2. RAG系統在知識圖譜中檢索相關的答案
  3. RAG系統把知識圖譜的檢索結果作為向量檢索的相關信息,用向量相似性檢索的方式檢索相關的文檔
  4. RAG系統將多種結果輸入給大語言模型
  5. 大語言模型根據輸入的信息組織問答結果
  6. RAG系統將問答結果返回給用戶

建議配置

為了得到良好的體驗,建議使用以下配置:

項目推薦配置
PolarDB 版本標準版 兼容PostgreSQL 14
CPU>16 Core
內存>64 GB
磁盤>100GB (AUTOPL)
版本>2.0.14.23.1

實戰步驟

準備工作

環境準備

  1. 申請阿里云靈積模型api key(如已有key可略過此步驟)
  1. 進入阿里云官網,注冊或登錄;
  2. 搜索靈積模型服務,開通服務;
  3. 進入產品控制臺,創建api key;

該api key是訪問靈積模型服務的憑證,需要妥善保管。

  1. 環境中安裝相關的python包
pip install langchain #安裝langchain環境
pip install langchain-community #安裝第三方集成,就是各種大語言模型
pip install python-dotenv #加載工具
pip install dashscope #靈積模型服務
pip install psycopg # 數據庫連接

如遇到一些安裝失敗的問題,需要升級python版本 > 3.7。

  1. 修改age_graph.py文件

age_graph.py位于

/site-packages/langchain_community/graphs/age_graph.py 下,需要修改兩處地方:

數據庫準備

創建AGE插件

AGE是一個為 PostgreSQL系列數據庫打造的擴展,旨在增強其處理圖數據的能力。AGE 旨在結合關系型數據庫與圖數據庫的優勢,提供一個高性能、靈活且易于擴展的解決方案。

create extension age;
創建vector插件

Vector是一個 PostgreSQL 的擴展插件,用于高效地處理和查詢高維向量數據。vector 插件提供了高維向量的存儲以及基于向量的近似最近鄰(Approximate Nearest Neighbor, ANN)搜索功能。

create extension vector;
數據入庫

將數據進行下載。數據分為兩部分,一部分為圖數據(data/import目錄),包含了人員(Executive), 產業(Industry), 股票(Stock), 概念(Concept)等點以及人員-股票, 股票-概念,股票-產業之間的關聯關系,這部分數據以圖的方式存儲到PolarDB中。 

另一部分為每個股票的介紹信息(data/stockpage),原始數據為股票的網頁信息,切分后以向量的方式存儲到數據庫中以提供進一步的信息。

圖數據

創建一個名為stock_graph的圖用于存儲該知識圖譜:

SELECT create_graph('stock_graph');

附錄1中腳本可以將數據轉換為Cypher SQL腳本,配合客戶端工具,如psql等可完成數據導入。轉換后的sql腳本示意如下:

SELECT create_vlabel('stock_graph','person');
SELECT * FROM cypher('stock_graph', $$ CREATE (:person {person_id:'dddbd3ad0f2e3fca80da88296298bb51',name:'杜玉岱',gender:'男',age:'58'}) $$ ) as (n agtype);
SELECT * FROM cypher('stock_graph', $$ CREATE (:person {person_id:'2f867939e123f10437a15a127799248e',name:'延萬華',gender:'男',age:'45'}) $$ ) as (n agtype);
SELECT * FROM cypher('stock_graph', $$ CREATE (:person {person_id:'e68b3ae7a003c60cd9d50e371cdb3529',name:'宋軍',gender:'男',age:'48'}) $$ ) as (n agtype);
...
SELECT * FROM cypher('stock_graph', $$ MATCH (a:person), (b:stock) WHERE a.person_id = 'dddbd3ad0f2e3fca80da88296298bb51' AND b.stock_id = '601058' CREATE (a)-[e:employ_of {jobs:'董事長/董事'} ]->(b) RETURN e$$) as (e agtype);
SELECT * FROM cypher('stock_graph', $$ MATCH (a:person), (b:stock) WHERE a.person_id = '2f867939e123f10437a15a127799248e' AND b.stock_id = '601058' CREATE (a)-[e:employ_of {jobs:'副董事長/董事'} ]->(b) RETURN e$$) as (e agtype);
SELECT * FROM cypher('stock_graph', $$ MATCH (a:person), (b:stock) WHERE a.person_id = 'e68b3ae7a003c60cd9d50e371cdb3529' AND b.stock_id = '601058' CREATE (a)-[e:employ_of {jobs:'董事'} ]->(b) RETURN e$$) as (e agtype);
...
向量數據

文本信息按照一定規則切割后,以向量的形式存儲到數據庫中。切分采用langchain的RecursiveCharacterTextSplitter切分器,實際使用中可根據需要進行切分,并使用通義大模型轉換為向量。

附錄2中腳本可實現向量數據入庫過程。

安裝使用到的python包:

pip install BeautifulSouppip install bs4

數據庫中創建了對應的數據表docs用于記錄文本以及對應的文本向量。

CREATE TABLE IF NOT EXISTS docs (
id bigserial primary key,
title text,
content text, -- 文本內容
tokens integer,
embedding vector(1536) --向量
);

在向量上創建索引,此處使用hnsw索引,并使用歐式距離(l2距離)進行查詢。(索引類型和距離計算方式可根據實際需要進行選擇)

CREATE INDEX ON docs USING hnsw (embedding vector_l2_ops);

查詢

以問題 “李士祎關連的股票信息?”為例進行查詢,并對于單獨使用向量檢索、圖檢索以及圖加向量檢索的結果進行對比。

以問題 “李士祎關連的股票信息?”為例進行查詢,并對于單獨使用向量檢索、圖檢索以及圖加向量檢索的結果進行對比。

單獨使用向量檢索

定義大語言模型為通義千問

DASHSCOPE_API_KEY從環境變量中讀取:

import os
DASHSCOPE_API_KEY=os.environ["DASHSCOPE_API_KEY"]
from langchain.embeddings import DashScopeEmbeddings
embeddings = DashScopeEmbeddings(model="text-embedding-v1", dashscope_api_key=DASHSCOPE_API_KEY)
from langchain_community.llms import Tongyi
llm_tongyi=Tongyi(temperature=1)

RetrievalQA是LangChain中封裝的一個chain,可以實現基于本地知識庫的問答。

問答大語言模型過程中需要輸入相關文檔,來進行答案的生成。這里定義了一個Retriever,通過向量檢索的方式來獲取相似度最大的5篇文檔:

from langchain.schema import Document
from langchain_core.retrievers import BaseRetriever
class CustomRetriever(BaseRetriever):
def __init__(self):
super().__init__()
def _get_relevant_documents(self, query: str) -> list[Document]:
relevant_docs = []
cur = conn.cursor()
# Get the top 5 most similar documents using the KNN <=> operator
cur.execute("SELECT content FROM docs ORDER BY embedding <=> '{}' LIMIT 5".format(embeddings.embed_query(query)))
top3_docs = cur.fetchall()
cur.close()

for doc in top3_docs:
relevant_docs.append(Document(page_content=doc[0]))
return relevant_docs
custom_retriever = CustomRetriever()

進行問答:

from langchain.chains import RetrievalQA
# 創建 RetrievalQA
qa_chain = RetrievalQA.from_chain_type(
llm=llm_tongyi,
retriever=custom_retriever,
verbose=True
)
response = qa_chain.invoke("李士祎關連的股票信息?")
print(response)

問答結果如下:

根據提供的信息,沒有找到與李士祎相關的股票信息。請提供更多的信息以便我能更準確地回答您的問題。如果無法提供更多細節,那么我將無法給出具體的答案。

可見查詢結果無法獲取正確的答案。

從執行過程中可以看到,直接執行向量相似度的執行結果如下:

('科士達(002518) 公司資料_F10_同花順金融服務網謝謝您的寶貴意見您的支持是我們最大的動力謝謝您的支持同花順F10最新價:漲跌幅:換膚上一個股下一個股i問董秘科士達002518最新動態公司資料股東研究經營分析股本結構資本運作盈利預測新聞公告概念題材主力持倉財務概況分紅融資公司大事行業對比詳細情況高管介紹發行相關參控股公司專利狀況F10 功能找不到?在搜索框里直接輸入您想要的功能!比如輸入“龍虎榜”,趕快試一下哦!跳過下一步選股選不好?可以直接輸入你想要的問句啦,比如輸入“近一周漲幅超過30%的股票”趕緊行動吧!上一步完成詳細情況公司名稱:深圳科士達科技股份有限公司所屬地域:廣東省英文名稱:Shenzhen Kstar Science & Technology Co.,Ltd所屬行業:機械設備 — 電氣設備曾 用...',)
('佳士科技(300193) 公司資料_F10_同花順金融服務網謝謝您的寶貴意見您的支持是我們最大的動力謝謝您的支持同花順F10最新價:漲跌幅:換膚上一個股下一個股i問董秘佳士科技300193最新動態公司資料股東研究經營分析股本結構資本運作盈利預測新聞公告概念題材主力持倉財務概況分紅融資公司大事行業對比詳細情況高管介紹發行相關參控股公司專利狀況F10 功能找不到?在搜索框里直接輸入您想要的功能!比如輸入“龍虎榜”,趕快試一下哦!跳過下一步選股選不好?可以直接輸入你想要的問句啦,比如輸入“近一周漲幅超過30%的股票”趕緊行動吧!上一步完成詳細情況公司名稱:深圳市佳士科技股份有限公司所屬地域:廣...',)
('日簽署的股權轉讓協議,滬士控股及碧景控股將其擁有的本公司的部分股權,分別占股本總額的2%及1%,轉讓于合拍友聯。上述股權轉讓事宜于2007年1月9日經中華人民共和國商務部以《商務部關于同意滬士電子股份有限公司轉股的批復》批準。于2007年7月9日,本公司獲發新的營業執照。根據于2008年6月至7月間簽署的一系列股權轉讓協議,滬士控股將其擁有的本公司股權中的部分股權,共占股本總額的16%分別轉讓予HDFCO.,LTD.、深圳中科匯商創業投資有限公司、湖南中科岳麓創業投資有限公司、MULTIYIELDPLUSCO.,LTD.、碧景控股、昆山愛派爾投資發展有限公司、昆山恒達建設項目咨詢服務有限公司、蘇州正信工程造價咨詢事務所有限責任公司及昆山市駿嘉控股有限公司。該股權轉讓事宜于2008年9月23日經中華人民共和國江蘇省對外貿易經濟合作廳以《關于同意滬士電子股份有限公司股權變更的批復》批準。于2009年2月24日,江蘇省對外貿易經濟合作廳以蘇外經貿資[2009]178號,批準本公司的股東合拍友聯將其持有的本公司6%的股份轉讓給合拍友聯有限公司。本公司于2010年8月9日向境內投資者發行了80,000,000股人民幣普通股,并于2010年8月18日在深圳證券交易所掛牌上市交易,發行后總股本增至人民幣692,030,326元。...',)
('5年8月1日,香港碧景將其擁有的本公司全部股權轉讓給注冊于西薩摩亞群島的滬士集團控股有限公司(“滬士控股”)。同時本公司改名為滬士電子(昆山)有限公司。滬士控股的控股公司為注冊于中國臺灣的楠梓電子股份有限公司(以下簡稱“楠梓電子”)。滬士控股受讓股權后對本公司進行數次增資。截至2001年12月31日,本公司注冊資本增至67,500,000美元。根據于2002年4月簽署的股權轉讓協議,滬士控股將其擁有本公司股權中的55%分別轉讓與碧景(英屬維爾京群島)控股有限公司(“碧景控股”)、中新蘇州工業園區創業投資有限公司、合拍友聯公司(“合拍友聯”)、杜昆電子材料(昆山)有限公司、昆山經濟技術開發區資產經營有限公司及蘇州工業園區華璽科技投資有限公司。該股權轉讓事宜于2002年7月26日經中華人民共和國對外貿易經濟合作部以《關于同意滬士電子(昆山)有限公司股權變更的批復》批準。于2002年8月20日,本公司獲發新的營業執照,變更為中外合資經營企業,注冊資本67,500,000美元。根據于2002年9月22日簽署的發起人協議及2002年9月26日的董事會決議,...',)
('其中合并報表的有:7家。序號關聯公司名稱參控關系參控比例投資金額(元)被參控公司凈利潤(元)是否報表合并被參股公司主營業務-黃石滬士電子有限公司子公司100.00%8.00億-是-昆山滬利微電有限公司子公司100.00%4.69億-是-昆山先創利電子有限公司子公司100.00%7213.50萬-是-昆山易惠貿易有限公司子公司100.00%135.12萬-是-滬士國際有限公司子公司100.00%70.00萬-是-黃石鄰里物業服務有...',)

這是因為涉及到的網頁材料中與人名關聯度較低,主要提供的是上市公司的相關信息,兩者關聯性不大,因此向量檢索模式無法獲取答案。

單獨使用圖搜索

LangChain中圖引擎實現了對于AGE的支持,使用時需要先定義一個圖對象,并獲取圖的模式。這里圖的模式是指點和邊的類型信息,用于生產圖的查詢語言。

from langchain.chains import GraphCypherQAChain
from langchain_community.graphs.age_graph import AGEGraph
conf = {
"database": "xxx",
"user":"xxx",
"host":"pc-xxxx.rwlb.rds.aliyuncs.com",
"port":"1921",
"password":"xxx",
}
graph = AGEGraph(graph_name="stock_graph", conf=conf)
graph.refresh_schema()

GraphCypherQAChain是LangChain中封裝的一個chain,可以將自然語言轉為圖查詢,實現本地圖譜的問答。

graphchain = GraphCypherQAChain.from_llm(
llm_tongyi,
graph=graph,
verbose=True,
top_k=5,
)
response = graphchain.invoke("李士祎關連的股票信息?")
print(response)

問答結果如下:

根據提供的信息,這里有關于股票的信息:股票名稱為酒鬼酒,代碼為799。但是,沒有直接提到李士祎相關的具體股票信息。所以,基于給出的數據,我們不知道李士祎具體的關聯股票詳情

可見基于圖的查詢雖然查到了李士祎關聯的股票為酒鬼酒,且股票代碼為799,但是由于圖中并沒有存儲酒鬼酒的信息,因此也無法給出具體的信息。

從執行的過程中可以看到,langchain生成了Cypher語句并在知識圖譜中進行了執行,查詢到了酒鬼酒的名稱以及股票代碼。

Generated Cypher:
MATCH (p:person)-[r:employ_of]->(s:stock) WHERE p.name = "李士祎" RETURN s.name, s.code
Full Context:
[{'name': '酒鬼酒', 'code': '799'}]

注意:如果langchain中生成的Cypher不正確,還可以使用prompt的方式給langchain提供示例Cypher以幫助生成。當然,也可以自定義一個Retriever,通過連接數據庫的方式執行自定義的Cypher以獲得更加準確的回答。

圖+向量聯合搜索增強

以上兩種查詢的結果都不盡人意,因為向量檢索和知識圖譜都只存儲了獨立的內容,無法獨自生成問答結果。將以上兩種查詢方式進行結合,把知識圖譜的查詢結果作為向量查詢的輸入信息,通過向量查詢獲取相關文檔后,由LLM最終生成更加完整的問答結果。

此處定義了一個prompt的模版,把知識圖譜的查詢結果作為向量檢索的輸入,來獲得更為準確的問答結果。

from langchain_core.prompts.prompt import PromptTemplate
from langchain.chains import LLMChain
graphchain = GraphCypherQAChain.from_llm(
llm_tongyi,
graph=graph,
verbose=True,
top_k=5,
return_direct=True, #此處直接返回查詢結果,不需要llm來組織回答
)
template = """Task:Generate more detailed information about the raw answer.
The question is:
{question}
the raw answer from knowledge graph in format:
{answer}
please give more detailed answer about raw answer
"""
prompt = PromptTemplate(
input_variables=["question", "answer"],
template=template
)
llm_chain = LLMChain(llm=llm_tongyi, prompt=prompt)
def dynamic_query(question):
# first round use graph cypher qa
answer = graphchain.invoke(question)

if answer['result'] == '':
return "沒有找到答案"
# 格式化輸入提示
formatted_prompt = prompt.format(question=question,
answer=answer['result'][0])

answer = qa_chain.invoke(formatted_prompt)
return answer
response = dynamic_query("李士祎關連的股票信息?")
print(response['result'])

問答結果如下:

根據提供的信息,與李士祎相關的股票“酒鬼酒”的詳細信息如下:
- **公司名稱**:酒鬼酒股份有限公司
- **股票代碼**:000799
- **所屬地域**:湖南省
- **英文名稱**:Jiugui Liquor Co., Ltd.
- **公司網址**:www.jiuguijiu000799.com
- **主營業務**:從事生產、銷售曲酒系列產品。
- **主要產品**:
- 酒鬼系列
- 湘泉系列
- 內參系列
- **控股股東及實際控制人**:中皇有限公司(持有酒鬼酒股份有限公司股份比例:31.00%)
請注意,以上信息是基于所提供的上下文得出的結論,如果需要更詳細的財務數據或其他具體信息,請參考官方公告或相關財經網站。

向量查詢和圖查詢,該結果更加符合預期,滿足實際應用需求。

從執行過程中可以看到,當知識圖譜中檢索了相應的結果后,問題轉換為:

Task:Generate more detailed information about the raw answer.
The question is:
李士祎關連的股票信息?
the raw answer from knowledge graph in format:
{'name_0': '酒鬼酒', 'code': '799'}
please give more detailed answer about raw answer

在向量檢索中包含了酒鬼酒的相關信息,使得向量檢索的結果更加準確:

('酒鬼酒(000799) 公司資料_F10_同花順金融服務網謝謝您的寶貴意見您的支持是我們最大的動力謝謝您的支持同花順F10最新價:漲跌幅:換膚上一個股下一個股i問董秘酒鬼酒000799最新動態公司資料股東研究經營分析股本結構資本運作盈利預測新聞公告概念題材主力持倉財務概況分紅融資公司大事行業對比詳細情況高管介紹發行相關參控股公司專利狀況F10 功能找不到?在搜索框里直接輸入您想要的功能!比如輸入“龍虎榜”,趕快試一下哦!跳過下一步選股選不好?可以直接輸入你想要的問句啦,比如輸入“近一周漲幅超過30%的股票”趕緊行動吧!上一步完成詳細情況公司名稱:酒鬼酒股份有限公司所屬地域:湖南省英文名稱:Jiugui Liquor Co., Ltd.所屬行業:食品飲料 — 飲料制造曾 用...',)
('名:*ST酒鬼公司網址:www.jiuguijiu000799.com主營業務:從事生產、銷售曲酒系列產品。產品名稱:酒鬼系列、湘泉系列、內參系列可能存在產品:中高端酒、酒類業務展開\xa0▼收起\xa0▲主營產品名稱出自摘要中高端酒公司中高端酒鬼酒系列實現營收5.26億元,同比增長11.68%,毛利率80.39%,同比增加1.70pct;湘泉系列實現營收1.24億元,同比增長1.67%,毛利率51.62%,同比增加7.96pct。詳情>>酒類業務公司酒類業務收入6.5億元,同比增長9.62%。詳情>>控股股東:中皇有限公司(持有酒鬼酒股份有限公司股份比例:31.00%)實際控制人:中皇有限公司(持有酒鬼酒股份有限公司股份比例:31.00%)最終控制人:旗下上市公司一覽股票代碼股票名稱000016深康佳A000021深科技000022深赤灣A000026飛亞達A000028國藥一致000031中糧地產000032深桑達A000043中航地產000050深天馬A000066長城電腦000069華僑城A000400許繼電氣000423東阿阿膠000519中兵紅箭000537廣宇發展000550江鈴汽車000553沙隆達A000554泰山石油000591太陽能000625長安汽車000635英力特000666經緯紡機000717韶鋼松山000720新能泰山000727華東科技000731四川美豐000733振華科技000736中房地產000738航發控制000748長城信息000758中色股份000768中航飛機000777中核科技000778新興鑄管000780*ST平能000786北新建材000798中水漁業000799酒鬼酒000800一汽轎車000815美利云000819岳陽興長000831五礦稀土000851高鴻股份000852石化機械000862銀星能源000875吉電股份000877天山股份000883湖北能源000898鞍鋼股份000901航天科技000916華北高速000920南方匯通000922*ST佳電000927一汽夏利000928中鋼國際000930中糧生化000958東方能源000962*ST東鉭000966長源電力000969安泰科技000985大慶華科000999華潤三九002025航天電器002039黔源電力002046軸研科技002051中工國際...',)
('其中合并報表的有:0家。序號關聯公司名稱參控關系參控比例投資金額(元)被參控公司凈利潤(元)是否報表合并被參股公司主營業務-酒鬼洞藏酒銷售有限公司合營企業50.00%3155.40萬-198.36萬--酒鬼酒湖南銷售有限責任公司聯營企業20.94%-1956.07萬-主營業務詳情:同花順個股頁面|F10論壇|模擬炒股|股民學校|手機炒股|聯系我們免責聲明:本信息由同花順金融研究中心提供,僅供參考,同花順金融研究中心力求但不保證數據的完全準確,如有錯漏請以中國證監會指定上市公司信息披露媒體為準,同花順金融研究中心不對因該資料全部或部分內容而引致的盈虧承擔任何責任。用戶個人對服務的使用承擔風險。同花順對此不作任何類型的擔保。同花順不擔保服務一定能滿足用戶的要求..',)
('華誼B股(900909) 公司資料_F10_同花順金融服務網謝謝您的寶貴意見您的支持是我們最大的動力謝謝您的支持同花順F10最新價:漲跌幅:換膚上一個股下一個股i問董秘華誼B股900909最新動態公司資料股東研究經營分析股本結構資本運作盈利預測新聞公告概念題材主力持倉財務概況分紅融資公司大事行業對比詳細情況高管介紹發行相關參控股公司專利狀況F10 功能找不到?在搜索框里直接輸入您想要的功能!...',)
('華電B股(900937) 公司資料_F10_同花順金融服務網謝謝您的寶貴意見您的支持是我們最大的動力謝謝您的支持同花順F10最新價:漲跌幅:換膚上一個股下一個股i問董秘華電B股900937最新動態公司資料股東研究經營分析股本結構資本運作盈利預測新聞公告概念題材主力持倉財務概況分紅融資公司大事行業對比詳細情況高管介紹發行相關參控股公司專利狀況F10 功能找不到?在搜索框里直接輸入您想要的功能!...',)

總結

如何有效利用私有數據一直是RAG系統中面臨的重大挑戰,其中知識圖譜是企業私有數據的重要組成部分。得益于PolarDB的可擴展性,PolarDB數據庫中可同時存儲向量數據和圖譜數據,進行統一的存儲和檢索。同時相較于傳統的向量檢索,PolarDB中可將圖檢索與向量檢索相結合,提供更高質量的RAG問答結果,滿足應用需求。

參考鏈接:

[1]https://github.com/lemonhu/stock-knowledge-graph

文章轉自微信公眾號@阿里云開發者

上一篇:

前端大模型入門(一):用 js+langchain 構建基于 LLM 的應用

下一篇:

深入淺出LangChain與智能Agent:構建下一代AI助手
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費