ใช้งาน Garudust Agent ร่วมกับ Typhoon Thai LLM: คู่มือฉบับสมบูรณ์
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 (ฟรี) ไปที่ 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 # 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 cargo install garudust garudust-server ตรวจสอบว่าติดตั้งสำเร็จ: garudust --version # garudust 0.2.8 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: Bearer header ไปยัง base_url ที่กำหนด Typhoon API รับ format นี้ได้ตรงๆ เลย หรือจะใช้ setup wizard ก็ได้: garudust setup เลือก provider เป็น vllm แล้วกรอก base_url และ model ตามด้านบน 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 เปิด TUI แบบ interactive: garudust ลองพิมพ์: คุณ: สวัสดีครับ ช่วยแนะนำตัวเองหน่อยได้ไหม Agent จะตรวจจับภาษาไทยโดยอัตโนมัติและตอบกลับเป็นภาษาไทย โดยไม่ต้องตั้งค่าภาษาเพิ่มเติม หรือใช้แบบ one-shot: garudust "สรุปข้อดีข้อเสียของการเปิดบริษัทในไทยแบบสั้นๆ" บอก agent ครั้งเดียว มันจำตลอด: คุณ: ตั้งแต่นี้ไปตอบเป็นภาษาไทยเสมอ ยกเว้นถ้าฉันถามเป็นภาษาอื่น Agent: [บันทึกลง memory] เข้าใจแล้วครับ จะตอบเป็นภาษาไทยใน session หน้าทุกครั้ง Garudust บันทึกลง ~/.garudust/memory/ และโหลดขึ้นมาทุก session โดยอัตโนมัติ ไม่ต้องบอกซ้ำอีก garudust "เขียนอีเมลทางการถึงพาร์ทเนอร์ แจ้งว่าต้องการต่อสัญญา partnership อีก 1 ปี พร้อมเสนอเพิ่มงบ 15% และขอนัดประชุมสัปดาห์หน้า" garudust "อ่านไฟล์นี้แล้วสรุปประเด็นสำคัญเป็นภาษาไทย 5 ข้อ: /path/to/contract.pdf" Agent จะเรียก pdf_read tool โดยอัตโนมัติ แล้วสรุปเนื้อหาให้ garudust "เขียน template ตอบลูกค้าใน LINE OA สำหรับคำถามเรื่อง shipping 5 แบบ ให้เป็นภาษาไทยที่สุภาพและเป็นมิตร พร้อมระบุวันจัดส่งโดยประมาณ" คุณ: สร้าง skill สำหรับเขียนรายงานสรุปประจำสัปดาห์เป็นภาษาไทย พร้อม format หัวข้อ ผลงานที่ทำ ปัญหาที่พบ และแผนสัปดาห์หน้า Agent: [เรียก write_skill] บันทึก skill 'weekly-report-th' ไปยัง ~/.garudust/skills/weekly-report-th/SKILL.md แล้ว ครั้งต่อไปแค่พิมพ์: garudust "ใช้ skill weekly-report-th สรุปสัปดาห์นี้" เพิ่มใน ~/.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 # ~/.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 เอง
