Skip to content

siriponsri/micro-chat-bot

Repository files navigation

QC Microbiology Chat Bot

ระบบแชทบอทสำหรับแผนก QC Microbiology ที่ช่วยจัดการเอกสาร 3 หมวดหลัก: RE (บันทึกข้อความ), WI (WI/SOP), และ FM (ฟอร์มแผนก)

🎯 ฟีเจอร์หลัก

📝 RE - บันทึกข้อความ

  • สร้างบันทึกข้อความใหม่จาก template
  • อ่านและถาม-ตอบเอกสารเก่า
  • Export เป็น PDF
  • บันทึก log ใน Excel

📋 WI - WI/SOP

  • ใช้เป็น knowledge base สำหรับถาม-ตอบ
  • ค้นหาเอกสาร WI/SOP
  • ดูรายการคำแนะนำการทำงาน

📄 FM - ฟอร์มแผนก

  • เลือกแบบฟอร์มที่ต้องการ
  • กรอกข้อมูลแบบ guided flow
  • Export เป็น PDF
  • บันทึก log ใน Excel

🛠️ เทคโนโลยีที่ใช้

Frontend

  • HTML5, CSS3, JavaScript (ES6+)
  • Responsive Design
  • Modern UI/UX

Backend

  • Node.js + Express.js
  • RESTful API
  • File handling

Services

  • Typhoon API: OpenAI-compatible API สำหรับ AI
  • DOCX Templater: เติมข้อมูลในเอกสาร Word
  • PDF Export: แปลง DOCX เป็น PDF (LibreOffice)
  • Excel Logging: บันทึก log ใน Excel

📁 โครงสร้างโปรเจกต์

chat-bot/
├── public/                 # Frontend files
│   ├── index.html         # หน้าแรก
│   ├── css/theme.css      # ธีมสีองค์กร
│   ├── js/
│   │   ├── app.js         # Logic หลัก
│   │   ├── typhoon_client.js
│   │   ├── tools/         # Tools ต่างๆ
│   │   └── qc/           # QC modules
├── server/                # Backend files
│   ├── server.js         # Main server
│   ├── routes/           # API routes
│   ├── services/         # Business logic
│   ├── templates/        # DOCX templates
│   │   ├── RE/          # บันทึกข้อความ
│   │   ├── WI/          # WI/SOP
│   │   └── FM/          # ฟอร์มแผนก
│   └── data/            # ข้อมูลและ config
└── package.json

🚀 การติดตั้งและรัน

1. ติดตั้ง Dependencies

npm install

2. ตั้งค่า Environment Variables

สร้างไฟล์ .env จาก env.example:

cp env.example .env

แก้ไขค่าใน .env:

TYPHOON_API_KEY=your_typhoon_api_key_here
TYPHOON_API_URL=https://api.opentyphoon.ai/v1/chat/completions
PORT=3000
SOFFICE_PATH=C:\\Program Files\\LibreOffice\\program\\soffice.exe

3. ติดตั้ง LibreOffice (สำหรับ PDF Export)

  • Windows: ดาวน์โหลดจาก LibreOffice.org
  • Linux: sudo apt-get install libreoffice
  • macOS: brew install --cask libreoffice

4. รันแอปพลิเคชัน

# Development mode
npm run dev

# Production mode
npm start

เปิดเบราว์เซอร์ไปที่ http://localhost:3000

📖 การใช้งาน

คำสั่งหลัก

  • /RE new - สร้างบันทึกข้อความใหม่
  • /RE list - ดูรายการบันทึกข้อความ
  • /RE qa [คำถาม] - ถาม-ตอบเกี่ยวกับ RE
  • /WI qa [คำถาม] - ถาม-ตอบเกี่ยวกับ WI/SOP
  • /WI list - ดูรายการ WI/SOP
  • /FM fill - กรอกฟอร์มแผนก
  • /FM list - ดูรายการฟอร์ม
  • /help - แสดงคำแนะนำการใช้งาน

Workflow ตัวอย่าง

