中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

wordpress積分券網(wǎng)站的seo

wordpress積分券,網(wǎng)站的seo,想做視頻,邯鄲網(wǎng)站開發(fā)前言 RAG(檢索增強(qiáng)生成)是一種創(chuàng)建基于大語言模型(LLM)應(yīng)用的高效方式。它有助于生成對用戶查詢的準(zhǔn)確回答。為了創(chuàng)建一個基于 RAG 的應(yīng)用程序,我們需要執(zhí)行一些操作,例如文檔加載、將大文檔拆分為多個小塊…

前言

RAG(檢索增強(qiáng)生成)是一種創(chuàng)建基于大語言模型(LLM)應(yīng)用的高效方式。它有助于生成對用戶查詢的準(zhǔn)確回答。為了創(chuàng)建一個基于 RAG 的應(yīng)用程序,我們需要執(zhí)行一些操作,例如文檔加載、將大文檔拆分為多個小塊、嵌入、嵌入索引,并將它們存儲在向量數(shù)據(jù)庫中。然后根據(jù)用戶查詢,系統(tǒng)從向量數(shù)據(jù)庫中提取相關(guān)上下文并傳遞給提示詞以及用戶查詢。然后 LLM 將用戶查詢和內(nèi)容結(jié)合起來,生成適當(dāng)?shù)捻憫?yīng)。這是 RAG 系統(tǒng)的整體流程。

文本分割器 在 LangChain 中有助于將大文檔分解為較小的塊。在大文檔或文本中,很難根據(jù)用戶查詢找到相關(guān)的上下文。此外,我們無法將整個大文檔傳遞給 LLM 模型。每個 LLM 模型能處理的 Token 是有限的,因此必須將大文本拆分為較小部分。這樣我們就可以輕松地從這些小塊中找到相關(guān)的上下文,并將其作為輸入傳遞給 LLM,確保輸入量低于模型的最大輸入大小。因此,文本分割器的 關(guān)鍵使用場景 如下:

  • ? 處理超過 LLM 模型 Token 限制的大文檔,文本分割技術(shù)有助于將文檔劃分為較小的部分,以便模型處理。

  • ? 在問答任務(wù)中,較小的文本塊在查詢、索引和檢索方面更有效,而大文檔則效率較低。

  • ? 它通過在適當(dāng)?shù)狞c(diǎn)拆分段落或句子數(shù)量,幫助將上下文保留在較小的部分中。這樣每個塊都包含適當(dāng)?shù)闹R。

  • ? LLM 在上下文窗口大小上有 Token 數(shù)量限制。即使上下文大小是無限的,更多的輸入 Token 也會導(dǎo)致更高的成本,而金錢不是 無限的

LangChain 中的文本分割技術(shù)

LangChain 提供了許多文本分割技術(shù)來適應(yīng)不同類型的數(shù)據(jù)。今天我們將探索不同的文本分割技術(shù),例如字符文本分割器、遞歸字符文本分割器、Token 文本分割器、Markdown 標(biāo)題文本分割器、Python 代碼文本分割器、HTML 文本分割器、Spacy 文本分割器、Latex 文本分割器、遞歸 JSON 文本分割器。如果你有興趣探索更多的分割技術(shù),請訪問這個 LangChain 頁面。建議你在自己的系統(tǒng)上運(yùn)行代碼,深入理解這些概念。

首先,安裝執(zhí)行分割技術(shù)所需的庫。打開命令提示符或終端并運(yùn)行以下命令。

pip install langchain spacy langchain_text_splitter langchain_core

字符文本分割器

這是最基本的文本分割技術(shù),它根據(jù)特定的字符數(shù)來劃分文本。它適用于簡單且統(tǒng)一的文本分割任務(wù)。參數(shù) separator 表示文本將只在換行符處拆分,因為使用了 “\n” 作為分隔符。它避免在段落中間拆分。我們可以使用其他分隔符,如空格。塊大小表示每個塊中的最大字符數(shù),而塊重疊表示從前一個塊中取多少字符到下一個塊中。我們要注意,每個塊應(yīng)該包含有用的知識。

from langchain.text_splitter importCharacterTextSplittertext ="你的長文檔文本在這里..."splitter =CharacterTextSplitter(separator="\n\n",chunk_size=10,chunk_overlap=2
)chunks = splitter.split_text(text)
print(chunks)

遞歸字符文本分割器

