指南)
Langchain-Chatchat 本地知識庫 RAG 與 Agent 應用0.3.x 架構解析與全流程部署實戰(zhàn)指南【免費下載鏈接】Langchain-ChatchatLangchain-Chatchat原Langchain-ChatGLM基于 Langchain 與 ChatGLM, Qwen 與 Llama 等語言模型的 RAG 與 Agent 應用 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM, Qwen and Llama) RAG and Agent app with langchain項目地址: https://gitcode.com/GitHub_Trending/la/Langchain-Chatchat本篇技術指南圍繞 Langchain-Chatchat原 Langchain-ChatGLM展開系統(tǒng)講解這個基于 ChatGLM、Qwen、Llama 等開源大語言模型與 Langchain 框架、可離線部署的 RAG 與 Agent 應用項目的設計原理、0.3.x 全新架構、模型部署框架接入機制以及從 pip 安裝到啟動服務的完整落地流程。讀者讀完本文后將掌握其實現(xiàn)原理加載文件 → 文本分割 → 向量化 → 相似檢索 → 組裝 Prompt → LLM 生成、YAML 配置體系model_settings / basic_settings / kb_settings的核心參數(shù)含義并能獨立完成本地私有化知識庫問答與 Agent 對話應用的安裝、配置、初始化與啟動。項目概述與設計思想Langchain-Chatchat 是一種利用 Langchain 思想實現(xiàn)的、基于本地知識庫的問答應用其目標定位非常明確建立一套對中文場景與開源模型支持友好、可離線運行的知識庫問答解決方案。項目支持市面上主流開源 LLM、Embedding 模型與向量數(shù)據(jù)庫可以全部使用開源模型實現(xiàn)離線私有部署同時保留了對 OpenAI GPT API 的調(diào)用能力。從項目定位看Langchain-Chatchat 與普通LLM 包裝殼有本質(zhì)區(qū)別核心是通過 RAG 讓 LLM 能夠基于用戶私域文檔回答問題。其技術路線受開源社區(qū)多個項目啟發(fā)演化而來當前版本可借助 Xinference、Ollama 等模型推理框架接入 GLM-4-Chat、Qwen2-Instruct、Llama3 等模型依托 Langchain 框架通過基于 FastAPI 的 API 對外提供服務或使用基于 Streamlit 的 WebUI 進行交互。需要明確的是本項目不涉及微調(diào)與訓練過程屬于純推理期的 RAG Agent 應用框架若需要效果優(yōu)化可借助外部微調(diào)或訓練手段對模型進行增強后再接入本項目。RAG 實現(xiàn)原理從文件加載到 LLM 生成Langchain-Chatchat 的 RAG 鏈路是理解整個項目的鑰匙。項目 README 對其實現(xiàn)原理給出了清晰的八步流程加載文件 → 讀取文本 → 文本分割 → 文本向量化 → 問句向量化 → 在文本向量中匹配出與問句向量最相似的 top k 個 → 匹配出的文本作為上下文和問題一起添加到 prompt 中 → 提交給 LLM 生成回答。該圖見 docs/img/langchainchatglm.png展示了知識庫離線建庫 在線問答的經(jīng)典雙階段結構左側是把本地文檔離線切分、向量化并存入向量庫的過程右側是用戶提問后把問句向量化、檢索相似片段、與問題拼接成 Prompt 提交給 LLM 的過程。從文檔處理角度進一步展開可以拆解為如下文件處理管線對應 docs/img/langchainchatglm2.png 所示流程文件加載支持 PDF、Word、PPT、CSV、圖片OCR、文本等多種格式。倉庫中的實際加載器位于 libs/chatchat-server/chatchat/server/file_rag/document_loaders例如 mypdfloader.py、mypptloader.py、ocr.py 等并對非結構化文檔解析做了兼容處理。文本分割將長文檔切分為語義完整的 Chunk。項目內(nèi)置多種分割器位于 libs/chatchat-server/chatchat/server/file_rag/text_splitter其中 chinese_recursive_text_splitter.py 是針對中文場景的遞歸分割器默認配置TEXT_SPLITTER_NAME: ChineseRecursiveTextSplitter見 settings.py。文本向量化Embedding調(diào)用 Embedding 模型默認如 bge-large-zh-v1.5 / bge-m3將文本塊轉(zhuǎn)為向量并寫入向量庫。在線檢索將用戶問句向量化后在向量庫中檢索最相似的 top k 個文本塊。組裝 Prompt 并生成將檢索片段作為上下文與問題一起填入 Prompt 模板交給 LLM 生成最終回答。從源碼角度印證上述文件處理與向量入庫邏輯集中在 libs/chatchat-server/chatchat/server/knowledge_base 目錄中kb_service/下提供了 faiss、chromadb、milvus、es、pg、zilliz 等多種向量庫服務的統(tǒng)一實現(xiàn)RAG 在線對話的 API 層見 libs/chatchat-server/chatchat/server/chat/kb_chat.py 與 libs/chatchat-server/chatchat/server/api_server/kb_routes.py。0.3.x 核心功能與能力矩陣0.3.0 版本對項目進行了全新架構重構功能對比0.2.x vs 0.3.x如下功能0.2.x0.3.x模型接入本地fastchat在線XXXModelWorker本地model_provider支持大部分主流模型加載框架在線oneapi所有模型接入均兼容 openai sdkAgent不穩(wěn)定針對 ChatGLM3 和 Qwen 進行優(yōu)化Agent 能力顯著提升LLM 對話支持支持知識庫對話支持支持搜索引擎對話支持支持文件對話僅向量檢索統(tǒng)一為 File RAG 功能支持 BM25 KNN 等多種檢索方式數(shù)據(jù)庫對話不支持支持多模態(tài)圖片對話不支持支持推薦 qwen-vl-chatARXIV 文獻對話不支持支持Wolfram 對話不支持支持文生圖不支持支持本地知識庫管理支持支持WEBUI支持更好的多會話支持、自定義系統(tǒng)提示詞等0.3.x 的核心能力圍繞Agent構建但項目同時保留了多檔手動工具調(diào)用的降級方案以適應不同 Agent 能力的模型具體操作矩陣如下操作方式實現(xiàn)的功能適用場景選中啟用 Agent選擇多個工具由 LLM 自動進行工具調(diào)用使用 ChatGLM3/Qwen 或在線 API 等具備 Agent 能力的模型選中啟用 Agent選擇單個工具LLM 僅解析工具參數(shù)所用模型 Agent 能力一般不能很好選擇工具或想手動選擇功能不選中啟用 Agent選擇單個工具不使用 Agent 功能時手動填入?yún)?shù)進行工具調(diào)用所用模型不具備 Agent 能力不選中任何工具上傳一個圖片圖片對話使用 qwen-vl-chat 等多模態(tài)模型對應源碼中Agent 編排能力位于 libs/chatchat-server/langchain_chatchat/agents其中 structured_chat 下提供了針對 ChatGLM3glm3_agent.py與 Qwenqwen_agent.py的專用 Agent 實現(xiàn)內(nèi)置工具注冊在 libs/chatchat-server/chatchat/server/agent/tools_factory/tools_registry.py 中。而 WebUI 側的知識庫搜索工具依賴樣本知識庫 samples詳見 libs/chatchat-server/chatchat/server/agent/tools_factory/search_local_knowledgebase.py。模型接入架構模型推理框架統(tǒng)一管理從 0.3.0 版本起Langchain-Chatchat不再根據(jù)用戶輸入的本地模型路徑直接加載模型無論是 LLM、Embedding 還是 Reranker及后續(xù)多模態(tài)模型一律通過市面常見的模型推理框架接入。這帶來兩個重要變化模型加載職責外置模型由 Xinference、Ollama、LocalAI、FastChat 等框架負責啟動與加載Chatchat 只負責通過 OpenAI 兼容的 HTTP 接口調(diào)用天然支持 GPU / CPU / NPU / MPS 等異構硬件。接入即 OpenAI 兼容所有框架與模型的接入均對齊 OpenAI API 協(xié)議因此在線 API經(jīng) One API 網(wǎng)關與本地框架可以統(tǒng)一配置、統(tǒng)一調(diào)用。項目官方對本地模型部署框架支持情況的匯總如下模型部署框架XinferenceLocalAIOllamaFastChatOpenAI API 接口對齊支持支持支持支持加速推理引擎GPTQ, GGML, vLLM, TensorRT, mlxGPTQ, GGML, vLLM, TensorRTGGUF, GGMLvLLM接入模型類型LLM, Embedding, Rerank, Text-to-Image, Vision, AudioLLM, Embedding, Rerank, Text-to-Image, Vision, AudioLLM, Text-to-Image, VisionLLM, VisionFunction Call支持支持支持不支持更多平臺支持CPU, Metal支持支持支持支持異構支持支持不支持不支持集群支持支持不支持不支持此外項目對 One API 網(wǎng)關的接入提供支持可統(tǒng)一代理 OpenAI ChatGPT、Azure OpenAI API、Anthropic Claude、智譜清言、百川等常用在線 API。從源碼看這一設計落實為 settings.py 中的PlatformConfig與ApiModelSettings.MODEL_PLATFORMS每個平臺platform對應一份PlatformConfig關鍵字段包括platform_name平臺名稱、platform_type可選 xinference / ollama / oneapi / fastchat / openai / custom openai、api_base_urlOpenAI 兼容接口地址、api_key、api_proxy代理、api_concurrencies單模型最大并發(fā)數(shù)默認 5、auto_detect_model是否自動拉取平臺可用模型列表。按模型能力維度聲明平臺可提供的模型llm_models大語言模型、embed_modelsEmbedding、rerank_models重排、text2image_models文生圖、image2text_models多模態(tài)、speech2text_models語音轉(zhuǎn)寫、text2speech_models語音合成。auto_detect_model置為 True 時這些列表可用auto自動檢測。倉庫默認預置了 xinference默認監(jiān)聽http://127.0.0.1:9997/v1、ollamahttp://127.0.0.1:11434/v1、oneapihttp://127.0.0.1:3000/v1、openai官方 api等若干平臺配置并在ApiModelSettings中給出DEFAULT_LLM_MODEL當前倉庫源碼默認glm4-chat與DEFAULT_EMBEDDING_MODEL源碼默認bge-m3作為默認選用模型。補充若使用 Xinference 且希望它加載本機已下載的模型而非自動聯(lián)網(wǎng)下載內(nèi)置模型可以在啟動 Xinference 服務后進入項目 tools/model_loaders 目錄執(zhí)行streamlit run xinference_manager.py按頁面提示為指定模型設置本地路徑。pip 安裝部署全流程0. 軟硬件要求軟件支持 Python 3.8–3.11已在 Windows、macOS、Linux 上測試。硬件0.3.0 起因改為框架接入模型因此可在 CPU、GPU、NPU、MPS 等不同硬件條件下使用。1. 安裝 Langchain-Chatchat從 0.3.0 版本起項目以 Python 庫形式發(fā)布直接執(zhí)行pip install langchain-chatchat -U為確保安裝到最新版庫建議使用官方 PyPI 源或清華鏡像源。如需搭配 Xinference 使用由于框架接入需要額外的 Python 依賴推薦使用帶擴展的安裝方式pip install langchain-chatchat[xinference] -U源碼級佐證當前倉庫正是通過 Poetry 管理libs/chatchat-server/pyproject.toml中的可選依賴extralibs/chatchat-server/README.md 對庫結構與-E xinference等安裝方式有更細說明。2. 啟動模型推理框架并加載模型這是 0.3.x 部署中容易忽視卻至關重要的一步必須在啟動 Langchain-Chatchat 之前先運行所選模型推理框架并加載好要用的模型。以 Xinference 為例請參照其官方文檔完成框架部署與模型加載LLM、Embedding 均需就緒。重要提示為避免依賴沖突請把 Langchain-Chatchat 與模型部署框架如 Xinference放在不同的 Python 虛擬環(huán)境中conda、venv、virtualenv 均可。3. 初始化項目配置與數(shù)據(jù)目錄從 0.3.1 版本起項目改用本地YAML 文件管理全部配置用戶可直接查看、修改服務器會自動更新配置、無需重啟這是由 settings.py 中基于 pydantic 的配置加載與緩存刷新機制實現(xiàn)的。第一步設置 Chatchat 根目錄可選# on linux or macos export CHATCHAT_ROOT/path/to/chatchat_data # on windows set CHATCHAT_ROOT/path/to/chatchat_data若未設置該環(huán)境變量將自動使用當前目錄作為根目錄。第二步執(zhí)行初始化命令chatchat init該命令實際完成三件事對應 cli.py 中init命令的Settings.basic_settings.make_dirs()、復制 samples、create_tables()、生成配置文件模板等邏輯創(chuàng)建所有需要的數(shù)據(jù)目錄復制 samples 知識庫內(nèi)容生成默認 YAML 配置文件。chatchat init還支持幾個實用參數(shù)-x/--xinference-endpoint指定 Xinference API 地址默認http://127.0.0.1:9997/v1、-l/--llm-model指定默認 LLM默認glm4-chat、-e/--embed-model指定默認 Embedding默認bge-large-zh-v1.5、-r/--recreate-kb是否在初始化時同步重建知識庫需確保 Embedding 模型可用、-k/--kb-names指定重建的知識庫名稱多個以逗號分隔默認samples。第三步修改配置文件主要包括三類配置模型model_settings.yaml根據(jù)第 2 步實際使用的推理框架與模型填寫。需要修改的核心內(nèi)容包括# 默認選用的 LLM 名稱 DEFAULT_LLM_MODEL: qwen1.5-chat # 默認選用的 Embedding 名稱 DEFAULT_EMBEDDING_MODEL: bge-large-zh-v1.5此外還需要把LLM_MODEL_CONFIG中l(wèi)lm_model、action_model等子配置的模型鍵改成對應的 LLM 模型并在MODEL_PLATFORMS中修改對應模型平臺的地址與模型列表平臺字段含義見上文模型接入架構一節(jié)。配置數(shù)據(jù)路徑basic_settings.yaml可選默認知識庫位于CHATCHAT_ROOT/data/knowledge_base。若希望把知識庫存放到其他位置或連接已有的知識庫可修改# 知識庫默認存儲路徑 KB_ROOT_PATH: D:\chatchat-test\data\knowledge_base # 數(shù)據(jù)庫默認存儲路徑。如果使用sqlite可以直接修改DB_ROOT_PATH如果使用其它數(shù)據(jù)庫請直接修改SQLALCHEMY_DATABASE_URI。 DB_ROOT_PATH: D:\chatchat-test\data\knowledge_base\info.db # 知識庫信息數(shù)據(jù)庫連接URI SQLALCHEMY_DATABASE_URI: sqlite:///D:\chatchat-test\data\knowledge_base\info.db對應源碼見 settings.py 中BasicSettingsKB_ROOT_PATH默認指向CHATCHAT_ROOT/data/knowledge_baseDB_ROOT_PATH默認指向其下的info.dbSQLALCHEMY_DATABASE_URI默認采用 sqlite URI。配置知識庫kb_settings.yaml可選默認使用 FAISS 向量庫。若想改用其它類型的向量庫Chroma、Milvus、ES、PG 等可修改DEFAULT_VS_TYPE與kbs_config例如在kbs_config中為 milvus 配置search_params/index_params的 metric_type 等參數(shù)為 ES 配置 host、port、user、password、verify_certs 等連接信息。4. 初始化知識庫警告初始化知識庫前務必確認已完成兩件事——① 模型推理框架已啟動且對應Embedding 模型已加載② 已按第 3 步完成模型接入配置。chatchat kb -r更多子命令可執(zhí)行chatchat kb --help查看例如重建特定知識庫、指定 Embedding 模型等。出現(xiàn)以下日志即為成功---------------------------------------------------------------------------------------------------- 知識庫名稱 samples 知識庫類型 faiss 向量模型 bge-large-zh-v1.5 知識庫路徑 /root/anaconda3/envs/chatchat/lib/python3.11/site-packages/chatchat/data/knowledge_base/samples 文件總數(shù)量 47 入庫文件數(shù) 42 知識條目數(shù) 740 用時 0:02:29.701002 ---------------------------------------------------------------------------------------------------- 總計用時 0:02:33.414425日志中的知識條目數(shù)即向量入庫的文本塊數(shù)量表明樣本知識庫已完成切分、向量化與入庫。5. 啟動項目chatchat start -a-a表示同時啟動 API Server 與 WebUI 兩個進程。啟動成功后會看到 WebUI 界面WebUI見 libs/chatchat-server/chatchat/webui_pages基于 Streamlit 實現(xiàn)支持 LLM 對話、知識庫對話、Agent 對話、文件對話、數(shù)據(jù)庫對話、多模態(tài)對話、WebUI 內(nèi)嵌的 Agent 工具選擇與知識庫管理等頁面。注意默認監(jiān)聽地址DEFAULT_BIND_HOST若為 127.0.0.1則無法通過其他機器 IP 訪問。如需通過本機 IP 遠程訪問如 Linux 服務器需到basic_settings.yaml中將監(jiān)聽地址改為 0.0.0.0。當前倉庫源碼 settings.py 在非 Windows 平臺默認值即為0.0.0.0Windows 下為127.0.0.1請以你本地生成的實際配置文件為準。關于 YAML 配置體系Settings部署中的全部配置由chatchat.settings.Settings統(tǒng)一管理替代舊版chatchat/configs/*.py。該設計詳見 docs/contributing/settings.md帶來的工程收益包括配置項與 Python 代碼分離升級代碼不再覆蓋用戶配置改配置更方便切換不同 YAML 文件即可切換不同配置方便多環(huán)境管理與測試配置項通過 pydantic 模型定義加強數(shù)據(jù)驗證、簡化環(huán)境變量讀取并支持 yaml / json / toml 多種文件后端可自動生成 YAML 模板并附帶配置說明配置讀取帶緩存當.yaml/.env文件被修改時可自動刷新緩存通過Settings.xx_settings.XX方式訪問會跟蹤文件變更自動刷新若先把Settings.xx_settings賦給變量再用s.XX方式訪問則不會自動刷新。分組訪問示例from chatchat.settings import Settings print(Settings.basic_settings) # 基本配置數(shù)據(jù)目錄、服務器配置等 print(Settings.kb_settings) # 知識庫相關配置 print(Settings.model_settings) # 模型相關配置 print(Settings.tool_settings) # 工具相關配置 print(Settings.prompt_settings) # prompt 模板chatchat init生成配置模板的具體實現(xiàn)是Settings.createl_all_templates()若自行在源碼中新增了配置字段可執(zhí)行CHATCHAT_ROOT/path/to/data chatchat init --gen-config重新生成含新字段的配置模板。與 API 服務的銜接啟動后所有 HTTP 接口都可以在{api_address}/docsSwagger 文檔中查看參數(shù)并直接測試。常用接口包括GET /tools列出所有工具及其參數(shù)、配置信息如知識庫檢索工具search_local_knowledgebase的 database 可選列表、top_k、score_threshold 等。POST /chat/chat/completions通用對話接口兼容 OpenAI SDK 格式支持純 LLM 對話、Agent 對話傳tools、半 Agent 對話傳tool_choice三種模式。POST /knowledge_base/chat/completions面向 RAG 的專用接口支持local_kb本地知識庫、temp_kb臨時文件知識庫、search_engine搜索引擎三種檢索模式以及top_k、score_threshold、return_direct僅返回檢索結果不經(jīng) LLM等增強參數(shù)。更完整的調(diào)用示例含 SSE 流式輸出、Agent 步驟status字段語義等請參閱 docs/contributing/api.md。常見問題Windows 下重建知識庫卡住Windows 下重建知識庫或添加知識文件時卡住不動常出現(xiàn)于新建的虛擬環(huán)境。可先執(zhí)行下面語句確認問題根因from unstructured.partition.auto import partition若該語句執(zhí)行卡住說明python-magic-bin版本不兼容可執(zhí)行以下命令卸載后重裝匹配的版本pip uninstall python-magic-bin # 查看被卸載的版本號 pip install python-magic-bin{version}然后重新執(zhí)行知識庫初始化即可。源碼安裝部署開發(fā)部署從 0.3.0 版本起源碼部署不再使用 requirements.txt而是改用Poetry管理依賴以規(guī)避依賴包版本沖突并支持 pip 方式的庫打包發(fā)布。簡要步驟如下完整說明見 docs/contributing/README_dev.md克隆 master 分支代碼使用源碼啟動請拉取 master 分支。安裝 Poetry并建議先用conda create -n chatchat python3.9創(chuàng)建獨立環(huán)境。進入服務端主目錄安裝依賴libs/chatchat-servercd libs/chatchat-server/ poetry install --with lint,test -E xinference # 或者以可編輯模式用 pip 安裝 pip install -e .開發(fā)環(huán)境下若需把當前代碼打包成 Python 庫進行測試可在該目錄執(zhí)行poetry build構建產(chǎn)物生成于dist/目錄。 4.設置數(shù)據(jù)根目錄并初始化export CHATCHAT_ROOT/path/to/chatchat_data python chatchat/cli.py init也可在倉庫根目錄直接調(diào)用libs/chatchat-server/chatchat/cli.py下的同一套命令。 5.初始化知識庫python chatchat/cli.py kb --recreate-vs。注意該命令會清空數(shù)據(jù)庫、刪除已有配置文件執(zhí)行前請備份重要數(shù)據(jù)。如需使用其它 Embedding 模型或只重建特定知識庫用python chatchat/cli.py kb --help查看參數(shù)。 6.啟動服務python chatchat/cli.py start -a。依賴變動時更新主目錄pyproject.toml后執(zhí)行poetry update需要 API 對接時參閱 docs/contributing/api.md。Docker 部署如需以容器方式快速體驗可拉取已構建鏡像docker pull chatimage/chatchat:0.3.1.3-93e2c87-20240829 docker pull ccr.ccs.tencentyun.com/langchain-chatchat/chatchat:0.3.1.3-93e2c87-20240829 # 國內(nèi)鏡像強烈建議使用 docker-compose 進行部署具體步驟參考 docs/install/README_docker.md。倉庫根目錄同時提供了 Dockerfile見 docker/Dockerfile可供鏡像構建參考。舊版本0.2.x遷移說明0.3.x 相比 0.2.x 結構改變很大官方強烈建議按照文檔全新部署遷移指南不保證 100% 兼容與成功遷移前務必備份重要數(shù)據(jù)。參考步驟如下按上述安裝部署中的步驟完成運行環(huán)境配置、修改配置文件將 0.2.x 項目的knowledge_base目錄拷貝到新版本配置的DATA目錄下。版本里程碑了解項目演進有助于判斷各版本能力邊界此處僅陳述倉庫記錄的公開信息不包含任何未經(jīng)驗證的性能或規(guī)模斷言2023年4月發(fā)布Langchain-ChatGLM 0.1.0支持基于 ChatGLM-6B 的本地知識庫問答。2023年8月Langchain-ChatGLM更名為Langchain-Chatchat發(fā)布0.2.0使用 fastchat 作為模型加載方案支持更多模型與數(shù)據(jù)庫。2023年10月發(fā)布0.2.5推出 Agent 內(nèi)容。2023年12月開源項目獲得超過 20K stars。2024年6月發(fā)布0.3.0帶來全新項目架構。源碼閱讀地圖若希望深入本項目做二次開發(fā)或貢獻建議按以下路徑閱讀倉庫關鍵源碼主代碼位于 libs/chatchat-server/chatchat配置體系libs/chatchat-server/chatchat/settings.py含各 XXSettings 類的完整字段注釋與默認值、docs/contributing/settings.mdCLI 入口libs/chatchat-server/chatchat/cli.pyinit/kb/start三個子命令、libs/chatchat-server/chatchat/init_database.py服務啟動libs/chatchat-server/chatchat/startup.py、API 組裝見 libs/chatchat-server/chatchat/server/api_server/server_app.pyRAG 實現(xiàn)libs/chatchat-server/chatchat/server/knowledge_base向量庫服務、文檔入庫、libs/chatchat-server/chatchat/server/file_rag文檔加載與分割Agent 與工具libs/chatchat-server/langchain_chatchat/agents、libs/chatchat-server/chatchat/server/agent/tools_factory/tools_registry.py測試用例可用作行為參考libs/chatchat-server/testsAPI 級測試含 test_stream_chat_api.py、test_tools.py 等向量庫級測試見 kb_vector_db開發(fā)協(xié)作相關docs/contributing/README.md、docs/contributing/repo_structure.md協(xié)議本項目代碼遵循 Apache-2.0 協(xié)議協(xié)議全文見 LICENSE。【免費下載鏈接】Langchain-ChatchatLangchain-Chatchat原Langchain-ChatGLM基于 Langchain 與 ChatGLM, Qwen 與 Llama 等語言模型的 RAG 與 Agent 應用 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM, Qwen and Llama) RAG and Agent app with langchain項目地址: https://gitcode.com/GitHub_Trending/la/Langchain-Chatchat創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考