【GPT入門】第21課 langchain核心組件

【GPT入門】第21課 langchain核心組件

  • 1. langchain 核心組件
  • 2.文檔加載器 Document loader
  • 3.文檔處理器
  • 3.1 langchain_text_splitters
  • 3.3 FAISS向量數據庫和向量檢索
      • 主要作用
      • 應用場景
  • 4. 對話歷史管理

1. langchain 核心組件

模型 I/O 封裝
LLMs:大語言模型
Chat Models:一般基于 LLMs,但按對話結構重新封裝
PromptTemple:提示詞模板
OutputParser:解析輸出
數據連接封裝
Document Loaders:各種格式文件的加載器
Document Transformers:對文檔的常用操作,如:split, filter, translate, extract metadata, etc
Text Embedding Models:文本向量化表示,用于檢索等操作(啥意思?別急,后面詳細講)
Verctorstores: (面向檢索的)向量的存儲
Retrievers: 向量的檢索
對話歷史管理
對話歷史的存儲、加載與剪裁

在這里插入圖片描述

2.文檔加載器 Document loader

from langchain_community.document_loaders import PyMuPDFLoaderloader = PyMuPDFLoader("llama2.pdf")
pages = loader.load_and_split()
print(pages[0].page_content)
print(len(pages))

3.文檔處理器

3.1 langchain_text_splitters

from langchain_text_splitters import RecursiveCharacterTextSplitter
text_splitter = RecursiveCharacterTextSplitter(chunk_size=200,chunk_overlap=100,length_function=len,add_start_index=True
)
paragraphs = text_splitter.create_documents([pages[0].page_content])
for para in paragraphs:print(para)print('-'*20)

輸出結果:

page_content='models outperform open-source chat models on most benchmarks we tested, and based on
our human evaluations for helpfulness and safety

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/73445.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/73445.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/73445.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

應急響應靶機練習-Linux2

