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

RAG高階技巧-如何實現窗口上下文檢索

人工智能
在本文中,我們介紹了提高RAG模型檢索效果的高階技巧-窗口上下文檢索。我們首先回顧了基礎RAG的檢索流程和存在的問題,然后介紹了窗口上下文檢索的原理和實現方法,最后通過一個實例展示了其效果。

在本文中,我們將介紹一種提高RAG(Retrieval-Augmented Generation)模型檢索效果的高階技巧,即窗口上下文檢索。我們將首先回顧一下基礎RAG的檢索流程和存在的問題,然后介紹窗口上下文檢索的原理和實現方法,最后通過一個實例展示其效果。

圖片 基礎RAG存在的問題及解決方案 基礎RAG檢索流程 RAG是一種結合了檢索和生成的AI應用落地的方案,它可以根據給定的問題生成回答,同時利用外部知識庫(例如維基百科)來增強生成的質量和多樣性。RAG的核心思想是將問題和知識庫中的文檔進行匹配,然后將匹配到的文檔作為生成模型的輸入,從而生成更加相關和豐富的回答。

圖片 RAG的檢索流程可以分為以下幾個步驟:

load:加載文檔,將各種格式的文件加載后轉化為文檔,例如將pdf加載為文本數據,或者將表格轉換為多個鍵值對。 split:將文檔拆分為適合向量存儲的較小單元,以便于與向量存儲,以及檢索時的文檔匹配,例如將“我是kxc。我喜歡唱跳,rap,和籃球?!辈鸱譃椤拔沂莐xc。”和“我喜歡唱跳,rap,和籃?!眱蓚€數據分塊(一般稱之為chunk)。 embedding:將文檔用向量表示,例如使用BERT或TF-IDF等模型進行向量化。 store: 將向量化后的數據分塊,存入向量數據庫。 retrive:根據問題和文檔的向量,計算它們之間的相似度,然后根據相似度的高低,選擇最相關的文檔作為檢索結果,例如使用余弦相似度或點積等度量進行排序。 query:將檢索到的文檔作為生成模型的輸入,根據問題生成回答,例如使用GPT-3或T5等模型進行生成。 基礎RAG存在的問題 圖片 基礎RAG的檢索流程雖然簡單,但是也存在一些問題,主要是在split和retrive兩個步驟中。這些問題會影響RAG的檢索效果,從而導致生成的回答不準確或不完整。

split拆分的塊太大,在retrive時,同一塊中非相關的內容就越多,對問題的檢索匹配度影響越大,會導致檢索的不準確。例如,如果我們將維基百科中的一篇文章作為一個文檔,那么這個文檔可能包含很多不同的主題和細節,與問題的相關性會很低。如果我們將這個文檔作為檢索結果,那么生成模型可能會從中提取出一些無關或錯誤的信息,從而影響回答的質量。

split拆分的塊太小,檢索的匹配度會提高,然而在最后的query環節,提供給llm使用的信息會由于缺少上下文的信息支撐,導致回答不準確。例如,如果我們將維基百科中的一篇文章拆分為多個句子,那么每個句子可能只包含一小部分的信息,與問題的相關性會很高。如果我們將這些句子作為檢索結果,那么生成模型可能會從中提取出一些有用的信息,但是也可能會忽略一些重要的上下文信息,從而影響回答的完整性。

解決方案-窗口上下文檢索 圖片 解決這個問題一般采取的方案是,在split拆分時,盡量將文本切分到最小的語義單元。retrive時,不直接使用匹配到doc,而是通過匹配到的doc拓展其上下文內容后整合到一起,在投遞到LLM使用。這樣,既可以提高檢索的精度,又可以保留上下文的完整性,從而提高生成的質量和多樣性。

具體來說,這種方案的實現步驟如下:

在split拆分時,將文本切分為最小的語義單元,例如句子或段落,并給每個單元分配一個唯一的編號,作為其在文本中的位置信息。 在retrive檢索時,根據問題和文檔的向量,計算它們之間的相似度,然后選擇最相關的文檔作為檢索結果,同時記錄下它們的編號。 在query生成時,根據檢索結果的編號,從文本中獲取它們的上下文信息,例如前后若干個單元,然后將它們拼接成一個完整的文檔,作為生成模型的輸入,根據問題生成回答。 窗口上下文檢索實踐 上下文檢索實現思路 我們從最終要實現的目標著手,也就是在retrive時要能通過匹配到doc拓展出與這個doc內容相關的上下文。要想實現這個目標,我們就必須建立每個doc與其上下文的關聯關系。這個關系的建立其實十分簡單,只需要按順序給拆分出來的每個doc進行編號,在檢索時通過當前文檔的編號就能匹配到相關上下文doc的編號,進而獲取上下文的內容。