สร้างบันทึกข้อความ (RE)

  1. พิมพ์ /RE new
  2. เลือก template
  3. กรอกข้อมูลตาม guided flow
  4. ระบบจะสร้างเอกสารและ export เป็น PDF
  5. บันทึก log ใน Excel

ถาม-ตอบ WI/SOP

  1. พิมพ์ /WI qa [คำถาม]
  2. ระบบจะค้นหาในฐานความรู้ WI
  3. ตอบคำถามตามข้อมูลที่มี

กรอกฟอร์มแผนก (FM)

  1. พิมพ์ /FM fill
  2. เลือกฟอร์มที่ต้องการ
  3. กรอกข้อมูลตาม guided flow
  4. ระบบจะสร้างเอกสารและ export เป็น PDF

🔧 การตั้งค่า

ธีมสีองค์กร

แก้ไขใน public/css/theme.css:

:root {
  --brand: #00a89d;      /* สีหลัก */
  --brand2: #038599;     /* สีรอง */
  --bg: #f5f7f8;         /* สีพื้นหลัง */
  --accent: #f4ce14;     /* สีเน้น */
}

Form Schemas

แก้ไขใน public/js/qc/formschema.js เพื่อเพิ่มฟิลด์ใหม่หรือแก้ไข schema

Templates

เพิ่มไฟล์ .docx ใหม่ในโฟลเดอร์ server/templates/ ตามหมวดหมู่

📊 API Endpoints

Chat

  • POST /api/chat - ส่งข้อความไปยัง Typhoon API
  • POST /api/chat/stream - Streaming chat

Files

  • GET /api/files?category=RE|WI|FM - ดูรายการไฟล์
  • GET /api/files/content?category=RE&file=filename.docx - ดูเนื้อหาไฟล์

Documents

  • POST /api/docx/fill - เติมข้อมูลใน DOCX
  • POST /api/docx/validate - ตรวจสอบข้อมูลก่อนเติม

Export

  • POST /api/export/pdf - Export เป็น PDF
  • POST /api/export/pdf/batch - Export หลายไฟล์

Logs

  • POST /api/logs/append - บันทึก log
  • GET /api/logs/history - ดูประวัติ log
  • GET /api/logs/export - Export log เป็น Excel

🐛 การแก้ไขปัญหา

LibreOffice ไม่พบ

Error: SOFFICE_NOT_FOUND

แก้ไข: ตั้งค่า SOFFICE_PATH ใน .env ให้ถูกต้อง

Typhoon API Error

Error: TYPHOON_API_KEY is not configured

แก้ไข: ตั้งค่า TYPHOON_API_KEY ใน .env

Template ไม่พบ

Error: Template not found

แก้ไข: ตรวจสอบว่าไฟล์ template อยู่ในโฟลเดอร์ที่ถูกต้อง

📝 TODO

  • เพิ่ม template DOCX จริง
  • ปรับปรุง PDF export ให้รองรับ LibreOffice ทุกเวอร์ชัน
  • เพิ่มระบบ authentication
  • เพิ่มระบบ backup ข้อมูล
  • ปรับปรุง UI/UX
  • เพิ่ม unit tests

🤝 การมีส่วนร่วม

  1. Fork โปรเจกต์
  2. สร้าง feature branch (git checkout -b feature/AmazingFeature)
  3. Commit การเปลี่ยนแปลง (git commit -m 'Add some AmazingFeature')
  4. Push ไปยัง branch (git push origin feature/AmazingFeature)
  5. เปิด Pull Request

📄 License

MIT License - ดูรายละเอียดใน LICENSE file

👥 ทีมพัฒนา

  • QC Microbiology Team - การพัฒนาและดูแลระบบ

📞 การติดต่อ

หากมีปัญหาหรือข้อสงสัย กรุณาติดต่อทีม QC Microbiology


หมายเหตุ: ระบบนี้พัฒนาสำหรับใช้ภายในองค์กรเท่านั้น กรุณาไม่เผยแพร่ API keys หรือข้อมูลสำคัญ

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published