1.背景 前景需要:看監控的時候發現webshell告警,領導讓你上機檢查你可以救救安服仔嗎!! 挑戰內容: (1)提交攻擊者IP (2)提交攻擊者修改的管理員密碼(明文) (…

分享一個免費的CKA認證學習資料

關于CKA考試 CKA(Certified Kubernetes Administrator)是CNCF基金會(Cloud Native Computing Foundation)官方推出的Kubernetes管理員認證計劃,用于證明持有人有履行Kubernetes管理的知識,技能等相關的能力…

【PTA題目解答】7-2 簡化的插入排序(15分)

1.題目 本題要求編寫程序&#xff0c;將一個給定的整數插到原本有序的整數序列中&#xff0c;使結果序列仍然有序。 輸入格式&#xff1a; 輸入在第一行先給出非負整數N&#xff08;<10&#xff09;&#xff1b;第二行給出N個從小到大排好順序的整數&#xff1b;第三行給…

【最新】 ubuntu24安裝 1panel 保姆級教程

系統&#xff1a;ubuntu24.04.1 安裝軟件 &#xff1a;1panel 第一步&#xff1a;更新系統 sudo apt update sudo apt upgrade 如下圖 第二步&#xff1a;安裝1panel&#xff0c;運行如下命令 curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o …

UE4-UE5虛幻引擎,前置學習一--Console日志輸出經常崩潰,有什么好的解決辦法

有些差異 這么牛逼的引擎&#xff0c;居然有這種入門級別的問題&#xff0c;一觸發清理&#xff0c;大概率(80%)會崩潰 無論虛幻5還是UE4都有這個問題&#xff0c;挺煩人的 實在忍不了了&#xff0c;這次&#xff0c;今天 就想問問有什么好的處理方法么&#xff1f;&#x…

【微服務】Nacos 配置動態刷新(簡易版)(附配置)

文章目錄 1、實現方法2、配置依賴 yaml3、驗證效果 1、實現方法 環境&#xff1a;Nacos、Java、SpringBoot等 主要是在boostrap.yaml中的data-id屬性下配置refresh:true來實現動態更新 2、配置依賴 yaml 具體的版本參考官方的說明&#xff1a;官方版本說明 <!--讀取boo…

設計模式之備忘錄設計模式

備忘錄設計模式&#xff08;Memento Pattern&#xff09; 在不破壞封閉的前提下&#xff0c;捕獲一個對象的內部狀態&#xff0c;保存對象的某個狀態&#xff0c;以便在適當的時候恢復對象&#xff0c;又叫做快照模式&#xff0c;屬于行為模式備忘錄模式實現的方式需要保證被保…

pytest 框架學習總結

視頻&#xff1a;pytest01-快速上手_嗶哩嗶哩_bilibili 資料&#xff1a;pytest 框架 - 白月黑羽 基于 Python 語言的自動化測試框架 最知名的 有如下 3 款unittest、pytest、robotframework 前兩款框架主要&#xff08;或者說很大程度上&#xff09;是 聚焦 在 白盒單元測試…

Day16:最小的k個數

倉庫管理員以數組 stock 形式記錄商品庫存表&#xff0c;其中 stock[i] 表示對應商品庫存余量。請返回庫存余量最少的 cnt 個商品余量&#xff0c;返回 順序不限。 示例 1&#xff1a; 輸入&#xff1a;stock [2,5,7,4], cnt 1 輸出&#xff1a;[2]示例 2&#xff1a; 輸入…

【最后203篇系列】016 Q201架構思考

前言 Q200已經達到了我既定的目標&#xff0c;在最近的3個月&#xff0c;我需要進一步完善&#xff0c;達到可以試產的程度。 在這個過程當中&#xff0c;許多知識和體會一直在變。 qtv200到目前&#xff0c;雖然通過習慣(每晚運行離線策略和比對)方式維持了注意力的集中&…

音視頻入門基礎:RTP專題(20)——通過FFprobe顯示RTP流每個packet的信息

通過FFprobe命令&#xff1a; ffprobe -protocol_whitelist "file,rtp,udp" -of json -show_packets XXX.sdp 可以顯示SDP描述的RTP流每個packet&#xff08;數據包&#xff09;的信息&#xff1a; 對于RTP流&#xff0c;上述的“packet”&#xff08;數據包&#…

信息系統運行管理員教程6--信息系統安全

信息系統運行管理員教程6–信息系統安全 第1節 信息系統安全概述 1.信息系統安全的概念 信息系統安全是指保障計算機及其相關設備、設施&#xff08;含網絡&#xff09;的安全&#xff0c;運行環境的安全&#xff0c;信息的安全&#xff0c;實現信息系統的正常運行。信息系統…

LLM后訓練:解鎖大型語言模型推理能力的關鍵路徑

引言&#xff1a;從語言生成到邏輯推理的躍遷 大型語言模型&#xff08;LLMs&#xff09;通過預訓練掌握了海量語言模式&#xff0c;但其核心缺陷——幻覺、邏輯斷裂、價值觀偏差——暴露了單純預訓練的局限性。后訓練&#xff08;Post-Training&#xff09;作為預訓練后的精修…

9.貪心算法

簡單貪心 1.P10452 貨倉選址 - 洛谷 #include<iostream> #include<algorithm> using namespace std;typedef long long LL; const int N 1e510; LL a[N]; LL n;int main() {cin>>n;for(int i 1;i < n;i)cin>>a[i];sort(a1,a1n);//排序 LL sum 0…

Linux 網絡:skb 數據管理

文章目錄 1. 前言2. skb 數據管理2.1 初始化2.2 數據的插入2.2.1 在頭部插入數據2.2.2 在尾部插入數據 2.2 數據的移除 3. 小結 1. 前言 限于作者能力水平&#xff0c;本文可能存在謬誤&#xff0c;因此而給讀者帶來的損失&#xff0c;作者不做任何承諾。 2. skb 數據管理 數…

批量給 Excel 添加或刪除密碼保護|Excel 批量設置打開密碼和只讀密碼

我們在將 Excel 文檔發送給第三方或者進行存檔的時候&#xff0c;對 Excel 文檔添加密碼保護是非常重要的一個操作。添加保護后的 Excel 文檔。就只能有相應權限的用戶才能夠打開或者編輯操作。尤其是當我們 Excel 文檔中內容非常敏感非常重要的時候&#xff0c;添加保護就顯得…

藍耘MaaS平臺:阿里QWQ應用拓展與調參實踐

摘要&#xff1a;本文深入探討了藍耘MaaS平臺與阿里QWQ模型的結合&#xff0c;從平臺架構、模型特點到應用拓展和調參實踐進行了全面分析。藍耘平臺憑借其強大的算力支持、彈性資源調度和全棧服務&#xff0c;為QWQ模型的高效部署提供了理想環境。通過細化語義描述、調整推理參…

使用 Docker 部署前端項目全攻略

文章目錄 1. Docker 基礎概念1.1 核心組件1.2 Docker 工作流程 2. 環境準備2.1 安裝 Docker2.2 驗證安裝 3. 項目配置3.1 項目結構3.2 創建 Dockerfile 4. 構建與運行4.1 構建鏡像4.2 運行容器4.3 訪問應用 5. 使用 Docker Compose5.1 創建 docker-compose.yml5.2 啟動服務5.3 …

Vue中使用到的padStart方法是什么

padStart() 是 JavaScript 字符串對象的一個方法&#xff0c;用于在字符串的開頭填充指定的字符&#xff0c;直到字符串達到指定的長度。這在需要對字符串進行格式化&#xff0c;使其保持固定長度時非常有用&#xff0c;比如在日期格式化時&#xff0c;確保月份、日期等為兩位數…

springboot集成flink實現DM數據庫同步到ES

前言 今天分享的其實是一個面試上機方案&#xff0c;就是監測DM數據庫數據&#xff0c;同步到ES&#xff0c;使用flink實現。基本套路&#xff0c;其實也沒啥好說的&#xff0c;非要說也就是&#xff0c;國家隊還是很多不跟你玩啊&#xff0c;雖然flink有阿里在背后&#xff0c…