基于chroma向量庫的代碼實踐 想要實踐以上思路,需要在split環節基于文檔順序,將文檔編碼寫入元數據。在檢索時,則通過元數據中的順序分塊編碼來查找上下文。具體的代碼如下:

1.split時對分塊編碼并寫入元數據 import bs4,uuid from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain_community.document_loaders import WebBaseLoader from langchain_community.vectorstores import Chroma from langchain_openai import OpenAIEmbeddings

Load, chunk and index the contents of the blog.

loader = WebBaseLoader( web_paths=("

text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200) docs = text_splitter.split_documents(doc)

這里給每個docs片段的metadata里注入file_id

file_id = uuid.uuid4().hex chunk_id_counter = 0 for doc in docs: doc.metadata["file_id"] = file_id doc.metadata["chunk_id"] = f'{file_id}_{chunk_id_counter}' # 添加chunk_id到metadata chunk_id_counter += 1 for key,value in doc.metadata.items(): if not isinstance(value, (str, int, float, bool)): doc.metadata[key] = str(value)

vectorstore = Chroma.from_documents(documents=splits, embedding=OpenAIEmbeddings())

2.retrive時通過元數據中的順序分塊編碼來查找上下文 def expand_doc(group): new_cands = [] group.sort(key=lambda x: int(x.metadata['chunk_id'].split('_')[-1])) id_set = set() file_id = group[0].metadata['file_id']

group_scores_map = {}
# 先找出該文件所有需要搜索的chunk_id
cand_chunks = []
for cand_doc in group:
    current_chunk_id = int(cand_doc.metadata['chunk_id'].split('_')[-1])
    group_scores_map[current_chunk_id] = cand_doc.metadata['score']
    for i in range(current_chunk_id - 200, current_chunk_id + 200):
        need_search_id = file_id + '_' + str(i)
        if need_search_id not in cand_chunks:
            cand_chunks.append(need_search_id)
where = {"chunk_id": {"$in": cand_chunks}}

ids,group_relative_chunks = get(where)

group_chunk_map = {int(item.metadata['chunk_id'].split('_')[-1]): item.page_content for item in group_relative_chunks}
group_file_chunk_num = list(group_chunk_map.keys())
for cand_doc in group:
    current_chunk_id = int(cand_doc.metadata['chunk_id'].split('_')[-1])
    doc = copy.deepcopy(cand_doc)
    id_set.add(current_chunk_id)
    docs_len = len(doc.page_content)
    for k in range(1, 200):
        break_flag = False
        for expand_index in [current_chunk_id + k, current_chunk_id - k]:
            if expand_index in group_file_chunk_num:
                merge_content = group_chunk_map[expand_index]
                if docs_len + len(merge_content) > CHUNK_SIZE:
                    break_flag = True
                    break
                else:
                    docs_len += len(merge_content)
                    id_set.add(expand_index)
        if break_flag:
            break

id_list = sorted(list(id_set))
id_lists = seperate_list(id_list)
for id_seq in id_lists:
    for id in id_seq:
        if id == id_seq[0]:
            doc = Document(page_content=group_chunk_map[id],
                            metadata={"score": 0, "file_id": file_id})
        else:
            doc.page_content += " " + group_chunk_map[id]
    doc_score = min([group_scores_map[id] for id in id_seq if id in group_scores_map])
    doc.metadata["score"] = doc_score
    new_cands.append(doc)
return new_cands

總結 在本文中,我們介紹了提高RAG模型檢索效果的高階技巧-窗口上下文檢索。我們首先回顧了基礎RAG的檢索流程和存在的問題,然后介紹了窗口上下文檢索的原理和實現方法,最后通過一個實例展示了其效果。

責任編輯:武曉燕 來源: AI小智
相關推薦

2025-05-07 08:35:11

2025-05-09 07:50:30

2025-10-20 09:06:00

2024-09-30 14:10:00

2022-09-15 08:01:14

繼承基礎設施基礎服務

2022-09-14 13:13:51

JavaScript上下文

2025-10-13 08:00:00

2024-06-06 08:42:01

2017-05-11 14:00:02

Flask請求上下文應用上下文

2025-06-26 07:00:00

上下文工程AI智能體

2025-10-13 01:22:00

2024-09-05 08:24:09

2012-12-31 10:01:34

SELinuxSELinux安全

2025-10-27 08:25:01

2024-03-14 08:11:45

模型RoPELlama

2025-02-26 00:16:56

RAGAI服務

2017-06-27 18:52:05

TensorFlow深度學習

2025-03-19 08:43:17

檢索增強生成RAG大型語言模型

2025-04-28 09:02:14

2012-08-10 13:32:08

.NETAOP架構
點贊
收藏

51CTO技術棧公眾號

国产精品福利网站| 欧美一区二区福利在线| 日韩一区免费观看| www久久久久久| 久久经典综合| 欧美成人精品xxx| 中文字幕在线观看网址| 欧美成a人片免费观看久久五月天| 亚洲精品国产精华液| 欧美久久在线| www.国产免费| 蜜桃av一区二区在线观看 | 大桥未久在线视频| 国产精品区一区二区三区| 懂色中文一区二区三区在线视频| 中文字幕 国产精品| 极品尤物久久久av免费看| 一道本无吗dⅴd在线播放一区| 人妻换人妻a片爽麻豆| 性欧美video另类hd尤物| 天天色天天操综合| 欧美做暖暖视频| 91精品专区| 99精品热视频| 99一区二区| 91在线观看喷潮| 青青青爽久久午夜综合久久午夜| 97精品视频在线| 久草视频免费在线播放| jizzjizz欧美69巨大| 亚洲免费人成在线视频观看| 国产精品91av| 美女精品久久| 欧美绝品在线观看成人午夜影视| 一本久道中文无码字幕av| а√天堂资源官网在线资源| 亚洲一区二区在线免费看| 正在播放国产精品| 日本福利在线| 亚洲国产精品t66y| 日本中文不卡| 国产视频三级在线观看播放| 91麻豆国产精品久久| 精品国产一区二区三区日日嗨| 亚洲国产www| 国产91综合网| 国产精品乱码视频| 秋霞网一区二区| 成人av在线一区二区| 国产精品一码二码三码在线| 日韩中文字幕综合| 久久女同性恋中文字幕| 欧美大陆一区二区| 黄色大片在线看| 久久午夜羞羞影院免费观看| 欧美一区激情视频在线观看| 成年人视频在线免费观看| 国产蜜臀av在线一区二区三区 | 欧美人成在线| 色综合久久88| 日韩黄色一级大片| 视频一区欧美日韩| 影音先锋久久精品| 久久影院中文字幕| 91porn在线视频| 欧美午夜电影在线观看| 欧美激情精品在线| 在线观看黄网站| 日韩高清在线不卡| 91久久精品视频| 亚洲精品国产suv一区| www.日韩大片| 日韩av一区二区三区美女毛片| 久热av在线| 国产精品高潮呻吟| 精品一区二区三区无码视频| segui88久久综合9999| 欧美最猛性xxxxx直播| 天天干天天av| 成人香蕉社区| 夜夜嗨av色综合久久久综合网 | 亚洲影院理伦片| 免费在线激情视频| 四虎影视精品永久在线观看| 欧美变态口味重另类| 久久久久久九九九九九| 91久久久精品国产| 97免费在线视频| 一级黄色大毛片| av在线不卡观看免费观看| 日本在线成人一区二区| 在线中文免费视频| 日本福利一区二区| 无码人妻丰满熟妇区毛片蜜桃精品| 九九久久婷婷| 欧美激情videoshd| 中文字字幕在线观看| 风间由美性色一区二区三区| 日韩精品极品视频在线观看免费| 2024短剧网剧在线观看| 色欧美片视频在线观看在线视频| 精品人妻一区二区乱码| 国语产色综合| 久久人人爽人人爽人人片av高请 | 亚洲女人初尝黑人巨大| 福利所第一导航| 人禽交欧美网站| 国产在线一区二区三区播放| 黄色网址在线免费| 色又黄又爽网站www久久| 少妇伦子伦精品无吗| 999久久久91| 国产999精品久久久影片官网| 国产高清免费av| 中文字幕免费一区| 男人揉女人奶房视频60分| 亚洲视频三区| 日韩视频在线观看免费| 在线观看国产区| 91丨porny丨国产入口| 国产精品啪啪啪视频| av成人在线播放| 亚洲欧美日韩中文视频| 日韩三级视频在线| 成人av免费在线| 8x8x华人在线| 国产精品igao视频网网址不卡日韩 | 51ⅴ精品国产91久久久久久| 黑人乱码一区二区三区av| 亚洲女同女同女同女同女同69| 久久综合伊人77777麻豆最新章节| 日韩aaa久久蜜桃av| 久久久久久免费精品| 国产99999| 亚洲精品中文字幕乱码三区 | 97精品久久久午夜一区二区三区| 欧美大黑帍在线播放| 视频在线观看免费影院欧美meiju| www.亚洲人.com| 亚洲视频在线观看一区二区| 中文字幕乱码久久午夜不卡| 亚洲欧美自拍另类日韩| 日韩欧美一区免费| 国产日韩欧美中文在线播放| 日本电影在线观看网站| 欧美日韩国产高清一区| 来吧亚洲综合网| 久久99精品久久久久久| 中文字幕一区二区三区精彩视频| 精品69视频一区二区三区| 中文字幕少妇一区二区三区| 国产一区二区波多野结衣| 中文字幕一区二区三区色视频| 欧美日韩一区二区三区69堂| 国产精品88久久久久久| 91色琪琪电影亚洲精品久久| 日本三级韩国三级欧美三级| 亚洲福利视频免费观看| 一级片视频在线观看| 久久久久亚洲蜜桃| 中文字幕国内自拍| 亚洲一区二区三区无吗| 91嫩草在线| 91福利在线尤物| 亚洲片在线观看| 伊人久久国产精品| 一区二区三区免费网站| 少妇一级淫免费观看| 蜜桃av综合| 亚洲三区在线| 18国产精品| 青草热久免费精品视频| 一级毛片视频在线观看| 日韩亚洲欧美在线| 亚洲精品男人的天堂| 国产精品传媒视频| 免费观看污网站| 日韩主播视频在线| 国产女教师bbwbbwbbw| 私拍精品福利视频在线一区| 国产精品免费一区豆花| 大片免费在线观看| 精品亚洲va在线va天堂资源站| 亚洲手机在线观看| 亚洲一区二区三区中文字幕| 四虎国产精品成人免费入口| 国产老肥熟一区二区三区| 久草资源站在线观看| 国产高清欧美| 欧美日韩一区二区视频在线观看| 婷婷久久免费视频| 欧美一级免费视频| bt在线麻豆视频| 国产亚洲视频中文字幕视频| 国产高清视频免费| 欧美性三三影院| 日韩特黄一级片| 亚洲欧洲精品天堂一级| 中文人妻一区二区三区| 久久99久久久欧美国产| 欧美变态另类刺激| 一区二区三区午夜视频| 日本精品一区二区三区视频 | 欧美一区2区三区4区公司二百| 国产不卡精品在线| 国产成人91久久精品| 日本动漫理论片在线观看网站| 在线播放国产一区二区三区| 日本黄色三级视频| 91精品国产一区二区三区蜜臀 | 久久综合九色| 久久久亚洲国产精品| 911久久香蕉国产线看观看| 欧美一区二区三区四区夜夜大片| 波多野结衣一区二区三区免费视频| 国产精品视频中文字幕91| 牛牛精品一区二区| 久久久免费观看视频| 中文字幕有码在线视频| 深夜精品寂寞黄网站在线观看| 日韩精品系列| 亚洲а∨天堂久久精品喷水| 精品人妻一区二区三区三区四区| 欧美日韩亚洲综合在线 | 欧美大片一区二区| 国产精品乱码久久久| 欧美日韩一区二区电影| 91青青草视频| 欧洲一区在线电影| 黄色片中文字幕| 欧美性色xo影院| 国产精品一区二区三区四| 午夜影视日本亚洲欧洲精品| xxxx 国产| 亚洲国产sm捆绑调教视频 | 91福利国产成人精品照片| 日韩黄色三级视频| 红桃视频成人在线观看| 91九色丨porny丨肉丝| 午夜不卡av在线| 日韩三级免费看| 欧美日韩免费观看中文| 你懂的国产视频| 欧美三级免费观看| 少妇久久久久久久| 在线亚洲高清视频| 中文无码精品一区二区三区| 欧美日韩黄色一区二区| 91一区二区视频| 日韩欧美视频一区| 男人天堂手机在线观看| 日韩av一区二区在线| 男人天堂网在线视频| 日韩电影网在线| 毛片免费在线| 久久精品国产亚洲| 欧美人与动牲性行为| 97婷婷大伊香蕉精品视频| 午夜久久中文| 国产精品亚洲自拍| vam成人资源在线观看| 不卡一区二区三区视频| 先锋影音国产精品| 色爱区成人综合网| 欧美一区激情| 日韩中文字幕在线免费| 视频一区二区中文字幕| www.五月天色| www.欧美色图| 国产农村妇女精品一区| 亚洲精品国产品国语在线app| 国产精品xxxx喷水欧美| 欧美日韩在线一区二区| 精品毛片在线观看| 日韩精品日韩在线观看| 在线激情小视频| 欧美激情久久久| 亚洲欧美在线成人| 97超碰最新| 国产午夜一区| 影音先锋成人资源网站| 亚洲自啪免费| 亚洲欧美手机在线| 91一区二区在线观看| 日日操免费视频| 图片区日韩欧美亚洲| 一区二区精品视频在线观看| 亚洲激情自拍图| 精品51国产黑色丝袜高跟鞋| 18一19gay欧美视频网站| 亚洲资源在线| 欧美激情论坛| 欧美先锋影音| 777视频在线| 9久草视频在线视频精品| 情侣偷拍对白清晰饥渴难耐| 欧美性极品xxxx做受| 国产免费一区二区三区免费视频| 亚洲男人第一av网站| 先锋成人av| 国产剧情日韩欧美| 亚洲瘦老头同性70tv| 97中文字幕在线| 韩国精品一区二区| 中国女人特级毛片| 午夜精品在线看| 国产偷拍一区二区| 这里只有精品视频| 免费观看欧美大片| 国产伦精品一区二区三区免费视频| 欧美丰满日韩| 91视频免费版污| 91捆绑美女网站| 国产精品白浆一区二小说| 6080午夜不卡| 91精品专区| 国产精品视频免费在线| 一区二区三区四区在线看| 精品久久一二三| 成人自拍视频在线观看| 中文字幕另类日韩欧美亚洲嫩草| 欧美视频一区二区三区四区| 你懂的在线网址| 欧美一级免费视频| 欧美调教视频| 国产97在线 | 亚洲| 国产成人综合亚洲91猫咪| 国产高清在线免费观看| 欧美日韩国产综合一区二区| www.亚洲视频| 国产精品美女久久久久av超清| 你懂的一区二区三区| 久久久久久久久久久福利| 久久夜色精品国产噜噜av| 天天综合网入口| 日韩精品在线观看一区二区| 国模私拍一区二区国模曼安| 国产一区免费观看| 国产亚洲精品自拍| 青青草福利视频| 日韩欧美在线中文字幕| 精品视频二区| 国产精品福利小视频| 欧美伦理影院| 国产三级三级看三级| 中文字幕亚洲在| 99久久精品日本一区二区免费| 免费不卡欧美自拍视频| 超碰97久久国产精品牛牛| 国产手机免费视频| www.视频一区| 蜜臀99久久精品久久久久小说| 亚洲香蕉成视频在线观看| 91精品店在线| 大桥未久一区二区三区| 国产a精品视频| 国产精品999在线观看| 亚洲人成电影网站色| 91国内外精品自在线播放| 最近中文字幕免费mv| 成人一道本在线| 国产日产精品一区二区三区| 一区二区欧美日韩视频| 粉嫩av国产一区二区三区| 日本a在线天堂| 久久这里只有精品6| 中文字幕永久在线视频| 美女精品久久久| 九九热播视频在线精品6| 熟妇人妻va精品中文字幕| 国产精品久久久久久久裸模 | 国产91精品久久久久久久网曝门| 日韩激情在线播放| 在线电影av不卡网址| 国产一区二区三区视频在线| 欧美黑人经典片免费观看| 国产午夜精品一区二区三区四区 | 亚洲男人天堂手机在线| 91精品福利观看| 国产精品后入内射日本在线观看| 欧美国产乱子伦| 亚洲欧美另类一区| 国产精品va在线播放| 欧美特黄视频| 九九九视频在线观看| 日韩欧美一级片| 日韩一区二区三区免费视频| 国产精品视频网站在线观看| 国产香蕉久久精品综合网| a天堂在线视频| 国产99久久久欧美黑人| 欧美久久99| jizz18女人高潮| 亚洲国产精品一区二区久| 成人久久网站| 日本www在线播放| 一区二区高清视频在线观看| 国产黄在线观看| 精品欧美一区二区三区久久久 | 亚洲欧美色图视频|