精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

99精品视频网站| 国产精品久久久久av| 极品白嫩少妇无套内谢| 国产激情视频在线看| 国产亚洲精品超碰| 91九色偷拍| 五月天婷婷导航| 91tv精品福利国产在线观看| 亚洲国产高清自拍| av污在线观看| 成人黄色动漫| 综合在线观看色| 精品中文字幕一区| 一级黄色小视频| 久久久久久9| 欧美黑人一级爽快片淫片高清| 精品人妻无码一区二区三区换脸| 日韩影片在线观看| 欧美在线色视频| 少妇人妻在线视频| 少女频道在线观看高清| 国产欧美一区二区三区在线看蜜臀 | 国产免费一区二区三区在线观看| 久久精品免费av| 久久网站免费观看| 国产视频精品一区二区三区| 古装做爰无遮挡三级聊斋艳谭| 六月婷婷综合| 婷婷久久综合九色国产成人| 日韩在线视频在线| 国产黄色在线免费观看| 国产三级一区二区| 精品亚洲一区二区三区四区五区高| 国产伦精品一区二区三区四区 | 91蝌蚪视频在线| xxxxx.日韩| 欧美性猛交xxxx乱大交| 免费一级特黄特色毛片久久看| 午夜伦理在线视频| 亚洲天堂网中文字| 伊人久久av导航| 国产九色在线| 国产视频一区二区在线观看| 久久精品99久久| 欧美熟妇交换久久久久久分类| 丁香亚洲综合激情啪啪综合| 亚洲最大的av网站| 国产又大又粗又长| 精品一区二区三区蜜桃| 国产玖玖精品视频| 伊人网视频在线| 美腿丝袜亚洲色图| 91精品久久久久久久久青青 | 日韩亚洲欧美在线观看| 91看片破解版| 99久久999| 欧美一区二区三区日韩视频| 6080国产精品| 奇米一区二区| 亚洲国产欧美日韩精品| 7788色淫网站小说| 亚洲小说图片视频| 亚洲一级免费视频| 黄色裸体一级片| 欧美国产一区二区三区激情无套| 精品久久久av| 朝桐光av在线| 影音先锋亚洲电影| 欧美一级视频在线观看| 日韩精品在线一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅| 成人免费午夜电影| av手机免费看| 91在线一区二区| 日韩免费电影一区二区| 麻豆视频在线免费观看| 一区二区三区.www| 欧美深夜福利视频| 欧美韩国亚洲| 91精品国产一区二区人妖| 26uuu国产| 亚洲最好看的视频| 久久精品美女视频网站| 国产在线免费视频| 天堂资源在线中文精品| 91精品啪在线观看麻豆免费| 成人久久久精品国产乱码一区二区| av欧美精品.com| 亚洲自拍偷拍二区| www在线看| 在线观看日韩精品| 人妻巨大乳一二三区| 色88888久久久久久影院| 在线观看欧美日韩国产| 久久亚洲国产成人精品性色| 性一交一乱一区二区洋洋av| 成人免费在线视频网站| 亚州av在线播放| 亚洲视频一区二区在线观看| 久久亚洲中文字幕无码| 北岛玲精品视频在线观看| 亚洲二区在线播放视频| 日韩国产第一页| 亚洲欧美视频| 俄罗斯精品一区二区三区| 成人在线免费视频| 亚洲va在线va天堂| av噜噜在线观看| 一本色道久久综合狠狠躁的番外| 美女av一区二区三区| 精品一区二区无码| 不卡电影一区二区三区| 最新av在线免费观看| 亚洲精品mv| 精品成人在线观看| 婷婷在线精品视频| 日韩av在线发布| 韩国成人av| 黄色美女视频在线观看| 欧美一区二区三区精品| 亚洲天堂岛国片| 亚洲综合丁香| 国产精品一区二区欧美| av免费在线观| 欧美精品粉嫩高潮一区二区| 久久成人激情视频| 99热这里只有精品8| 高清视频一区| a黄色片在线观看| 欧美日韩久久久| 亚洲毛片亚洲毛片亚洲毛片| 老**午夜毛片一区二区三区 | 午夜精品毛片| 国产精品久久久久久中文字| 欧美精品a∨在线观看不卡| 午夜精品一区在线观看| 性活交片大全免费看| 午夜国产精品视频免费体验区| 成人免费视频97| 黄色在线免费看| 欧美精品v国产精品v日韩精品| 人人人妻人人澡人人爽欧美一区| 国产精品综合| 欧美色图亚洲自拍| 欧美成人黑人| 伊人久久男人天堂| 中文字幕自拍偷拍| 国产精品三级av在线播放| 国产又黄又猛又粗| 天堂网在线观看国产精品| 成人精品久久一区二区三区| 免费黄网站在线| 欧美精品三级在线观看| 九九热最新地址| 成人一区二区三区视频在线观看 | 九九九九精品九九九九| 蜜桃麻豆av在线| 日韩精品免费在线播放| 黄色片视频免费| 中文字幕av一区二区三区免费看| 色综合色综合色综合色综合| 99久久精品国产亚洲精品 | 欧美—级高清免费播放| 二区三区在线视频| 精品久久久久久中文字幕一区奶水 | 久久夜色精品国产噜噜亚洲av| 久久亚洲捆绑美女| 男人搞女人网站| 先锋资源久久| 国产精品麻豆免费版| 少妇视频一区| 色香阁99久久精品久久久| av中文字幕播放| 亚洲.国产.中文慕字在线| 亚洲第一页av| 激情综合网av| 妞干网在线视频观看| 免费av一区| 成人国产精品免费视频| 超碰91在线观看| 伊人激情综合网| www三级免费| 色哟哟精品一区| 国产suv精品一区二区68| 成人精品视频一区| 国产偷人视频免费| 亚洲色图网站| 免费久久99精品国产自| 国产精品久久久久久久久久久久久久久| 久久久久这里只有精品| 国产人成在线视频| 精品美女在线播放| 国产精品自拍第一页| 一区二区三区日韩精品| 欧美丰满美乳xxⅹ高潮www| 国产高清精品网站| 国产成人久久777777| 欧美国产另类| 无遮挡亚洲一区| 好吊妞国产欧美日韩免费观看网站| 国产精品九九九| av第一福利在线导航| 日韩小视频在线观看| 亚州av在线播放| 日韩欧美高清dvd碟片| 少妇又紧又色又爽又刺激视频| 亚洲国产视频网站| 日本黄色录像视频| 欧美国产一区二区| 少妇精品一区二区三区| 福利91精品一区二区三区| 天天爱天天操天天干| 9国产精品视频| 少妇久久久久久被弄到高潮| 日本一区二区在线看| 久久另类ts人妖一区二区| 视频一区日韩精品| 成人欧美在线视频| 快播电影网址老女人久久| 69av成年福利视频| 国产传媒av在线| 欧美激情性做爰免费视频| 男人和女人做事情在线视频网站免费观看 | 亚洲视频网在线直播| 久久婷婷五月综合| 26uuu另类欧美亚洲曰本| 日本一区二区在线观看视频| 国产风韵犹存在线视精品| 天天干天天操天天玩| 日韩精品亚洲一区| 日批视频在线免费看| 999在线观看精品免费不卡网站| www插插插无码免费视频网站| 91精品蜜臀一区二区三区在线| 亚洲高清乱码| 欧美精品一区二区三区精品| 欧美日韩免费观看一区| 五月天亚洲色图| 玛丽玛丽电影原版免费观看1977| 青青一区二区| 久久av一区二区三区亚洲| 国内精品麻豆美女在线播放视频| 国产亚洲自拍偷拍| 日韩av字幕| 欧美日本韩国在线| 综合干狼人综合首页| 欧美日韩亚洲在线| 精品免费一区二区| 亚洲蜜桃在线| 国产精品精品国产一区二区| 一区二区不卡在线| 午夜欧美精品| 日本aa在线观看| 亚洲啪啪91| 午夜肉伦伦影院| 日韩精品电影一区亚洲| 91极品尤物在线播放国产| 免费观看成人鲁鲁鲁鲁鲁视频| 色国产在线视频| 韩国欧美国产1区| 久久国产劲爆∧v内射| av不卡在线观看| 国产中年熟女高潮大集合| 国产精品情趣视频| 黄色一级免费视频| 欧美日韩综合视频网址| 中文字幕永久免费视频| 91精品国产综合久久香蕉的特点 | 天天综合网久久综合网| 欧美天天综合网| 国产口爆吞精一区二区| 亚洲精品电影久久久| 黄色毛片在线看| 按摩亚洲人久久| 成人免费一区二区三区牛牛| 日韩美女写真福利在线观看| 亚洲ww精品| 精品国产乱码久久久久久郑州公司 | 在线不卡视频一区二区| 欧美国产专区| 男人亚洲天堂网| 国内精品久久久久影院色| 日本少妇xxxx| 国产精品女主播在线观看| 精品少妇久久久久久888优播| 色婷婷综合久久久久中文| 国产尤物视频在线观看| 亚洲精品大尺度| 成人影院www在线观看| 777午夜精品福利在线观看| 国产精品伦一区二区| 国产伦精品一区二区| 欧美丝袜一区| 欧美精品久久久久久久自慰| 免费国产亚洲视频| 国产草草浮力影院| 国产精品无码一区二区三区| 亚洲摸摸操操av| 免费看污视频的网站| 欧美成人女星排名| 最新av网站在线观看| 国外色69视频在线观看| 95精品视频| 欧洲精品一区色| 一区免费在线| 在线视频一二区| 中文字幕欧美国产| 青青青国产在线| 精品精品欲导航| 麻豆91在线| 国产精品免费久久久久影院| 欧美亚洲国产日韩| 亚洲av首页在线| 免费在线成人网| 老熟妇一区二区| 精品久久久久久久中文字幕| xxxwww国产| 日本大胆在线观看| 欧美一级片在线播放| 亚洲免费一区三区| 一区二区三区在线观看www| 久久字幕精品一区| 噜噜噜在线视频| 性做久久久久久免费观看欧美| 国产sm主人调教女m视频| 亚洲日本中文字幕免费在线不卡| 678在线观看视频| 国产精品久久久久久久天堂第1集 国产精品久久久久久久免费大片 国产精品久久久久久久久婷婷 | 国产999精品在线观看| 亚洲精品一区国产精品| 一本色道久久| 漂亮人妻被黑人久久精品| 夜夜夜精品看看| 国产成人麻豆精品午夜在线| 久久亚洲精品中文字幕冲田杏梨| 成人黄色图片网站| 午夜一区二区三区| 日本不卡123| 免费黄在线观看| 欧美三级三级三级爽爽爽| aaa在线观看| 国产日韩欧美成人| 国产精品精品国产一区二区| 欧美一级xxxx| 亚洲欧美日韩精品久久久久| 国产尤物视频在线观看| 久久伊人91精品综合网站| 电影一区中文字幕| 欧美 亚洲 视频| 成人精品鲁一区一区二区| 日韩成人免费观看| 日韩成人免费视频| 欧美成人ⅴideosxxxxx| 日韩av免费电影| 日本成人在线不卡视频| 在线观看黄网址| 欧美videos中文字幕| 久草在线资源福利站| 欧美日韩精品久久久免费观看| 久久一本综合频道| 99国产精品免费| 91精品国产综合久久精品图片| av色综合久久天堂av色综合在| 99国产在线视频| 在线视频免费在线观看一区二区| 乐播av一区二区三区| 欧美日韩和欧美的一区二区| 韩国av网站在线| 国产另类第一区| 日韩成人一区二区| 91插插插插插插| 亚洲国产欧美日韩精品| 88xx成人免费观看视频库 | 久久久久亚洲av成人无码电影| 在线观看国产91| а√天堂在线官网| 国产日韩欧美一区二区| 奇米精品一区二区三区在线观看一| 欧美视频www| 亚洲福利视频久久| av在线日韩| 国内少妇毛片视频| 久久青草欧美一区二区三区| 国产精品女同一区二区| 午夜精品一区二区三区在线| 精品国产a一区二区三区v免费| 涩多多在线观看| 色综合久久综合| 91高清在线观看视频| 欧美精品一区二区三区在线看午夜| 免费在线成人网| 好吊操这里只有精品| 日韩在线观看免费网站| 老牛影视av一区二区在线观看| 波多野结衣天堂| 亚洲不卡在线观看| 伊人免费在线| 欧美日韩在线一二三| 国产不卡免费视频| 91tv国产成人福利|