config_data.py knowledge_base.py
項(xiàng)目需求和思路 本項(xiàng)目以"某東商品衣服“為例,以衣服屬性構(gòu)建本地知識。使用者可以自由更新本地知識,用戶問題的答案也是基于本地知識生成的。 離線流程: 文本上傳WEB服務(wù) ap...
RAG回顧 RAG即檢索、增強(qiáng)和生成,其主要分為2條線: 離線處理:向私有知識庫(向量存儲)源源不斷添加私有知識文檔。** 向知識庫添加來自未來的知識文檔(基于模型訓(xùn)練完成時(shí)...
檢索向量并構(gòu)建提示詞 向量存儲的實(shí)例,通過 add_texts(list[str])方法可以快速添加到向量存儲中。流程:1.先通過向量存儲檢索匹配信息2.將用戶提問和匹配信息...
Vector stores 向量存儲 基于LangChain的向量存儲,存儲嵌入數(shù)據(jù),并執(zhí)行相似性搜索。 如圖,這是一個(gè)典型的向量存儲應(yīng)用,也即是典型的RAG流程。 這部分開...
PyPDFLoader LangChain內(nèi)支持許多PDF的加載器,我們選擇其中的PyPDFLoader使用。PyPDFLoader加載器,依賴PyPDF庫,所以,需要安裝它...
TextLoader 作用:讀取文本文件(如.txt),將全部內(nèi)容放入一個(gè)Document對象中。 RecursiveCharacterTextSplitter Recurs...
?? Pydantic V2 入門與實(shí)戰(zhàn)指南(~=2.10.6 詳解) 適用于初學(xué)者到中級開發(fā)者,涵蓋核心概念、最佳實(shí)踐、版本控制策略及實(shí)際應(yīng)用示例。基于 Pydantic v...
JSONLoader JSoNLoader用于將JSoN數(shù)據(jù)加載為Document類型對象。使用JsoNLoader需要額外安裝:pip install jq jq是一個(gè)跨平...
Documentloaders文檔加載器 文檔加載器提供了一套標(biāo)準(zhǔn)接口,用于將不同來源(如CSV、PDF_或JSON等)的數(shù)據(jù)讀取為LangChain的文檔格式。這確保了無論...
memory 長期會(huì)話記憶 FileChatMessageHistory類實(shí)現(xiàn),核心思路: 基于文件存儲會(huì)話記錄,以session_id為文件名,不同session_id有不...
臨時(shí)記憶 如果想要封裝歷史記錄,除了自行維護(hù)歷史消息外,也可以借助Langchain內(nèi)置的歷史記錄附加功能。Langchain提供了History功能,幫助模型在有歷史記憶的...
RunnambeLambda 我們根據(jù)JsonOutputParser完成了多模型執(zhí)行鏈條的構(gòu)建。 除了JsonOutputParser這類固定功能的解析器之外 我們也可以自...
JsonOutputParser 正常情況下我們應(yīng)該有如下處理邏輯: 即: 上一個(gè)模型的輸出結(jié)果,應(yīng)該作為提示詞模版的輸入,構(gòu)建下一個(gè)提示詞,用來二次調(diào)用模型。 模型的輸出為...
StroutputParser字符串輸出解析器 有如下代碼,想要以第一次模型的輸出結(jié)果,第二次去詢問模型: StrOutputParser是LangChain內(nèi)置的簡單字符串...
Runnable接口 Langchain中的絕大多數(shù)核心組件都繼承了Runnable抽象基類(位于 langchain_core.runnables.base)。代碼:cha...
** | 運(yùn)算符重載** 前文代碼中:chain = chat_prompt_template | model在語法上使用了 | 運(yùn)算符的重寫 在Python中,運(yùn)算符(如 ...
chain鏈 「將組件串聯(lián),上一個(gè)組件的輸出作為下一個(gè)組件的輸入」是Langchain鏈(尤其是 | 管道鏈)的核心工作原理,這也是鏈?zhǔn)秸{(diào)用的核心價(jià)值:實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)化流轉(zhuǎn)與...
ChatPromptTemplate PromptTemplate:通用提示詞模板,支持動(dòng)態(tài)注入信息。FewShotPromptTemplate:支持基于模板注入任意數(shù)量的示...