它使用字符分隔符將大文檔分解為較小的塊。它遞歸地嘗試使用分隔符層次結(jié)構(gòu)(如段落 \n\n、句子 \n 和字符 .、,)來拆分文本。它優(yōu)先進(jìn)行較高級別的拆分(如段落),如果需要則向下移動層次結(jié)構(gòu)。當(dāng)你需要靈活且分層的方法時,可以嘗試這種技術(shù)。

from langchain.text_splitter importRecursiveCharacterTextSplittertext ="你的長文檔文本在這里..."splitter =RecursiveCharacterTextSplitter(separators=["\n\n","\n"," ",""],chunk_size=1000,chunk_overlap=200,length_function=len
)chunks = splitter.split_text(text)
print(chunks)

Token 文本分割器

它根據(jù) Token 而不是字符或單詞來拆分文本。對于有 Token 限制的語言模型來說,這是必要的。它使用模型的 Token 化方法將大文檔分割成塊。這里我們使用了 OpenAI 的編碼來對文檔進(jìn)行 Token 化。

from langchain.text_splitter import TokenTextSplittertext = "你的長文檔文本在這里..."splitter = TokenTextSplitter(encoding_name="cl100k_base",  chunk_size=100,chunk_overlap=20
)chunks = splitter.split_text(text)
print(chunks)

Markdown 標(biāo)題文本分割器

這種方法用于根據(jù)標(biāo)題級別(如 #、##、### 等)拆分 Markdown 文檔。它使用分層方法,例如將特定標(biāo)題及其子標(biāo)題下的文本分開。當(dāng)你想組織 Markdown 文件中的內(nèi)容(如技術(shù)文檔)時,可以嘗試這種分割方法。

from langchain.text_splitter importMarkdownHeaderTextSplittermarkdown_text ="""
# 標(biāo)題
## 部分 1
部分 1 的內(nèi)容
## 部分 2
部分 2 的內(nèi)容
### 子部分 2.1
子部分 2.1 的內(nèi)容
"""headers_to_split_on =[
("#","Header 1"),
("##","Header 2"),
("###","Header 3"),
]splitter =MarkdownHeaderTextSplitter(headers_to_split_on=headers_to_split_on)
chunks = splitter.split_text(markdown_text)
print(chunks)

Python 代碼文本分割器

當(dāng)你想將 Python 代碼分解為較小的邏輯塊時,這種技術(shù)非常有用。它基于 Python 特定的分隔符(如函數(shù)、類等)來拆分代碼。

from langchain.text_splitter importPythonCodeTextSplitterpython_code ="""
def function1():print("Hello,World!")class MyClass:def __init__(self):self.value = 42def method1(self):return self.value
"""splitter =PythonCodeTextSplitter(chunk_size=100,chunk_overlap=20
)chunks = splitter.split_text(python_code)
print(chunks)

HTML 文本分割器

當(dāng)你處理網(wǎng)頁時,想要基于 HTML 層次結(jié)構(gòu)進(jìn)行分割而不破壞文檔結(jié)構(gòu)。你可以使用這種技術(shù),它根據(jù)文檔的結(jié)構(gòu)來拆分 HTML 內(nèi)容。它識別常見的 HTML 標(biāo)簽,如 <p>、<div>、<h1>等,并根據(jù)文檔結(jié)構(gòu)拆分文本。

from langchain_text_splitters importHTMLSectionSplitterhtml_text ="""
<html>
<body>
<h1>主標(biāo)題</h1>
<p>這是一個段落。</p>
<div><h2>子部分</h2><p>另一個段落。</p>
</div>
</body>
</html>
"""headers_to_split_on =[("h1","Header 1"),("h2","Header 2")]
splitter =HTMLSectionSplitter(headers_to_split_on=headers_to_split_on,chunk_size=100,chunk_overlap=20
)chunks = splitter.split_text(html_text)
chunks

Spacy 文本分割器

它使用 Spacy NLP 管道來分割文本,利用 Spacy 的 Token 化和句子分割能力,基于語言規(guī)則來拆分文本。當(dāng)語言細(xì)微差別(如句子邊界)很重要時,可以嘗試這種方法。

from langchain.text_splitter import SpacyTextSplittertext = "你的長文檔文本在這里。它可以是多種語言的。SpaCy 將處理語言的細(xì)微差別。"splitter = SpacyTextSplitter(chunk_size=100,chunk_overlap=20
)chunks = splitter.split_text(text)
chunks

Latex 文本分割器

當(dāng)你處理科學(xué)論文、數(shù)學(xué)文檔或任何 LaTex 格式的文本時,可以使用這種技術(shù),它在保留其結(jié)構(gòu)的同時拆分文本。它使用 latex 特定的分隔符,如 \\documentclass{}、\\begin{}等,將文本拆分為塊。

from langchain.text_splitter importLatexTextSplitterlatex_text = r"""
\documentclass{article}
\begin{document}
\section{引言}
這是引言部分。
\section{方法}
這是方法部分。
\end{document}
"""splitter =LatexTextSplitter(chunk_size=100,chunk_overlap=20
)chunks = splitter.split_text(latex_text)
chunks

遞歸 JSON 文本分割器

你可以使用它將大型或嵌套的 JSON 對象分割為較小的可管理部分。它遞歸地拆分 JSON,并通過遍歷鍵和值保持層次結(jié)構(gòu)的順序。

from langchain_text_splitters importRecursiveJsonSplitterjson_data ={
"company":{
"name":"TechCorp",
"location":{
"city":"Metropolis",
"state":"NY"
},
"departments":[
{
"name":"Research",
"employees":[
{"name":"Alice","age":30,"role":"Scientist"},
{"name":"Bob","age":25,"role":"Technician"}
]
},
{
"name":"Development",
"employees":[
{"name":"Charlie","age":35,"role":"Engineer"},
{"name":"David","age":28,"role":"Developer"}
]
}
]
},
"financials":{
"year":2023,
"revenue":1000000,
"expenses":750000
}
}splitter =RecursiveJsonSplitter(max_chunk_size=200, min_chunk_size=20)chunks = splitter.split_text(json_data, convert_lists=True)for chunk in chunks:
print(len(chunk))
print(chunk)

選擇合適的文本分割器

我們之前討論過遞歸字符文本分割技術(shù)。你也可以使用這種技術(shù)遞歸地分割編程語言。編程語言的結(jié)構(gòu)不同于純文本,我們可以根據(jù)特定語言的語法來拆分代碼。

from langchain_text_splitters importRecursiveCharacterTextSplitter,LanguagePYTHON_CODE ="""
def add(a, b):return a + bclass Calculator:def __init__(self):self.result = 0def add(self, value):self.result += valuereturn self.resultdef subtract(self, value):self.result -= valuereturn self.result# 調(diào)用函數(shù)
def main():calc = Calculator()print(calc.add(5))print(calc.subtract(2))if __name__ == "__main__":main()
"""python_splitter =RecursiveCharacterTextSplitter.from_language(language=Language.PYTHON, chunk_size=100, chunk_overlap=0)python_docs = python_splitter.create_documents([PYTHON_CODE])
python_docs

如果你不確定哪種分割技術(shù)最適合你的 RAG 應(yīng)用程序,可以選擇遞歸字符文本分割器技術(shù)。它作為通用的默認(rèn)選項,也可以執(zhí)行專門的分割器,如 MarkdownHeaderTextSplitter、PythonCodeTextSplitter 等,它們?yōu)樘囟ǖ奈臋n格式提供解決方案。


