อ่านสิ่งนี้เป็นภาษาอังกฤษ
LangChain-Chatchat (เดิมชื่อ Langchain-ChatGLM)
ขึ้นอยู่กับโมเดลภาษาขนาดใหญ่ เช่น ChatGLM และเฟรมเวิร์กแอปพลิเคชัน เช่น Langchain เป็นโปรเจ็กต์แอปพลิเคชัน RAG และ Agent แบบโอเพ่นซอร์สที่สามารถปรับใช้แบบออฟไลน์ได้
ภาพรวม
การแนะนำฟังก์ชัน
ภาพรวมคุณสมบัติ 0.3.x
เฟรมเวิร์กและโมเดลการอนุมานโมเดลที่รองรับ
เริ่มต้นได้อย่างรวดเร็ว
การติดตั้งและการปรับใช้ pip
การติดตั้งซอร์สโค้ดและการปรับใช้/การพัฒนา
การปรับใช้นักเทียบท่า
เหตุการณ์สำคัญของโครงการ
ติดต่อเรา
️ แอปพลิเคชันคำถามและคำตอบที่อิงตามฐานความรู้ในท้องถิ่นที่นำไปใช้โดยใช้แนวคิด langchain เป้าหมายคือการสร้างโซลูชันคำถามและคำตอบของฐานความรู้ที่เป็นมิตรกับสถานการณ์ของจีนและโมเดลโอเพ่นซอร์สและสามารถทำงานแบบออฟไลน์ได้
? ได้รับแรงบันดาลใจจากโครงการ document.ai ของ GanymedeNil และ ChatGLM-6B Pull Request ที่สร้างขึ้นโดย Alex Zhangji ซึ่งเป็นแอปพลิเคชันถามตอบฐานความรู้ในท้องถิ่นที่สามารถนำไปใช้งานได้โดยใช้โมเดลโอเพ่นซอร์สตลอดทั้งกระบวนการ ในเวอร์ชันล่าสุดของโปรเจ็กต์นี้ สามารถใช้เฟรมเวิร์ก เช่น Xinference และ Ollama เพื่อเข้าถึงโมเดลต่างๆ เช่น GLM-4-Chat, Qwen2-Instruct, Llama3 เป็นต้น โดยอาศัยเฟรมเวิร์ก langchain เพื่อรองรับบริการการโทรผ่าน API ที่ให้มา บน FastAPI หรือใช้ WebUI ที่ทำงานบน Streamlit
✅ โปรเจ็กต์นี้รองรับ LLM โอเพ่นซอร์สกระแสหลัก โมเดลการฝัง และฐานข้อมูลเวกเตอร์ในตลาด และสามารถตระหนักถึง การปรับใช้ส่วนตัวแบบออฟไลน์ ของโมเดล โอเพ่นซอร์ส ทั้งหมด ในเวลาเดียวกัน โปรเจ็กต์นี้ยังรองรับการเรียก OpenAI GPT API และจะยังคงขยายการเข้าถึงโมเดลและ API โมเดลต่างๆ ต่อไปในอนาคต
⛓️ หลักการดำเนินการของโครงการนี้แสดงในรูปด้านล่าง กระบวนการประกอบด้วยการโหลดไฟล์ -> การอ่านข้อความ -> การแบ่งส่วนข้อความ -> การทำให้เป็นเวกเตอร์ข้อความ -> การทำให้เป็นเวกเตอร์คำถาม -> การจับ top k
ในเวกเตอร์ข้อความที่คล้ายกับมากที่สุด คำถามเวกเตอร์ top k
-> ข้อความที่ตรงกันจะถูกเพิ่มลงใน prompt
เป็นบริบทและคำถาม -> ส่งไปยัง LLM
เพื่อสร้างคำตอบ
วีดีโอแนะนำหลักการ
จากมุมมองของการประมวลผลเอกสาร กระบวนการดำเนินการมีดังนี้:
โปรเจ็กต์นี้ไม่เกี่ยวข้องกับการปรับแต่งหรือกระบวนการฝึกอบรม แต่การปรับแต่งหรือการฝึกอบรมสามารถใช้เพื่อเพิ่มประสิทธิภาพของโปรเจ็กต์นี้ได้
? รหัสที่ใช้ในเวอร์ชัน 0.3.0
ของอิมเมจ AutoDL ได้รับการอัพเดตเป็นเวอร์ชัน v0.3.0
ของโปรเจ็กต์นี้
? ภาพนักเทียบท่าจะได้รับการอัปเดตในอนาคตอันใกล้นี้
?? หากคุณต้องการมีส่วนร่วมในโครงการนี้ โปรดไปที่คู่มือการพัฒนาเพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับการพัฒนาและการปรับใช้
การทำงาน | 0.2.x | 0.3.x |
---|---|---|
การเข้าถึงโมเดล | ท้องถิ่น: แชทด่วน ออนไลน์: XXXModelWorker | Local: model_provider รองรับเฟรมเวิร์กการโหลดโมเดลกระแสหลักส่วนใหญ่ออนไลน์: oneapi การเข้าถึงโมเดลทั้งหมดเข้ากันได้กับ openai sdk |
ตัวแทน | ❌ไม่เสถียร | ✅ปรับให้เหมาะสมสำหรับ ChatGLM3 และ Qwen ความสามารถของตัวแทนได้รับการปรับปรุงอย่างมาก |
การสนทนา LLM | ||
การสนทนาฐานความรู้ | ||
การสนทนาของเครื่องมือค้นหา | ||
ไฟล์การสนทนา | ✅การดึงเวกเตอร์เท่านั้น | ✅รวมเป็นฟังก์ชั่น File RAG รองรับวิธีการค้นหาหลายวิธี เช่น BM25+KNN |
บทสนทนาฐานข้อมูล | ||
บทสนทนาภาพต่อเนื่องหลายรูปแบบ | ✅ แนะนำให้ใช้ qwen-vl-chat | |
บทสนทนาวรรณกรรม ARXIV | ||
บทสนทนาของวุลแฟรม | ||
ภาพวินเซนต์ | ||
การจัดการฐานความรู้ท้องถิ่น | ||
เว็บ | ✅รองรับหลายเซสชันได้ดีขึ้น คำพร้อมท์ของระบบที่ปรับแต่งได้... |
ฟังก์ชันหลักของเวอร์ชัน 0.3.x ได้รับการปรับใช้โดย Agent แต่ผู้ใช้ยังสามารถใช้งานการเรียกเครื่องมือได้ด้วยตนเอง:
โหมดการทำงาน | ฟังก์ชั่นที่นำไปใช้ | สถานการณ์ที่เกี่ยวข้อง |
---|---|---|
ทำเครื่องหมายที่ "เปิดใช้งานตัวแทน" และเลือกเครื่องมือหลายรายการ | การเรียกเครื่องมืออัตโนมัติโดย LLM | ใช้โมเดลที่มีความสามารถตัวแทน เช่น ChatGLM3/Qwen หรือ API ออนไลน์ |
ทำเครื่องหมายที่ "เปิดใช้งานตัวแทน" และเลือกเครื่องมือเดียว | LLM แยกวิเคราะห์พารามิเตอร์เครื่องมือเท่านั้น | ตัวแทนโมเดลที่ใช้มีความสามารถโดยเฉลี่ยและไม่สามารถเลือกเครื่องมือได้ดีมาก ฉันต้องการเลือกฟังก์ชันด้วยตนเอง |
ยกเลิกการเลือก "เปิดใช้งานตัวแทน" และเลือกเครื่องมือเดียว | โดยไม่ต้องใช้ฟังก์ชันตัวแทน ให้กรอกพารามิเตอร์ด้วยตนเองเพื่อเรียกใช้เครื่องมือ | โมเดลที่ใช้ไม่มีความสามารถของตัวแทน |
ยกเลิกการเลือกเครื่องมือใดๆ แล้วอัปโหลดรูปภาพ | บทสนทนารูปภาพ | ใช้โมเดลต่อเนื่องหลายรูปแบบ เช่น qwen-vl-chat |
สำหรับคุณสมบัติและการอัปเดตเพิ่มเติม โปรดสัมผัสประสบการณ์การใช้งานจริง
โปรเจ็กต์นี้รองรับโมเดลภาษาโอเพ่นซอร์สขนาดใหญ่ล่าสุดและโมเดลการฝังที่เป็นกระแสหลักในตลาด เช่น GLM-4-Chat และ Qwen2-Instruct โมเดลเหล่านี้ต้องการให้ผู้ใช้เริ่มเฟรมเวิร์กการปรับใช้โมเดลด้วยตนเองและเข้าถึงโปรเจ็กต์โดยการแก้ไข ข้อมูลการกำหนดค่า โปรเจ็กต์นี้ กรอบงานการปรับใช้โมเดลโลคัลที่รองรับมีดังนี้:
กรอบงานการปรับใช้โมเดล | ซินเฟอเรนซ์ | LocalAI | โอลามา | ฟาสต์แชท |
---|---|---|---|---|
การจัดตำแหน่งอินเทอร์เฟซ OpenAI API | ||||
เร่งกลไกการอนุมาน | GPTQ, GGML, vLLM, TensorRT, mlx | GPTQ, GGML, vLLM, TensorRT | กุฟ, จีจีเอ็มแอล | วีแอลแอลเอ็ม |
ประเภทโมเดลการเข้าถึง | LLM, การฝัง, การจัดอันดับใหม่, การแปลงข้อความเป็นรูปภาพ, วิสัยทัศน์, เสียง | LLM, การฝัง, การจัดอันดับใหม่, การแปลงข้อความเป็นรูปภาพ, วิสัยทัศน์, เสียง | LLM, การแปลงข้อความเป็นรูปภาพ, วิสัยทัศน์ | LLM วิสัยทัศน์ |
การเรียกใช้ฟังก์ชัน | - | |||
รองรับแพลตฟอร์มเพิ่มเติม (CPU, โลหะ) | ||||
ต่างกัน | - | - | ||
กลุ่ม | - | - | ||
ลิงค์เอกสารการดำเนินงาน | เอกสารประกอบ | เอกสาร LocalAI | เอกสาร Ollama | เอกสาร FastChat |
รุ่นที่มีจำหน่าย | Xinference รองรับโมเดลแล้ว | LocalAI รองรับโมเดลแล้ว | Ollama รองรับโมเดลแล้ว | FastChat รองรับโมเดลแล้ว |
นอกเหนือจากเฟรมเวิร์กการโหลดโมเดลภายในที่กล่าวไว้ข้างต้นแล้ว โปรเจ็กต์ยังให้การสนับสนุนเฟรมเวิร์ก One API สำหรับการเข้าถึง API ออนไลน์ รวมถึง OpenAI ChatGPT, Azure OpenAI API, Anthropic Claude, Zhipu Qingyan, Baichuan และ API ออนไลน์อื่นๆ ที่ใช้กันทั่วไป ใช้.
บันทึก
เกี่ยวกับการโหลดโมเดลในเครื่องของ Xinference: โมเดลในตัวของ Xinference จะถูกดาวน์โหลดโดยอัตโนมัติ หากคุณต้องการให้โหลดโมเดลที่ดาวน์โหลดในเครื่อง คุณสามารถดำเนินการ streamlit run xinference_manager.py
ได้ในไดเร็กทอรี project tools/model_loaders หลังจากเริ่มบริการ Xinference ข้อความแจ้งหน้า: เพียงระบุรุ่นเพื่อตั้งค่าเส้นทางในเครื่อง
ในแง่ของซอฟต์แวร์ โปรเจ็กต์นี้รองรับการใช้งานในสภาพแวดล้อม Python 3.8-3.11 และได้รับการทดสอบในระบบปฏิบัติการ Windows, macOS และ Linux
ในแง่ของฮาร์ดแวร์ เนื่องจากเวอร์ชัน 0.3.0 ได้รับการแก้ไขเพื่อรองรับการเข้าถึงเฟรมเวิร์กการปรับใช้โมเดลที่แตกต่างกัน จึงสามารถใช้งานได้ภายใต้เงื่อนไขของฮาร์ดแวร์ที่แตกต่างกัน เช่น CPU, GPU, NPU, MPS เป็นต้น
เริ่มตั้งแต่เวอร์ชัน 0.3.0 Langchain-Chachat จัดเตรียมวิธีการติดตั้งในรูปแบบของไลบรารี Python สำหรับการติดตั้งเฉพาะ โปรดดำเนินการ:
pip ติดตั้ง langchain-chatchat -U
สำคัญ
เพื่อให้แน่ใจว่าไลบรารี Python ที่ใช้เป็นเวอร์ชันล่าสุด ขอแนะนำให้ใช้แหล่งข้อมูล Pypi อย่างเป็นทางการหรือแหล่งที่มา Tsinghua
บันทึก
เนื่องจากเฟรมเวิร์กการปรับใช้โมเดล Xinference จำเป็นต้องมีการติดตั้งไลบรารีการพึ่งพา Python เพิ่มเติมเมื่อเชื่อมต่อกับ Langchain-Chachat จึงขอแนะนำให้ใช้วิธีการติดตั้งต่อไปนี้เมื่อใช้ร่วมกับเฟรมเวิร์ก Xinference:
pip ติดตั้ง "langchain-chatchat [xinference]" -U
ตั้งแต่เวอร์ชัน 0.3.0 เป็นต้นไป Langchain-Chatchat จะไม่โหลดโมเดลโดยตรงตามอินพุตพาธโมเดลในเครื่องที่ผู้ใช้ป้อนอีกต่อไป ประเภทของโมเดลที่เกี่ยวข้อง ได้แก่ LLM, Embedding, Reranker และโมเดลหลายรูปแบบที่จะได้รับการสนับสนุนในอนาคต ฯลฯ ได้ถูกเปลี่ยนเป็น รองรับการเข้าถึงเฟรมเวิร์กการอนุมานโมเดลหลักๆ ที่มีจำหน่ายทั่วไปในตลาด เช่น Xinference, Ollama, LocalAI, FastChat, One API เป็นต้น
ดังนั้น โปรดตรวจสอบให้แน่ใจก่อนเริ่มโปรเจ็กต์ Langchain-Chachat ให้รันเฟรมเวิร์กการอนุมานโมเดลก่อนแล้วโหลดโมเดลที่ต้องการ
ที่นี่เราใช้ Xinference เป็นตัวอย่าง โปรดดูเอกสารประกอบของ Xinference สำหรับการปรับใช้เฟรมเวิร์กและการโหลดโมเดล
คำเตือน
เพื่อหลีกเลี่ยงความขัดแย้งในการขึ้นต่อกัน โปรดวาง Langchain-Chachat และเฟรมเวิร์กการปรับใช้โมเดล เช่น Xinference ในสภาพแวดล้อมเสมือน Python ที่แตกต่างกัน เช่น conda, venv, virtualenv เป็นต้น
ตั้งแต่เวอร์ชัน 0.3.1 เป็นต้นไป Langchain-Chachat ใช้ไฟล์ yaml
ในเครื่องสำหรับการกำหนดค่า ผู้ใช้สามารถดูและแก้ไขเนื้อหาได้โดยตรง และเซิร์ฟเวอร์จะได้รับการอัปเดตโดยอัตโนมัติโดยไม่ต้องรีสตาร์ท
ตั้งค่าไดเร็กทอรีรากที่ Chatchat จัดเก็บไฟล์การกำหนดค่าและไฟล์ข้อมูล (ตัวเลือก)
# บน linux หรือ macosexport CHATCHAT_ROOT=/path/to/chatchat_data # บน windowsset CHATCHAT_ROOT=/path/to/chatchat_data
หากไม่ได้ตั้งค่าตัวแปรสภาพแวดล้อมนี้ ไดเรกทอรีปัจจุบันจะถูกนำมาใช้โดยอัตโนมัติ
ดำเนินการเริ่มต้น
แชทแชทเริ่มต้น
คำสั่งนี้ทำสิ่งต่อไปนี้:
สร้างไดเร็กทอรีข้อมูลที่จำเป็นทั้งหมด
คัดลอกเนื้อหาฐานความรู้ตัวอย่าง
สร้างไฟล์การกำหนดค่า yaml
เริ่มต้น
แก้ไขไฟล์การกำหนดค่า
กำหนดค่าโมเดล (model_settings.yaml)
คุณต้องดำเนินการกำหนดค่าการเข้าถึงโมเดลตาม เฟรมเวิร์กการอนุมานโมเดลที่เลือกในขั้นตอนที่ 2 เฟรมเวิร์กการอนุมานโมเดล และโหลดโมเดล และโมเดลที่โหลด โปรดดูรายละเอียดในความคิดเห็นใน model_settings.yaml
ปรับเปลี่ยนเนื้อหาต่อไปนี้เป็นหลัก:
# ชื่อ LLM เริ่มต้น DEFAULT_LLM_MODEL: qwen1.5-chat # ชื่อการฝังเริ่มต้น DEFAULT_EMBEDDING_MODEL: bge-large-zh-v1.5 # เปลี่ยนคีย์ของ `llm_model, action_model` ใน `LLM_MODEL_CONFIG` เป็นโมเดล LLM ที่สอดคล้องกัน# มีอยู่ แก้ไขข้อมูลแพลตฟอร์มโมเดลที่เกี่ยวข้องใน `MODEL_PLATFORMS`
กำหนดค่าเส้นทางฐานความรู้ (basic_settings.yaml) (ไม่บังคับ)
ฐานความรู้เริ่มต้นอยู่ที่ CHATCHAT_ROOT/data/knowledge_base
หากคุณต้องการวางฐานความรู้ในตำแหน่งอื่น หรือต้องการเชื่อมต่อกับฐานความรู้ที่มีอยู่ คุณสามารถแก้ไขไดเร็กทอรีที่เกี่ยวข้องได้ที่นี่
# เส้นทางการจัดเก็บเริ่มต้นของฐานความรู้ KB_ROOT_PATH: D:chatchat-testdataknowledge_base # เส้นทางการจัดเก็บเริ่มต้นของฐานข้อมูล หากคุณใช้ sqlite คุณสามารถแก้ไข DB_ROOT_PATH ได้โดยตรง หากคุณใช้ฐานข้อมูลอื่น โปรดแก้ไข SQLALCHEMY_DATABASE_URI โดยตรง DB_ROOT_PATH: D:chatchat-testdataknowledge_baseinfo.db # การเชื่อมต่อฐานข้อมูลฐานข้อมูลฐานความรู้ URI SQLALCHEMY_DATABASE_URI: sqlite:///D:chatchat-testdataknowledge_baseinfo.db
กำหนดค่าฐานความรู้ (kb_settings.yaml) (ไม่บังคับ)
ฐานความรู้ FAISS
ถูกใช้เป็นค่าเริ่มต้น หากคุณต้องการเชื่อมต่อกับฐานความรู้ประเภทอื่น คุณสามารถแก้ไข DEFAULT_VS_TYPE
และ kbs_config
คำเตือน
ก่อนที่จะเริ่มต้นฐานความรู้ โปรดตรวจสอบให้แน่ใจว่าได้เริ่มต้นกรอบงานการอนุมานโมเดลและโมเดล embedding
ที่เกี่ยวข้องแล้ว และการกำหนดค่าการเข้าถึงโมเดลเสร็จสมบูรณ์ตาม ขั้นตอนที่ 3 ข้างต้น
แชทแชท kb -r
สำหรับฟังก์ชันเพิ่มเติม โปรดดู chatchat kb --help
บันทึกต่อไปนี้ปรากฏขึ้นเพื่อบ่งชี้ถึงความสำเร็จ:
----------------------------------------------------------------------------------------------------
知识库名称 :samples
知识库类型 :faiss
向量模型: :bge-large-zh-v1.5
知识库路径 :/root/anaconda3/envs/chatchat/lib/python3.11/site-packages/chatchat/data/knowledge_base/samples
文件总数量 :47
入库文件数 :42
知识条目数 :740
用时 :0:02:29.701002
----------------------------------------------------------------------------------------------------
总计用时 :0:02:33.414425
บันทึก
คำถามที่ถามบ่อยเกี่ยวกับการเตรียมใช้งานฐานความรู้
ปัญหานี้มักเกิดขึ้นในสภาพแวดล้อมเสมือนที่สร้างขึ้นใหม่ และสามารถยืนยันได้โดย:
from unstructured.partition.auto import partition
หากคำสั่งค้างและไม่สามารถดำเนินการได้ คุณสามารถดำเนินการคำสั่งต่อไปนี้:
pip ถอนการติดตั้ง python-magic-bin# ตรวจสอบเวอร์ชันของแพ็คเกจที่ถอนการติดตั้ง pip install 'python-magic-bin=={version}'
จากนั้นทำตามคำแนะนำในส่วนนี้เพื่อสร้างฐานความรู้ใหม่
แชทแชทเริ่มต้น -a
เมื่ออินเทอร์เฟซต่อไปนี้ปรากฏขึ้น การเริ่มต้นระบบจะสำเร็จ:
คำเตือน
เนื่องจากที่อยู่การฟังเริ่มต้น DEFAULT_BIND_HOST
ที่กำหนดค่าโดยแชทแชทคือ 127.0.0.1 จึงไม่สามารถเข้าถึงได้ผ่าน IP อื่น
หากคุณต้องการเข้าถึงผ่าน IP ของเครื่อง (เช่น ระบบ Linux) คุณต้องเปลี่ยนที่อยู่การฟังเป็น 0.0.0.0 ใน basic_settings.yaml
สำหรับการกำหนดค่าการสนทนาฐานข้อมูล โปรดไปที่นี่เพื่อดูคำแนะนำในการกำหนดค่าการสนทนาฐานข้อมูล
โปรดดูคู่มือการพัฒนาสำหรับการติดตั้งและการปรับใช้ซอร์สโค้ด
นักเทียบท่าดึงภาพแชท / แชทแชท: 0.3.1.3-93e2c87-20240829 docker pull ccr.ccs.tencentyun.com/langchain-chatchat/chatchat:0.3.1.3-93e2c87-20240829 # กระจกในประเทศ
สำคัญ
ขอแนะนำอย่างยิ่ง: ใช้การปรับใช้นักเทียบท่าเขียน โปรดดูรายละเอียดที่ README_docker
โครงสร้างของ 0.3.x มีการเปลี่ยนแปลงไปมาก และขอแนะนำอย่างยิ่งให้คุณปรับใช้ใหม่ตามเอกสารประกอบ คำแนะนำต่อไปนี้ไม่รับประกันความเข้ากันได้และความสำเร็จ 100%
ขั้นแรกให้ทำตามขั้นตอนใน安装部署
เพื่อกำหนดค่าสภาพแวดล้อมการทำงานและแก้ไขไฟล์การกำหนดค่า
คัดลอกไดเร็กทอรี Knowledge_base ของโปรเจ็กต์ 0.2.x ไปยังไดเร็กทอรี DATA
ที่กำหนดค่าไว้
2023年4月
: Langchain-ChatGLM 0.1.0
เปิดตัว รองรับคำถามและคำตอบฐานความรู้ท้องถิ่นตามโมเดล ChatGLM-6B
2023年8月
: Langchain-ChatGLM
เปลี่ยนชื่อเป็น Langchain-Chatchat
เวอร์ชัน 0.2.0
ได้รับการเผยแพร่ โดยใช้ fastchat
เป็นโซลูชันการโหลดโมเดล ซึ่งรองรับโมเดลและฐานข้อมูลเพิ่มมากขึ้น
2023年10月
: Langchain-Chatchat 0.2.5
เปิดตัว เปิดตัวเนื้อหา Agent และโปรเจ็กต์โอเพ่นซอร์สได้รับรางวัลที่สามในงาน Hackathon ที่จัดขึ้นโดย Founder Park & Zhipu AI & Zilliz
2023年12月
: โครงการโอเพ่นซอร์ส Langchain-Chatchat
ได้รับดาวมากกว่า 20,000 ดวง
2024年6月
: เปิดตัว Langchain-Chatchat 0.3.0
พร้อมนำโครงสร้างโปรเจ็กต์ใหม่
ให้เราตั้งตารอเรื่องราว Chatchat ในอนาคต...
รหัสของโครงการนี้เป็นไปตามโปรโตคอล Apache-2.0
? โครงการ Langchain-Chachat กลุ่มการสื่อสาร WeChat หากคุณสนใจโครงการนี้ คุณสามารถเข้าร่วมการสนทนากลุ่มเพื่อเข้าร่วมการสนทนาและแลกเปลี่ยนความคิดเห็นได้
? บัญชีสาธารณะอย่างเป็นทางการของโครงการ Langchain-Chachat ยินดีสแกนรหัส QR เพื่อติดตาม
หากโครงการนี้เป็นประโยชน์ต่อการวิจัยของคุณ โปรดอ้างอิงถึงเรา:
@software{langchain_chatchat, title = {{langchain-chatchat}}, author = {Liu, Qian and Song, Jinke, and Huang, Zhiguo, and Zhang, Yuxuan, and glide-the, and liunux4odoo}, year = 2024, journal = {GitHub repository}, publisher = {GitHub}, howpublished = {url{https://github.com/chatchat-space/Langchain-Chatchat}} }