ข้ามไปยังเนื้อหาหลัก

ใช้ OpenThai 2.0 Legal ร่วมกับ RAG

ทำตามคู่มือนี้แล้ว OpenThai 2.0 Legal จะตอบจากตัวบทที่คุณนำเข้าเอง และบอกมาตราที่ใช้อ้างอิง เมื่อมีมาตราที่ถูกต้องอยู่ใน prompt โมเดลได้ citation F1 = 0.99 เทียบกับ 0.07 ถึง 0.40 เมื่อตอบจากความจำอย่างเดียว API ที่เราโฮสต์ ค้นจากคลังตัวบท 39 ฉบับให้อยู่แล้วเป็นค่าเริ่มต้น คู่มือนี้จึงสำหรับการใช้เอกสารของคุณเอง หรือการรันน้ำหนักโมเดลแบบเปิดบนเครื่องของคุณ

เครื่องมือช่วยตัดสินใจ มิใช่คำปรึกษาทางกฎหมาย

ถ้าไม่ใช้ RAG โมเดลจะตอบจากความจำ และอาจอ้างมาตราผิดหรืออ้างไม่ครบ ถ้าใช้ RAG โมเดลจะอ้างเฉพาะมาตราที่ระบบค้นคืนส่งมา ถ้าค้นมาผิด คำตอบก็ผิดตาม ผู้ประกอบวิชาชีพควรตรวจการอ้างอิงทุกครั้งกับตัวบทฉบับปัจจุบันก่อนนำไปใช้

สิ่งที่ต้องมี: Docker และ iApp API key ที่ขอได้ฟรี (สมัครสมาชิก แล้วไปที่ API Keys → Create New API Key)

หาตัวบทกฎหมาย​

  • สำนักงานคณะกรรมการกฤษฎีกา: แหล่งทางการของตัวบทฉบับปัจจุบัน ทั้งประมวลกฎหมายและ พ.ร.บ.
  • WangchanX-Legal-ThaiCCL-RAG (VISTEC / AIResearch, สัญญาอนุญาตแบบเปิด): คำถามกฎหมายแพ่งและพาณิชย์ จับคู่กับมาตราที่ใช้ตอบ
  • NitiBench (VISAI-AI, MIT): ชุดทดสอบกฎหมายไทยที่ใช้ประเมินโมเดลนี้ ใช้วัดผลระบบ RAG ของคุณทั้งระบบ

ตัดตัวบทเป็นชิ้นตามมาตรา หนึ่งมาตราต่อหนึ่ง chunk พร้อม metadata law_name และ section ซึ่งเป็นรูปแบบเดียวกับที่โมเดลถูกฝึกให้อ้างอิง

ทางเลือก A: Open WebUI​

Open WebUI ให้หน้าแชตแบบหลายผู้ใช้ที่มี RAG ในตัว ตั้งเสร็จในราว 15 นาที

1. รัน Open WebUI​

docker run -d -p 3000:8080 \
-v open-webui:/app/backend/data \
--name open-webui --restart always \
ghcr.io/open-webui/open-webui:main

เปิด http://localhost:3000 แล้วสร้างบัญชีผู้ดูแล

2. เชื่อมต่อโมเดล​

ไปที่ Admin Panel → Settings → Connections เพิ่มการเชื่อมต่อแบบ OpenAI API ด้วยค่าด้านล่างแล้วบันทึก โมเดล openthai2.0-legal จะขึ้นในรายการโมเดล

API Base URL   https://api.iapp.co.th/v3/llm/openthai2p0-legal
API Key iApp API key ของคุณ

3. ใส่ตัวบท​

ไปที่ Workspace → Knowledge กด + Create a Knowledge base (เช่น "ประมวลกฎหมายแพ่งและพาณิชย์") แล้วอัปโหลดไฟล์ตัวบท หนึ่งมาตราต่อหนึ่ง chunk

4. ถาม​

ในแชตกับ openthai2.0-legal พิมพ์ # เลือกฐานความรู้ แล้วถามเป็นภาษาไทย คำตอบจะอ้างมาตราที่ค้นมาได้

นาย ก. ขับรถประมาทชนรถนาย ข. ต้องรับผิดตามกฎหมายใด

ทางเลือก B: OpenThaiRAG​

OpenThaiRAG คือเฟรมเวิร์ก RAG โอเพนซอร์สสำหรับภาษาไทยของชุมชน OpenThaiGPT (หน้าโครงการ) ได้เป็น REST API ที่นำไปต่อกับระบบของคุณเอง ใช้เวลาราวหนึ่งชั่วโมง

1. เริ่มระบบ​

git clone https://github.com/OpenThaiGPT/openthairag
cd openthairag
docker-compose up -d

2. ชี้ไปที่โมเดล​

ตั้ง LLM backend ไปที่ Endpoint ด้านล่างพร้อม API key ของคุณ หรือไปที่ vLLM ของคุณเองที่รันน้ำหนักโมเดลแบบเปิด

https://api.iapp.co.th/v3/llm/openthai2p0-legal

3. นำตัวบทเข้าดัชนี​

วางตัวบทเป็นไฟล์ .txt ในโฟลเดอร์ /docs แล้วรันตัวทำดัชนี

4. ถาม​

curl --location 'http://localhost:5000/completions' \
--header 'Content-Type: application/json' \
--data '{"prompt": "ลักทรัพย์ในเวลากลางคืน ผิดมาตราใด", "max_tokens": 2048}'

ขั้นต่อไป​

เพื่อให้อ้างอิงแม่นที่สุดในทั้งสองทางเลือก ให้ใช้ system prompt แบบ JSON citation จากหน้าโมเดล ซึ่งโมเดลถูกฝึกด้วย RL บนรูปแบบนั้นโดยตรง ที่มาของโมเดลอยู่ในบทความเปิดตัว ต้องการความช่วยเหลือในการติดตั้ง: sale@iapp.co.th · Discord