แชทบอทโมเดลภาษาขนาดใหญ่ (LLM) เช่น ChatGPT และ GPT-4 ทำสิ่งผิดพลาดบ่อยครั้ง โดยเฉพาะอย่างยิ่งหากข้อมูลที่คุณกำลังมองหาเป็นข้อมูลล่าสุด ("บอกฉันเกี่ยวกับซูเปอร์โบวล์ปี 2024 หน่อยสิ") หรือเกี่ยวกับหัวข้อที่ได้รับความนิยมน้อยกว่า ("คืออะไร มีหนังดีๆ ให้ดูบ้าง [ใส่ผู้กำกับต่างชาติที่คุณชื่นชอบ]?") WikiChat ใช้ Wikipedia และไปป์ไลน์ 7 ขั้นตอนต่อไปนี้เพื่อให้แน่ใจว่าคำตอบนั้นเป็นข้อเท็จจริง แต่ละขั้นตอนที่มีหมายเลขเกี่ยวข้องกับการเรียก LLM อย่างน้อยหนึ่งครั้ง
อ่านรายงานของเราเพื่อดูรายละเอียดเพิ่มเติม: Sina J. Semnani, Violet Z. Yao*, Heidi C. Zhang* และ Monica S. Lam 2023 WikiChat: หยุดภาพหลอนของ Chatbots โมเดลภาษาขนาดใหญ่โดย Few-Shot Grounding บน Wikipedia ในการค้นพบของสมาคมภาษาศาสตร์คอมพิวเตอร์: EMNLP 2023 ประเทศสิงคโปร์ สมาคมภาษาศาสตร์คอมพิวเตอร์
(22 สิงหาคม 2024) WikiChat 2.0 พร้อมใช้งานแล้ว! การอัปเดตที่สำคัญ ได้แก่ :
ขณะนี้รองรับการเรียกข้อมูลจากข้อมูลที่มีโครงสร้าง เช่น ตาราง กล่องข้อมูล และรายการ นอกเหนือจากข้อความแล้ว
มีสคริปต์ประมวลผลล่วงหน้า Wikipedia สาธารณะคุณภาพสูงสุด
ใช้รุ่นดึงข้อมูลหลายภาษาที่ล้ำสมัย BGE-M3
ใช้ Qdrant สำหรับการค้นหาเวกเตอร์ที่ปรับขนาดได้
ใช้ RankGPT เพื่อจัดอันดับผลการค้นหาใหม่
การสนับสนุนหลายภาษา: ตามค่าเริ่มต้น จะดึงข้อมูลจากวิกิพีเดียที่แตกต่างกัน 10 แห่ง: ?? ภาษาอังกฤษ, ?? ชาวจีน, ?? สเปน, ?? โปรตุเกส, ?? รัสเซีย ?? เยอรมัน, ?? ฟาร์ซี ?? ญี่ปุ่น, ?? ฝรั่งเศสและ ?? ภาษาอิตาลี
ปรับปรุงการดึงข้อมูล
API การค้นหา Wikipedia หลายภาษาฟรี: เรานำเสนอ API การค้นหาคุณภาพสูงฟรี (แต่จำกัดอัตรา) สำหรับการเข้าถึงวิกิพีเดีย 10 แห่ง ซึ่งครอบคลุมการฝังเวกเตอร์มากกว่า 180 ล้านรายการ
ขยายความเข้ากันได้ของ LLM: รองรับ 100+ LLM ผ่านอินเทอร์เฟซแบบรวม ขอบคุณ LiteLLM
ไปป์ไลน์ที่ปรับให้เหมาะสม: ตัวเลือกสำหรับไปป์ไลน์ที่รวดเร็วและคุ้มค่ายิ่งขึ้นโดยการรวมขั้นตอน "สร้าง" และ "แยกการอ้างสิทธิ์" ของ WikiChat
ความเข้ากันได้ของ LangChain: เข้ากันได้กับ LangChain อย่างสมบูรณ์ ??
และอีกมากมาย!
(20 มิถุนายน 2024) WikiChat ได้รับรางวัลการวิจัย Wikimedia ประจำปี 2024!
รางวัล @Wikimedia Research Award ประจำปี 2024 ตกเป็นของ "WikiChat: หยุดภาพหลอนของแชทบอตโมเดลภาษาขนาดใหญ่ด้วยการหยุดยิงไม่กี่ครั้งบนวิกิพีเดีย" ⚡
- Wiki Workshop 2024 (@wikiworkshop) วันที่ 20 มิถุนายน 2024
- https://t.co/d2M8Qrarkkw pic.twitter.com/P2Sh47vkyi
(16 พฤษภาคม 2024) เอกสารติดตามผลของเรา "? SPAGHETTI: Open-Domain Question Answering from Heterogeneous Data Sources with Retrieval and Semantic Parsing" ได้รับการยอมรับในผลการวิจัยของ ACL 2024 เอกสารนี้เพิ่มการรองรับข้อมูลที่มีโครงสร้าง เช่น ตาราง กล่องข้อมูล และรายการ
(8 มกราคม 2024) เปิดตัวรุ่นกลั่น LLaMA-2 คุณสามารถเรียกใช้โมเดลเหล่านี้ภายในเครื่องได้เพื่อเป็นทางเลือกที่ถูกกว่าและเร็วกว่าสำหรับ API แบบชำระเงิน
(8 ธันวาคม 2566) เรานำเสนอผลงานของเราที่ EMNLP 2023
(27 ตุลาคม 2023) เอกสารของเราเวอร์ชันพร้อมสำหรับกล้องพร้อมใช้งานแล้วบน arXiv
(6 ตุลาคม 2023) บทความของเราได้รับการยอมรับในผลการวิจัยของ EMNLP 2023
การติดตั้ง WikiChat เกี่ยวข้องกับขั้นตอนต่อไปนี้:
ติดตั้งการพึ่งพา
กำหนดค่า LLM ที่คุณเลือก WikiChat รองรับ LLM มากกว่า 100 รายการ รวมถึงโมเดลจาก OpenAI, Azure, Anthropic, Mistral, HuggingFace, Together.ai และ Groq
เลือกแหล่งรับข้อมูล นี่อาจเป็นจุดสิ้นสุด HTTP ใดๆ ที่สอดคล้องกับอินเทอร์เฟซที่กำหนดไว้ในดึงข้อมูล/retriever_server.py เราให้คำแนะนำและสคริปต์สำหรับตัวเลือกต่อไปนี้:
ใช้ API ฟรีแบบจำกัดอัตราของเราสำหรับ Wikipedia ใน 10 ภาษา
ดาวน์โหลดและโฮสต์ดัชนี Wikipedia ที่เราให้ไว้ด้วยตัวคุณเอง
สร้างและเรียกใช้ดัชนีที่กำหนดเองใหม่จากเอกสารของคุณเอง
เรียกใช้ WikiChat ด้วยการกำหนดค่าที่คุณต้องการ
[ไม่บังคับ] ปรับใช้ WikiChat สำหรับการเข้าถึงแบบหลายผู้ใช้ เราจัดเตรียมโค้ดเพื่อปรับใช้ฟรอนต์เอนด์และแบ็กเอนด์แบบธรรมดา รวมถึงคำแนะนำในการเชื่อมต่อกับฐานข้อมูล Azure Cosmos DB เพื่อจัดเก็บการสนทนา
โปรเจ็กต์นี้ได้รับการทดสอบกับ Python 3.10 บน Ubuntu 20.04 LTS (Focal Fossa) แต่ควรจะเข้ากันได้กับ Linux ดิสทริบิวชันอื่นๆ อีกมากมาย หากคุณวางแผนที่จะใช้สิ่งนี้บน Windows WSL หรือ macOS หรือกับเวอร์ชัน Python อื่น ให้เตรียมพร้อมสำหรับการแก้ไขปัญหาที่อาจเกิดขึ้นระหว่างการติดตั้ง
ข้อกำหนดด้านฮาร์ดแวร์จะแตกต่างกันไปตามวัตถุประสงค์การใช้งานของคุณ:
การใช้งานขั้นพื้นฐาน: การเรียกใช้ WikiChat ด้วย LLM API และ API การค้นหา Wikipedia ของเรามีข้อกำหนดด้านฮาร์ดแวร์ขั้นต่ำและควรใช้งานได้กับระบบส่วนใหญ่
ดัชนีการค้นหาในเครื่อง: หากคุณต้องการโฮสต์ดัชนีการค้นหาในเครื่อง ตรวจสอบให้แน่ใจว่าคุณมีพื้นที่ดิสก์เพียงพอสำหรับดัชนี สำหรับดัชนีขนาดใหญ่ เวลาแฝงในการเรียกข้อมูลจะขึ้นอยู่กับความเร็วของดิสก์เป็นอย่างมาก ดังนั้น เราขอแนะนำให้ใช้ SSD และไดรฟ์ NVMe ที่เหมาะสมที่สุด ตัวอย่างเช่น VM ที่เพิ่มประสิทธิภาพพื้นที่จัดเก็บข้อมูล เช่น Standard_L8s_v3 บน Azure เหมาะสำหรับสิ่งนี้
LLM ท้องถิ่น: หากคุณวางแผนที่จะใช้ WikiChat กับ LLM ท้องถิ่น จำเป็นต้องมี GPU เพื่อโฮสต์โมเดล
การสร้างดัชนีการดึงข้อมูลใหม่: หากคุณต้องการสร้างดัชนีคอลเลกชัน คุณต้องมี GPU เพื่อฝังเอกสารลงในเวกเตอร์ โมเดลการฝังเริ่มต้น (BAAI/BGE-M3) ต้องใช้หน่วยความจำ GPU อย่างน้อย 13GB จึงจะทำงาน
ขั้นแรก โคลนพื้นที่เก็บข้อมูล:
โคลนคอมไพล์ https://github.com/stanford-oval/WikiChat.git ซีดี WikiChat
เราขอแนะนำให้ใช้สภาพแวดล้อม conda ที่ระบุใน conda_env.yaml สภาพแวดล้อมนี้ประกอบด้วย Python 3.10, pip, gcc, g++, make, Redis และแพ็คเกจ Python ที่จำเป็นทั้งหมด
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Conda, Anaconda หรือ Miniconda แล้ว จากนั้นสร้างและเปิดใช้งานสภาพแวดล้อม conda:
conda env สร้าง -- ไฟล์ conda_env.yaml conda เปิดใช้งานวิกิแชท python -m spacy download en_core_web_sm # Spacy จำเป็นสำหรับการกำหนดค่า WikiChat บางอย่างเท่านั้น
หากคุณเห็นข้อผิดพลาด: การค้นหา Redis ล้มเหลวหลังจากเรียกใช้แชทบอท อาจหมายความว่าติดตั้ง Redis ไม่ถูกต้อง คุณสามารถลองติดตั้งใหม่ได้โดยปฏิบัติตามเอกสารอย่างเป็นทางการ
ให้สภาพแวดล้อมนี้เปิดใช้งานสำหรับคำสั่งที่ตามมาทั้งหมด
ติดตั้ง Docker สำหรับระบบปฏิบัติการของคุณโดยทำตามคำแนะนำที่ https://docs.docker.com/engine/install/ WikiChat ใช้ Docker เป็นหลักในการสร้างและให้บริการฐานข้อมูลเวกเตอร์สำหรับการดึงข้อมูล โดยเฉพาะ ? การอนุมานการฝังข้อความและ Qdrant ใน Ubuntu เวอร์ชันล่าสุด คุณสามารถลองใช้ inv install-docker สำหรับระบบปฏิบัติการอื่นๆ ให้ทำตามคำแนะนำบนเว็บไซต์นักเทียบท่า
WikiChat ใช้การวิงวอนเพื่อเพิ่มคำสั่งที่กำหนดเองเพื่อวัตถุประสงค์ต่างๆ หากต้องการดูคำสั่งที่มีอยู่ทั้งหมดและคำอธิบาย ให้รัน:
เรียกใช้ --list
หรือชวเลข:
เชิญ -l
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับคำสั่งเฉพาะ ให้ใช้:
inv [ชื่อคำสั่ง] --help
คำสั่งเหล่านี้ถูกนำไปใช้ในงาน/ โฟลเดอร์
WikiChat เข้ากันได้กับ LLM ต่างๆ รวมถึงโมเดลจาก OpenAI, Azure, Anthropic, Mistral, Together.ai และ Groq คุณยังสามารถใช้ WikiChat กับโมเดลที่โฮสต์ในเครื่องจำนวนมากผ่าน HuggingFace
ในการกำหนดค่า LLM ของคุณ:
กรอกข้อมูลในช่องที่เหมาะสมใน llm_config.yaml
สร้างไฟล์ชื่อ API_KEYS (ซึ่งรวมอยู่ใน .gitignore)
ในไฟล์ API_KEYS ให้ตั้งค่าคีย์ API สำหรับตำแหน่งข้อมูล LLM ที่คุณต้องการใช้ ชื่อของคีย์ API ควรตรงกับชื่อที่คุณระบุใน llm_config.yaml ใต้ api_key ตัวอย่างเช่น หากคุณใช้โมเดล OpenAI ผ่าน openai.com และอุปกรณ์ปลายทาง Mistral ไฟล์ API_KEYS ของคุณอาจมีหน้าตาดังนี้:
# กรอกค่าต่อไปนี้ด้วยคีย์ API ของคุณ ตรวจสอบให้แน่ใจว่าไม่มีช่องว่างเพิ่มเติมหลังคีย์ # การเปลี่ยนแปลงในไฟล์นี้จะถูกละเว้นโดย git ดังนั้นคุณจึงสามารถจัดเก็บคีย์ของคุณไว้ที่นี่ได้อย่างปลอดภัยระหว่างการพัฒนาOPENAI_API_KEY=[คีย์ OpenAI API ของคุณจาก https://platform.openai.com/ คีย์ API] MISTRAL_API_KEY=[คีย์ Mistral API ของคุณจาก https://console.mistral.ai/api-keys/]
โปรดทราบว่าโมเดลที่โฮสต์ในเครื่องไม่จำเป็นต้องใช้คีย์ API แต่คุณต้องระบุจุดสิ้นสุดที่เข้ากันได้กับ OpenAI ใน api_base รหัสได้รับการทดสอบด้วย ? การอนุมานการสร้างข้อความ
ตามค่าเริ่มต้น WikiChat จะดึงข้อมูลจากวิกิพีเดีย 10 แห่งผ่านทางปลายทางที่ https://wikichat.genie.stanford.edu/search/ หากคุณต้องการลองใช้ WikiChat คุณไม่จำเป็นต้องแก้ไขอะไรเลย
ดาวน์โหลดดัชนี 10 ภาษาวิกิพีเดียวันที่ 1 สิงหาคม 2024 จาก ? ฮับและแยกมัน:
inv ดาวน์โหลด-wikipedia-index --workdir ./workdir
โปรดทราบว่าดัชนีนี้ประกอบด้วยการฝังเวกเตอร์ประมาณ 180M ดังนั้นจึงต้องมีพื้นที่ว่างในดิสก์อย่างน้อย 500 GB ใช้การหาปริมาณไบนารีของ Qdrant เพื่อลดความต้องการ RAM ลงเหลือ 55 GB โดยไม่กระทบต่อความแม่นยำหรือเวลาแฝง
เริ่มต้นเซิร์ฟเวอร์ FastAPI ที่คล้ายกับตัวเลือก 1 ที่ตอบสนองต่อคำขอ HTTP POST:
inv start-retriever --embedding-model BAAI/bge-m3 --retriever-port <หมายเลขพอร์ต>
เริ่ม WikiChat โดยส่ง URL ของรีทรีฟเวอร์นี้ ตัวอย่างเช่น:
การสาธิต inv --retriever-endpoint "http://0.0.0.0:<หมายเลขพอร์ต>/ค้นหา"
โปรดทราบว่าเซิร์ฟเวอร์นี้และโมเดลการฝังทำงานบน CPU และไม่ต้องใช้ GPU เพื่อประสิทธิภาพที่ดีขึ้น บนระบบที่เข้ากันได้ คุณสามารถเพิ่ม --use-onnx เพื่อใช้เวอร์ชัน ONNX ของโมเดลการฝัง เพื่อลดเวลาแฝงของการฝังลงอย่างมาก
คำสั่งต่อไปนี้จะดาวน์โหลด ประมวลผลล่วงหน้า และจัดทำดัชนีดัมพ์ HTML ล่าสุดของวิกิพีเดียชาวเคิร์ด ซึ่งเราใช้ในตัวอย่างนี้เนื่องจากมีขนาดค่อนข้างเล็ก
inv index-wikipedia-dump --embedding-model BAAI/bge-m3 --workdir ./workdir --ภาษา ku
ประมวลผลข้อมูลของคุณล่วงหน้าเป็นไฟล์ JSON Lines (ที่มีนามสกุลไฟล์ .jsonl หรือ .jsonl.gz) โดยแต่ละบรรทัดจะมีฟิลด์ต่อไปนี้:
{"id": "integer", "content_string": "string", "article_title": "string", "full_section_title": "string", "block_type": "string", "ภาษา": "string", " Last_edit_date": "string (เป็นทางเลือก)", "num_tokens": "จำนวนเต็ม (เป็นทางเลือก)"}
content_string ควรเป็นข้อความที่แบ่งเป็นชิ้นๆ ในเอกสารของคุณ เราแนะนำให้แบ่งโทเค็นของโทเค็นของโมเดลที่ฝังให้เหลือน้อยกว่า 500 โทเค็น ดูสิ่งนี้สำหรับภาพรวมเกี่ยวกับวิธีการแบ่งกลุ่ม block_type และภาษาใช้เพื่อกรองผลการค้นหาเท่านั้น หากคุณไม่ต้องการ คุณสามารถตั้งค่าเป็น block_type=text และ language=en สคริปต์จะป้อน full_section_title และ content_string ให้กับโมเดลการฝังเพื่อสร้างเวกเตอร์ที่ฝัง
ดู preprocessing/preprocess_wikipedia_html_dump.py สำหรับรายละเอียดเกี่ยวกับวิธีการนำไปใช้กับการดัมพ์ HTML ของ Wikipedia
รันคำสั่งการทำดัชนี:
inv index-collection --collection-path <เส้นทางไปยัง JSONL ที่ประมวลผลล่วงหน้า> --collection-name
คำสั่งนี้เริ่มต้นคอนเทนเนอร์นักเทียบท่าเพื่อ ? การอนุมานการฝังข้อความ (หนึ่งรายการต่อ GPU ที่มีอยู่) ตามค่าเริ่มต้น จะใช้อิมเมจนักเทียบท่าที่เข้ากันได้กับ NVIDIA GPU ที่มีสถาปัตยกรรม Ampere 80 เช่น A100 มีการรองรับ GPU อื่นๆ บางตัวด้วย แต่คุณจะต้องเลือกอิมเมจนักเทียบท่าที่เหมาะสมจากอิมเมจนักเทียบท่าที่มีอยู่
(ไม่บังคับ) เพิ่มดัชนีเพย์โหลด
หลามดึงข้อมูล/add_payload_index.py
สิ่งนี้จะเปิดใช้งานการสืบค้นที่กรองภาษาหรือ block_type โปรดทราบว่าสำหรับดัชนีขนาดใหญ่ อาจใช้เวลาหลายนาทีก่อนที่ดัชนีจะพร้อมใช้งานอีกครั้ง
หลังจากการจัดทำดัชนี ให้โหลดและใช้ดัชนีเช่นเดียวกับในตัวเลือกที่ 2 ตัวอย่างเช่น:
inv start-retriever --embedding-model BAAI/bge-m3 --retriever-port <หมายเลขพอร์ต>curl -X POST 0.0.0.0:5100/search -H "ประเภทเนื้อหา: application/json" -d '{" query": ["GPT-4 คืออะไร", "LLaMA-3 คืออะไร"], "num_blocks": 3}'
เริ่ม WikiChat โดยส่ง URL ของรีทรีฟเวอร์นี้ ตัวอย่างเช่น:
การสาธิต inv --retriever-endpoint "http://0.0.0.0:<หมายเลขพอร์ต>/search"
แบ่งดัชนีออกเป็นส่วนเล็กๆ:
tar -cvf - <เส้นทางไปยังโฟลเดอร์ดัชนี Qdrant> | pigz -p 14 | แยก --bytes=10GB --numeric-suffixes=0 --suffix-length=4 -/qdrant_index.tar.gz.part-
อัปโหลดส่วนที่เป็นผลลัพธ์:
python การดึงข้อมูล/upload_folder_to_hf_hub.py --folder_path <เส้นทางไปยังโฟลเดอร์เอาต์พุต> --repo_id
คุณสามารถเรียกใช้การกำหนดค่าต่างๆ ของ WikiChat ได้โดยใช้คำสั่งดังนี้:
inv demo --engine gpt-4o # engine สามารถกำหนดค่าใดๆ ก็ได้ใน llm_config เช่น Mistral-large, claude-sonnet-35, local การสาธิต inv --pipeline Generate_and_correct # ไปป์ไลน์ที่มีอยู่คือ Early_combine, Generate_and_correct และดึง_and_generate inv demo --temperature 0.9 # เปลี่ยนอุณหภูมิของขั้นตอนที่ผู้ใช้ต้องเผชิญเช่นการปรับแต่ง
หากต้องการดูรายการตัวเลือกทั้งหมดที่มี คุณสามารถเรียกใช้ inv demo --help
พื้นที่เก็บข้อมูลนี้จัดเตรียมโค้ดเพื่อปรับใช้อินเทอร์เฟซการแชทบนเว็บผ่าน Chainlit และจัดเก็บการสนทนาของผู้ใช้ไว้ในฐานข้อมูล Cosmos DB สิ่งเหล่านี้ถูกนำไปใช้ใน backend_server.py และ Database.py ตามลำดับ หากคุณต้องการใช้ฐานข้อมูลหรือส่วนหน้าอื่น คุณต้องแก้ไขไฟล์เหล่านี้ สำหรับการพัฒนา ควรลบการพึ่งพา Cosmos DB ออกอย่างตรงไปตรงมาและจัดเก็บการสนทนาไว้ในหน่วยความจำ คุณยังสามารถกำหนดค่าพารามิเตอร์แชทบอทที่กำหนดไว้ใน backend_server.py ได้ เช่น เพื่อใช้ LLM อื่นหรือเพิ่ม/ลบขั้นตอนของ WikiChat
หลังจากสร้างอินสแตนซ์ผ่าน Azure แล้ว ให้รับสตริงการเชื่อมต่อและเพิ่มค่านี้ใน API_KEYS
COSMOS_CONNECTION_STRING=[สตริงการเชื่อมต่อ Cosmos DB ของคุณ]
การเรียกใช้สิ่งนี้จะเริ่มต้นเซิร์ฟเวอร์แบ็กเอนด์และฟรอนต์เอนด์ จากนั้นคุณสามารถเข้าถึงส่วนหน้าได้ที่พอร์ตที่ระบุ (5001 โดยค่าเริ่มต้น). inv chainlit --backend-port 5001
คุณสามารถใช้ตำแหน่งข้อมูล API นี้เพื่อสร้างต้นแบบระบบ RAG คุณภาพสูงได้ ดูhttps://wikichat.genie.stanford.edu/search/redocสำหรับข้อกำหนดฉบับเต็ม
โปรดทราบว่าเราไม่รับประกันใดๆ เกี่ยวกับตำแหน่งข้อมูลนี้ และไม่เหมาะสำหรับการใช้งานจริง
(เร็วๆ นี้...)
เราเผยแพร่วิกิพีเดียที่ประมวลผลล่วงหน้าต่อสาธารณะใน 10 ภาษา
WikiChat 2.0 เข้ากันไม่ได้กับจุดตรวจสอบ LLaMA-2 ที่ปรับแต่งอย่างละเอียดที่เผยแพร่ โปรดอ้างอิงถึง v1.0 ในตอนนี้
ในการประเมินแชทบอท คุณสามารถจำลองการสนทนาโดยใช้โปรแกรมจำลองผู้ใช้ได้ พารามิเตอร์เซ็ตย่อยอาจเป็นค่า head, tail หรือค่าล่าสุดก็ได้ ซึ่งสอดคล้องกับสามเซ็ตย่อยที่แนะนำในบทความ WikiChat คุณยังสามารถระบุภาษาของผู้ใช้ได้ (WikiChat จะตอบกลับเป็นภาษาของผู้ใช้เสมอ) สคริปต์นี้จะอ่านหัวข้อ (เช่น ชื่อและบทความ Wikipedia) จากไฟล์benchmark/topics/{subset__articles_{ภาษา}.json ที่เกี่ยวข้อง ใช้ --num-dialogs เพื่อกำหนดจำนวนบทสนทนาจำลองที่จะสร้าง และใช้ --num-turns เพื่อระบุจำนวนรอบในแต่ละบทสนทนา
inv จำลองผู้ใช้ --num-dialogues 1 --num-turns 2 --simulation-mode Passage --Language en --subset head
อาจใช้เวลาสักครู่ ทั้งนี้ขึ้นอยู่กับเครื่องยนต์ที่คุณใช้ บทสนทนาและไฟล์บันทึกจำลองจะถูกบันทึกไว้ในbenchmark/simulated_dialogues/ คุณยังระบุพารามิเตอร์ไปป์ไลน์ใดๆ จากด้านบนได้อีกด้วย คุณสามารถทดลองใช้คุณลักษณะผู้ใช้ที่แตกต่างกันได้โดยการแก้ไข user_Characteristics ในbenchmark/user_simulator.py
รหัส WikiChat และโมเดลและข้อมูลเผยแพร่ภายใต้ลิขสิทธิ์ Apache-2.0
หากคุณใช้โค้ดหรือข้อมูลจากพื้นที่เก็บข้อมูลนี้ โปรดอ้างอิงเอกสารต่อไปนี้:
@inproceedings{semnani-etal-2023-wikichat,title = "{W}iki{C}hat: หยุดภาพหลอนของ Chatbots โมเดลภาษาขนาดใหญ่โดย Few-Shot Grounding บน {W}ikipedia",author = "Semnani, Sina และ Yao, Violet และ Zhang, Heidi และ Lam, Monica",editor = "Bouamor, Houda และ Pino, Juan และ Bali, Kalika",ชื่อหนังสือ = "ผลการวิจัยของ Association for Computational Linguistics: EMNLP 2023",เดือน = ธันวาคม,ปี = "2023",ที่อยู่ = "สิงคโปร์",publisher = "Association for Computational Linguistics",url = "https://aclanthology.org/2023 .findings-emnlp.157",pages = "2387--2413", }@inproceedings{zhang-etal-2024-spaghetti,title = "{SPAGHETTI}: คำถามแบบเปิดโดเมนที่ตอบจากแหล่งข้อมูลที่แตกต่างกันด้วยการเรียกค้นและการแยกวิเคราะห์ความหมาย",author = "Zhang, Heidi และ Semnani, Sina และ Ghassemi, Farhad และ Xu, Jialiang และ Liu, Shicheng และ Lam, Monica", บรรณาธิการ = "Ku, Lun-Wei และ Martins, Andre และ Srikumar, Vivek",ชื่อหนังสือ = "Findings of the Association for Computational Linguistics ACL 2024",เดือน = ส.ค.,ปี = "2024",ที่อยู่ = "กรุงเทพฯ ประเทศไทย และการประชุมเสมือนจริง",publisher = "สมาคมภาษาศาสตร์คอมพิวเตอร์",url = "https://aclanthology.org/2024.findings-acl.96",pages = "1663--1678", -