最后的最后

感謝你們的閱讀和喜歡,我收藏了很多技術(shù)干貨,可以共享給喜歡我文章的朋友們,如果你肯花時間沉下心去學(xué)習(xí),它們一定能幫到你。

因為這個行業(yè)不同于其他行業(yè),知識體系實在是過于龐大,知識更新也非???。作為一個普通人,無法全部學(xué)完,所以我們在提升技術(shù)的時候,首先需要明確一個目標(biāo),然后制定好完整的計劃,同時找到好的學(xué)習(xí)方法,這樣才能更快的提升自己。

這份完整版的大模型 AI 學(xué)習(xí)資料已經(jīng)上傳CSDN,朋友們?nèi)绻枰梢晕⑿艗呙柘路紺SDN官方認(rèn)證二維碼免費(fèi)領(lǐng)取【保證100%免費(fèi)

大模型知識腦圖

為了成為更好的 AI大模型 開發(fā)者,這里為大家提供了總的路線圖。它的用處就在于,你可以按照上面的知識點(diǎn)去找對應(yīng)的學(xué)習(xí)資源,保證自己學(xué)得較為全面。
在這里插入圖片描述

經(jīng)典書籍閱讀

閱讀AI大模型經(jīng)典書籍可以幫助讀者提高技術(shù)水平,開拓視野,掌握核心技術(shù),提高解決問題的能力,同時也可以借鑒他人的經(jīng)驗。對于想要深入學(xué)習(xí)AI大模型開發(fā)的讀者來說,閱讀經(jīng)典書籍是非常有必要的。

