Garudust เป็น AI agent ที่เขียนด้วย Rust — binary ขนาด ~10 MB, cold start ไม่ถึง 20 มิลลิวินาที และมี persistent memory ที่จำทุกอย่างข้ามหลาย session
แต่ถ้างานที่ทำเป็นภาษาไทยล้วนๆ — เขียนอีเมลธุรกิจ, ตอบลูกค้า LINE OA, สรุปเอกสารราชการ — การใช้ Typhoon โมเดลภาษาไทยจาก SCB 10X จะได้ผลลัพธ์ที่ดีกว่าอย่างชัดเจน
Typhoon มี free API ที่ compatible กับ OpenAI ที่ https://api.opentyphoon.ai/v1 ซึ่งหมายความว่า Garudust เชื่อมต่อได้ทันทีด้วยการตั้งค่า 2 บรรทัด ไม่ต้องแก้โค้ดแม้แต่บรรทัดเดียว
สิ่งที่ต้องเตรียม
- Linux, macOS หรือ Windows (WSL2)
- Rust 1.75+ — หรือดาวน์โหลด pre-built binary เลยก็ได้
- API key จาก opentyphoon.ai (ฟรี)
ขั้นตอนที่ 1 — ขอ Typhoon API Key
ไปที่ opentyphoon.ai สมัครบัญชีฟรี แล้ว generate API key จาก dashboard
API key จะมีหน้าตาประมาณนี้:
sk-ty-xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Free tier ใช้งานได้กับทั้ง 2 โมเดล:
| โมเดล | Req/วินาที | Req/นาที | เหมาะกับ |
|---|---|---|---|
typhoon-v2.1-12b-instruct |
5 | 200 | งานทั่วไป, ตอบเร็ว |
typhoon-v2.5-30b-a3b-instruct |
5 | 200 | งานซับซ้อน, reasoning |
สำหรับงาน agent ส่วนใหญ่ แนะนำ typhoon-v2.1-12b-instruct ก่อน — เร็วกว่าและเหมาะกับ multi-turn loop มากกว่า
หมายเหตุ: Free API มี rate limit และไม่เหมาะกับ production workload หนักๆ สำหรับการใช้งานจริงในระดับ enterprise รอ production API บน AWS ที่ Typhoon วางแผนจะเปิดในปี 2026
ขั้นตอนที่ 2 — ติดตั้ง Garudust
วิธีที่ 1: ดาวน์โหลด binary สำเร็จรูป (แนะนำ)
# Linux x86_64
curl -LO https://github.com/garudust-org/garudust-agent/releases/latest/download/garudust-x86_64-unknown-linux-musl.tar.gz
tar -xzf garudust-x86_64-unknown-linux-musl.tar.gz
sudo mv garudust garudust-server /usr/local/bin/
| แพลตฟอร์ม | ไฟล์ |
|---|---|
| Linux x86_64 | garudust-*-x86_64-unknown-linux-musl.tar.gz |
| Linux ARM64 | garudust-*-aarch64-unknown-linux-musl.tar.gz |
| macOS Apple Silicon | garudust-*-aarch64-apple-darwin.tar.gz |
| macOS Intel | garudust-*-x86_64-apple-darwin.tar.gz |
| Windows | garudust-*-x86_64-pc-windows-msvc.zip |
วิธีที่ 2: ติดตั้งจาก crates.io
cargo install garudust garudust-server
ตรวจสอบว่าติดตั้งสำเร็จ:
garudust --version
# garudust 0.2.8
ขั้นตอนที่ 3 — เชื่อมต่อ Garudust กับ Typhoon
Garudust แยก config ออกจาก secret เป็น 2 ไฟล์ใน ~/.garudust/:
-
config.yaml— ชื่อโมเดล, provider, ค่าพฤติกรรมต่างๆ (แชร์ได้) -
.env— API key อย่างเดียว (ห้าม commit เด็ดขาด)
สร้างไฟล์ ~/.garudust/config.yaml:
# เชื่อมต่อ Typhoon ผ่าน OpenAI-compatible endpoint
provider: vllm
model: typhoon-v2.1-12b-instruct
base_url: https://api.opentyphoon.ai/v1
# Context window สำหรับโมเดล 12B
context_window: 8192
compression:
enabled: true
threshold_fraction: 0.65
# Memory nudge — บันทึก fact ทุก 5 iteration
nudge_interval: 5
สร้างไฟล์ ~/.garudust/.env:
# Typhoon API key
VLLM_API_KEY=sk-ty-xxxxxxxxxxxxxxxxxxxxxxxxxxxx
ทำไมใช้
VLLM_API_KEY?
Garudust ส่ง key นี้เป็นAuthorization: Bearerheader ไปยัง base_url ที่กำหนด Typhoon API รับ format นี้ได้ตรงๆ เลย
หรือจะใช้ setup wizard ก็ได้:
garudust setup
เลือก provider เป็น vllm แล้วกรอก base_url และ model ตามด้านบน
ขั้นตอนที่ 4 — ตรวจสอบการเชื่อมต่อ
garudust doctor
ถ้าทุกอย่างถูกต้องจะเห็น:
✓ Config loaded provider=vllm model=typhoon-v2.1-12b-instruct
✓ API key present VLLM_API_KEY
✓ LLM reachable https://api.opentyphoon.ai/v1 → 200 OK
✓ Memory dir ~/.garudust/memory/ (0 entries)
✓ Session DB ~/.garudust/sessions.db
ขั้นตอนที่ 5 — ทดสอบสนทนาภาษาไทย
เปิด TUI แบบ interactive:
garudust
ลองพิมพ์:
คุณ: สวัสดีครับ ช่วยแนะนำตัวเองหน่อยได้ไหม
Agent จะตรวจจับภาษาไทยโดยอัตโนมัติและตอบกลับเป็นภาษาไทย โดยไม่ต้องตั้งค่าภาษาเพิ่มเติม
หรือใช้แบบ one-shot:
garudust "สรุปข้อดีข้อเสียของการเปิดบริษัทในไทยแบบสั้นๆ"
ขั้นตอนที่ 6 — ตั้งให้ตอบไทยเป็นค่าเริ่มต้นถาวร
บอก agent ครั้งเดียว มันจำตลอด:
คุณ: ตั้งแต่นี้ไปตอบเป็นภาษาไทยเสมอ ยกเว้นถ้าฉันถามเป็นภาษาอื่น
Agent: [บันทึกลง memory] เข้าใจแล้วครับ จะตอบเป็นภาษาไทยใน session หน้าทุกครั้ง
Garudust บันทึกลง ~/.garudust/memory/ และโหลดขึ้นมาทุก session โดยอัตโนมัติ ไม่ต้องบอกซ้ำอีก
ตัวอย่างการใช้งานจริง
เขียนอีเมลธุรกิจภาษาไทย
garudust "เขียนอีเมลทางการถึงพาร์ทเนอร์ แจ้งว่าต้องการต่อสัญญา partnership อีก 1 ปี พร้อมเสนอเพิ่มงบ 15% และขอนัดประชุมสัปดาห์หน้า"
สรุปเอกสาร PDF ภาษาไทย
garudust "อ่านไฟล์นี้แล้วสรุปประเด็นสำคัญเป็นภาษาไทย 5 ข้อ: /path/to/contract.pdf"
Agent จะเรียก pdf_read tool โดยอัตโนมัติ แล้วสรุปเนื้อหาให้
เขียน template ตอบ LINE OA
garudust "เขียน template ตอบลูกค้าใน LINE OA สำหรับคำถามเรื่อง shipping 5 แบบ ให้เป็นภาษาไทยที่สุภาพและเป็นมิตร พร้อมระบุวันจัดส่งโดยประมาณ"
สร้าง skill ภาษาไทยให้ใช้ซ้ำได้
คุณ: สร้าง skill สำหรับเขียนรายงานสรุปประจำสัปดาห์เป็นภาษาไทย พร้อม format หัวข้อ ผลงานที่ทำ ปัญหาที่พบ และแผนสัปดาห์หน้า
Agent: [เรียก write_skill]
บันทึก skill 'weekly-report-th' ไปยัง ~/.garudust/skills/weekly-report-th/SKILL.md แล้ว
ครั้งต่อไปแค่พิมพ์:
garudust "ใช้ skill weekly-report-th สรุปสัปดาห์นี้"
ส่ง briefing ภาษาไทยทุกเช้า (Cron)
เพิ่มใน ~/.garudust/.env:
GARUDUST_CRON_JOBS="0 8 * * *=ค้นหาข่าวเศรษฐกิจและเทคโนโลยีไทยล่าสุด สรุปเป็นรายการ 5 ข้อ บันทึกลงไฟล์ ~/briefing-th.md"
เปิด server:
garudust-server
ทุกวันตี 8 โมงเช้า agent จะค้นหาข่าว สรุปเป็นภาษาไทย และบันทึกไฟล์ให้โดยอัตโนมัติ
เปลี่ยนเป็นโมเดลใหญ่เมื่อต้องการ
สำหรับงานที่ซับซ้อนกว่า เช่น วิเคราะห์สัญญา หรือ multi-step planning:
# เปลี่ยนชั่วคราวใน TUI
/model typhoon-v2.5-30b-a3b-instruct
# หรือเปลี่ยนถาวร
garudust config set model typhoon-v2.5-30b-a3b-instruct
อย่าลืมอัปเดต context_window ใน config.yaml ด้วย:
model: typhoon-v2.5-30b-a3b-instruct
context_window: 32768
แก้ปัญหาเบื้องต้น
| อาการ | สาเหตุ | วิธีแก้ |
|---|---|---|
HTTP 401 Unauthorized |
API key ผิด | ตรวจสอบ VLLM_API_KEY ใน ~/.garudust/.env
|
HTTP 429 Too Many Requests |
เกิน rate limit | รอ ~1 นาที — Garudust retry อัตโนมัติ |
| Agent ตอบภาษาอังกฤษตลอด | ยังไม่ได้ตั้ง memory | บอกครั้งเดียว: "ตอบเป็นภาษาไทยเสมอ" |
| Agent ไม่เรียก tool | โมเดลข้าม tool call | ระบุชัดขึ้น: "ใช้ web_search หา..." หรือเปลี่ยนเป็น 30B |
| Context เกิน | prompt ยาวเกินไป | ลด context_window หรือเปิด compression |
Config สรุปฉบับสมบูรณ์
# ~/.garudust/config.yaml
# --- LLM ---
provider: vllm
base_url: https://api.opentyphoon.ai/v1
model: typhoon-v2.1-12b-instruct # หรือ typhoon-v2.5-30b-a3b-instruct
# --- Context ---
context_window: 8192 # 8192 สำหรับ 12B, 32768 สำหรับ 30B
compression:
enabled: true
threshold_fraction: 0.65
# --- Memory ---
nudge_interval: 5 # บันทึก fact ทุก 5 iteration (0 = ปิด)
# ~/.garudust/.env
VLLM_API_KEY=sk-ty-xxxxxxxxxxxxxxxxxxxxxxxxxxxx
ลิงก์ที่เกี่ยวข้อง
- Garudust: github.com/garudust-org/garudust-agent
- Typhoon API: opentyphoon.ai
- Typhoon Docs: docs.opentyphoon.ai
- Typhoon Rate Limits: docs.opentyphoon.ai/en/rate-limits
- Garudust Latest Release: v0.2.8
Garudust + Typhoon = AI agent ที่รันบน hardware ของคุณเอง พูดภาษาไทยได้ดี และไม่ส่งข้อมูลออกนอกบ้านถ้าคุณ self-host Typhoon เอง
Top comments (0)