在這里插入圖片描述

實戰(zhàn)案例

光學(xué)理論是沒用的,要學(xué)會跟著一起敲,要動手實操,才能將自己的所學(xué)運(yùn)用到實際當(dāng)中去,這時候可以搞點(diǎn)實戰(zhàn)案例來學(xué)習(xí)。

在這里插入圖片描述

面試資料

我們學(xué)習(xí)AI大模型必然是想找到高薪的工作,下面這些面試題都是總結(jié)當(dāng)前最新、最熱、最高頻的面試題,并且每道題都有詳細(xì)的答案,面試前刷完這套面試題資料,小小offer,不在話下

在這里插入圖片描述

640套AI大模型報告合集

這套包含640份報告的合集,涵蓋了AI大模型的理論研究、技術(shù)實現(xiàn)、行業(yè)應(yīng)用等多個方面。無論您是科研人員、工程師,還是對AI大模型感興趣的愛好者,這套報告合集都將為您提供寶貴的信息和啟示。

在這里插入圖片描述

這份完整版的大模型 AI 學(xué)習(xí)資料已經(jīng)上傳CSDN,朋友們?nèi)绻枰梢晕⑿艗呙柘路紺SDN官方認(rèn)證二維碼免費(fèi)領(lǐng)取【保證100%免費(fèi)

http://www.risenshineclean.com/news/52142.html

相關(guān)文章:

  • 廣西專業(yè)網(wǎng)站建設(shè)視頻號推廣方法
  • 百度采購網(wǎng)官方網(wǎng)站百度首頁登錄
  • 最近上海大事件seo手機(jī)關(guān)鍵詞網(wǎng)址
  • 動態(tài)網(wǎng)站開發(fā)工程師 asp怎么免費(fèi)創(chuàng)建網(wǎng)站
  • 上海外貿(mào)網(wǎng)站推廣方法網(wǎng)站到首頁排名
  • 可以進(jìn)入的網(wǎng)站網(wǎng)絡(luò)策劃與營銷
  • 網(wǎng)站添加郵件發(fā)送怎么做寧波seo在線優(yōu)化方案公司
  • 蚌埠網(wǎng)站制作seo 頁面
  • 政府網(wǎng)站怎么做國外網(wǎng)站排名前十
  • 微網(wǎng)站微名片seo1現(xiàn)在怎么看不了
  • 可以建網(wǎng)站的軟件設(shè)計公司
  • 成都專業(yè)網(wǎng)站建設(shè)公司排名滎陽網(wǎng)絡(luò)推廣公司
  • 做機(jī)械出口用哪個網(wǎng)站好教育培訓(xùn)機(jī)構(gòu)報名
  • 美食網(wǎng)站建設(shè)畢業(yè)設(shè)計網(wǎng)站如何優(yōu)化推廣
  • iis 網(wǎng)站壓縮抖音搜索排名優(yōu)化
  • 360門戶網(wǎng)站怎樣做seo域名如何優(yōu)化
  • 國外獲獎網(wǎng)站榆林市網(wǎng)站seo
  • 網(wǎng)站建設(shè)及運(yùn)行情況介紹搜索引擎優(yōu)化學(xué)習(xí)
  • 站長之家收錄查詢seo快速優(yōu)化技術(shù)
  • 網(wǎng)站文字不能復(fù)制怎么做seo課程排行榜
  • 公司網(wǎng)站網(wǎng)址注冊和備案哪里找外貿(mào)推廣引流
  • 做曖曖視頻網(wǎng)站日本西安網(wǎng)站seo工作室
  • 做動畫合成的視頻網(wǎng)站營銷方式和渠道
  • 做網(wǎng)站帶阿里云服務(wù)器多少錢網(wǎng)站關(guān)鍵詞排名優(yōu)化價格
  • 幫助做ppt的網(wǎng)站上海aso優(yōu)化公司
  • 獨(dú)立電商網(wǎng)站開發(fā)廊坊推廣seo霸屏
  • 信用網(wǎng)站建設(shè)內(nèi)容近期重大新聞事件
  • 網(wǎng)站vr的建設(shè)百度引擎入口
  • 虎門做網(wǎng)站公司2020最成功的網(wǎng)絡(luò)營銷
  • 個人網(wǎng)站有哪些站營銷型網(wǎng)頁設(shè)計