สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
ภาษาโปรแกรมมิ่ง · PRC-39

Rust Fundamentals with Generative AI

หลักสูตร Rust Fundamentals with Generative AI เป็นการอบรมภาษา Rust ตั้งแต่ Ownership, Borrowing และ Traits ไปจนถึง Web API ด้วย Tokio และ axum ที่เชื่อมต่อ LLM ผ่าน OpenAI API และ Ollama เหมาะกับนักพัฒนา Backend และทีมที่กำลังนำ Rust มาใช้ จบแล้วได้ Service ที่ใช้ AI และรันใน Docker

อัปเดตล่าสุด
ราคาเริ่มต้น 10,350 บาท / ท่าน 11,500 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา30 ชั่วโมง · 5 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

องค์กรจำนวนมากเริ่มนำ Generative AI เข้าไปอยู่ในระบบงานจริง ทั้งการสรุปเอกสาร การจัดหมวดหมู่คำร้อง และผู้ช่วยตอบคำถาม ระบบเหล่านี้ต้องทำงานเร็ว ใช้ทรัพยากรน้อย และเสถียรเมื่อมีผู้ใช้จำนวนมาก Rust จึงถูกเลือกใช้มากขึ้นสำหรับงาน Backend และ Service ที่ต้องการความปลอดภัยของหน่วยความจำและประสิทธิภาพสูง แต่สำหรับนักพัฒนาที่มาจากภาษาอื่น แนวคิดอย่าง Ownership, Borrowing และ Lifetimes มักเป็นกำแพงแรกที่ทำให้เรียนรู้ได้ช้า

หลักสูตรนี้ปูพื้นฐานภาษา Rust อย่างเป็นลำดับตั้งแต่ Toolchain ไปจนถึงกลไกสำคัญของภาษา แล้วต่อยอดสู่การเขียนโปรแกรมแบบ Asynchronous ด้วย Tokio สร้าง Web API ด้วย axum และเชื่อมต่อ LLM ทั้งแบบ Cloud ผ่าน OpenAI Responses API และแบบ Local ผ่าน Ollama ทุกวันต่อยอดโปรเจกต์ TicketPilot ชุดเดียว จนได้ Service ที่ใช้ Generative AI วิเคราะห์ Ticket จำลองและพร้อมรันใน Docker Container ในวันสุดท้าย (อบรม 5 วัน วันละ 6 ชั่วโมง รวม 30 ชั่วโมง ระดับ Beginner to Intermediate)

สิ่งที่คุณจะได้รับ

  • ติดตั้งและใช้งาน Rust Toolchain (rustup, cargo, clippy, rustfmt) และจัดโครงสร้างโปรเจกต์ได้อย่างถูกต้อง
  • เข้าใจไวยากรณ์ ชนิดข้อมูล Struct, Enum และ Pattern Matching ของภาษา Rust
  • เข้าใจและประยุกต์ใช้ Ownership, Borrowing และ Lifetimes พร้อมอ่าน Error ของ Borrow Checker ได้อย่างมีเหตุผล
  • ออกแบบโค้ดด้วย Traits และ Generics และจัดการ Error ด้วย Result อย่างเป็นระบบ
  • เขียนโปรแกรม Asynchronous ด้วย Tokio และสร้าง Web API ด้วย axum ได้
  • เชื่อมต่อ LLM ผ่าน OpenAI Responses API และ Ollama จากโค้ด Rust ได้
  • รับผลลัพธ์จาก LLM แบบ Structured Output แล้วแปลงเป็นชนิดข้อมูล Rust ด้วย serde อย่างปลอดภัย
  • เขียน Unit Test และนำ Service ขึ้นรันใน Docker Container ได้

หลักสูตรนี้เหมาะสำหรับ

  • นักพัฒนา Backend ที่ต้องการเพิ่ม Rust สำหรับงานที่ต้องการประสิทธิภาพสูง
  • นักพัฒนาที่ต้องการสร้าง Service หรือเครื่องมือภายในที่เชื่อมต่อกับ LLM
  • ทีมพัฒนาที่กำลังพิจารณานำ Rust มาใช้ในระบบขององค์กร
  • Software Engineer ที่ต้องการเข้าใจการจัดการหน่วยความจำแบบไม่ใช้ Garbage Collector
  • ผู้ที่ผ่านหลักสูตร Rust Programming แล้วและต้องการฝึกต่อเนื่องจนสร้าง Service ที่ใช้ AI ได้

พื้นฐานของผู้เข้าอบรม

  • เขียนโปรแกรมได้อย่างน้อย 1 ภาษา เช่น Python, JavaScript/TypeScript, Java, C# หรือ Go
  • เข้าใจแนวคิดพื้นฐาน เช่น ตัวแปร ฟังก์ชัน เงื่อนไข ลูป และโครงสร้างข้อมูล
  • ใช้งาน Command Line และ Git เบื้องต้นได้ และเข้าใจพื้นฐาน HTTP และ JSON
  • ไม่จำเป็นต้องมีประสบการณ์ Rust, C หรือ C++ และไม่ต้องมีพื้นฐาน Machine Learning มาก่อน

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

หลักสูตรนี้ต่อยอดจากหลักสูตร Rust Programming (2 วัน) ที่เน้นพื้นฐานภาษา โดยใช้เวลา 5 วันฝึกกลไกสำคัญของ Rust ให้แน่น แล้วนำไปสร้าง Async Web Service ที่เชื่อมต่อ Generative AI ได้ทั้งแบบ Cloud และ Local อบรม 5 วัน วันละ 6 ชั่วโมง รวม 30 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab และ Workshop บนโปรเจกต์ TicketPilot ที่ต่อยอดกันทุกวัน ระดับ Beginner to Intermediate ผู้เรียนใช้ Notebook

ของตนเอง และใช้ OpenAI API Key ของตนเองหรือขององค์กรซึ่งมีค่าใช้จ่ายตามการใช้งาน ผู้ที่ไม่มี Key ทำ Lab ฝั่ง AI ด้วย Ollama บนเครื่องตนเองได้ หลักสูตรเป็นระดับ Fundamentals จึงไม่ครอบคลุม Unsafe Rust, Procedural Macro, FFI การ Train หรือ Fine-tune โมเดล และการรันโมเดล AI ด้วย Rust โดยตรง ส่วน Tool Calling นำเสนอในระดับแนวคิดพร้อมตัวอย่างสั้น เวอร์ชันของเครื่องมือและชื่อโมเดลเปลี่ยนบ่อย เนื้อหาจะอิงเวอร์ชันล่าสุดในวันอบรม

Day 1 Rust Foundations และ Toolchain

Section 1: ทำความรู้จัก Rust และระบบนิเวศ

  • เหตุผลที่องค์กรเลือก Rust: Memory Safety, ประสิทธิภาพ และความปลอดภัยของ Concurrency
  • งานที่ Rust เหมาะและไม่เหมาะ เมื่อเทียบกับ Go, Java, C# และ Python
  • รอบการออกเวอร์ชันทุก 6 สัปดาห์ แนวคิด Edition และสิ่งที่เปลี่ยนใน Edition 2024
  • crates.io, docs.rs, The Rust Book และแหล่งเรียนรู้หลักของชุมชน

Section 2: Lab: ติดตั้งและใช้งาน Toolchain

  • ติดตั้ง rustup เลือก Toolchain แบบ stable และอัปเดตเวอร์ชัน
  • คำสั่งหลักของ cargo: new, build, run, check, add และโครงสร้าง Cargo.toml
  • จัดรูปแบบโค้ดด้วย rustfmt และตรวจคุณภาพด้วย clippy
  • ตั้งค่า VS Code กับ rust-analyzer และการอ่านข้อความ Error ของ Compiler
  • Lab: สร้างโปรเจกต์แรกและแก้คำเตือนจาก clippy

Section 3: ไวยากรณ์และชนิดข้อมูลพื้นฐาน

  • ตัวแปร Immutability โดยค่าเริ่มต้น, mut และ Shadowing
  • Scalar Types, Tuple, Array และการแปลงชนิดข้อมูลอย่างปลอดภัย
  • ฟังก์ชัน Expression กับ Statement และการคืนค่า
  • Control Flow: if, loop, while, for และ Range
  • Lab: แบบฝึกหัดเขียนฟังก์ชันคำนวณและวนลูปข้อมูล

Section 4: Struct, Enum และ Pattern Matching

  • นิยาม Struct และ Method ด้วย impl รวมถึง Associated Function
  • Enum ที่เก็บข้อมูลได้ และ Option ที่ใช้แทนค่า null
  • match, if let และ let else สำหรับแยกกรณีอย่างครบถ้วน
  • Lab: ออกแบบ Struct Ticket และ Enum สถานะกับระดับความเร่งด่วน

Section 5: Workshop: Module และ TicketPilot CLI

  • mod, pub, use และการแยกไฟล์ตามหน้าที่
  • Library Crate กับ Binary Crate และการจัดโครงสร้างโปรเจกต์
  • รับ Argument จาก Command Line ด้วย clap เบื้องต้น
  • Workshop: สร้างโปรเจกต์ TicketPilot และคำสั่ง CLI แสดงรายการ Ticket จำลอง
Day 2 Ownership, Borrowing และ Collections

Section 6: Ownership และการจัดการหน่วยความจำ

  • Stack กับ Heap และเหตุผลที่ Rust ไม่ต้องใช้ Garbage Collector
  • กฎ Ownership, Move Semantics และการคืนหน่วยความจำด้วย Drop
  • Clone กับ Copy และต้นทุนที่แท้จริงของการ clone
  • Lab: ทดลอง Move ค่าระหว่างตัวแปรและฟังก์ชันแล้วอ่านผลจาก Compiler

Section 7: Borrowing และ References

  • Immutable Reference (&T) และ Mutable Reference (&mut T)
  • กฎการยืม และวิธีอ่าน Error ของ Borrow Checker ทีละบรรทัด
  • รูปแบบปัญหาที่พบบ่อยเมื่อเริ่มเขียน Rust และวิธีแก้ด้วยเหตุผล
  • Lab: แก้โค้ดที่ Compile ไม่ผ่านโดยไม่ใช้ clone เป็นทางลัด

Section 8: Lifetimes เบื้องต้น

  • ความหมายของ Lifetime และกฎ Lifetime Elision
  • การระบุ Lifetime ในฟังก์ชันและ Struct ที่เก็บ Reference
  • เลือกระหว่างเก็บ Reference กับเก็บข้อมูลแบบเป็นเจ้าของ
  • Lab: เขียนฟังก์ชันคืนค่า Reference ที่ Compiler ยอมรับ

Section 9: String, Slice และ Collections

  • String กับ &str และการทำงานกับข้อความ UTF-8 รวมถึงภาษาไทย
  • Slice ของ Array และ Vector
  • Vec, HashMap และ HashSet พร้อมการเลือกใช้ให้เหมาะกับงาน
  • วนลูปแบบยืมค่า (iter), เปลี่ยนค่า (iter_mut) และย้ายค่า (into_iter)
  • Entry API สำหรับนับและจัดกลุ่มข้อมูล

Section 10: Workshop: ค้นหาและจัดกลุ่ม Ticket

  • เขียนฟังก์ชันค้นหาและกรอง Ticket ตามสถานะและความเร่งด่วน
  • จัดกลุ่ม Ticket ตามหมวดหมู่ด้วย HashMap และ Entry API
  • ออกแบบ Signature ของฟังก์ชันให้รับ Reference แทนการย้ายค่า
  • Workshop: ทบทวนโค้ดเพื่อลดการ clone ที่ไม่จำเป็นและเปรียบเทียบผลก่อนหลัง
Day 3 Traits, Generics, Error Handling และ Testing

Section 11: Traits และ Generics

  • นิยามและ Implement Trait พร้อม Default Method
  • Generics กับ Trait Bounds และ impl Trait
  • Trait Object (dyn Trait) และการเลือก Static หรือ Dynamic Dispatch
  • Trait มาตรฐานที่ใช้บ่อย: Debug, Display, From และ Default
  • Lab: แยก Repository ของ Ticket ด้วย Trait

Section 12: Closures และ Iterators

  • Closure และการจับค่าตัวแปรจากภายนอก
  • Iterator Adapter: map, filter, fold และ collect
  • เขียนโค้ดแบบ Functional ให้อ่านง่ายและไม่สร้างข้อมูลซ้ำ
  • Lab: เขียนฟังก์ชันจาก Day 2 ใหม่ด้วย Iterator

Section 13: Error Handling อย่างเป็นระบบ

  • Result, ตัวดำเนินการ ? และกรณีที่ควรใช้ panic!
  • สร้าง Error Type ของ Library ด้วย thiserror
  • ใช้ anyhow ในระดับ Application และเพิ่ม Context ให้ Error
  • Lab: สร้าง Error Type ของ TicketPilot และส่งต่อ Error อย่างถูกต้อง

Section 14: Serialization ด้วย serde

  • Serialize และ Deserialize ด้วย derive
  • อ่านเขียนไฟล์ JSON ด้วย serde_json
  • กำหนดชื่อฟิลด์ ค่าเริ่มต้น และฟิลด์ที่ไม่บังคับ
  • Lab: โหลดข้อมูล Ticket จำลองจากไฟล์ JSON

Section 15: Workshop: Testing ใน Rust

  • Unit Test ด้วย #[test] และ cargo test
  • Integration Test ในโฟลเดอร์ tests
  • ใช้ Trait สร้าง Fake Repository สำหรับทดสอบ
  • Workshop: Repository แบบไฟล์ JSON และแบบหน่วยความจำ พร้อม Unit Test ครอบคลุมฟังก์ชันหลัก
Day 4 Async Rust, Web API และ LLM Integration

Section 16: Async Rust กับ Tokio

  • async/await, Future และบทบาทของ Runtime
  • #[tokio::main], tokio::spawn และการรันงานพร้อมกัน
  • แชร์ State ระหว่าง Task ด้วย Arc และ Mutex หรือ RwLock
  • Timeout และการยกเลิกงาน
  • Lab: เรียก HTTP หลายรายการพร้อมกันด้วย reqwest

Section 17: Lab: สร้าง Web API ด้วย axum

  • Router, Handler และ Extractor (Path, Query, Json, State)
  • คืนค่า Response และ Error ในรูปแบบ JSON ที่สม่ำเสมอ
  • Middleware ด้วย tower เช่น Logging และ Timeout
  • Lab: Endpoint ดึงรายการ Ticket และดู Ticket รายตัว

Section 18: พื้นฐานการใช้ LLM สำหรับนักพัฒนา

  • Token, Context Window และค่าใช้จ่ายต่อ Request
  • ออกแบบ Instructions และ Input สำหรับงานสรุปและจัดหมวดหมู่
  • ข้อมูลส่วนบุคคลกับ PDPA และเกณฑ์เลือก Cloud หรือ Local Model
  • เหตุผลที่ต้องตรวจสอบผลจาก LLM ก่อนนำไปใช้ทุกครั้ง

Section 19: เชื่อมต่อ OpenAI Responses API และ Ollama

  • ติดตั้ง async-openai พร้อม Feature responses และเก็บ API Key อย่างปลอดภัย
  • ส่ง Request อ่านผลลัพธ์ และจัดการ Retry กับ Rate Limit
  • ติดตั้ง Ollama และโมเดลขนาดเล็กที่รันบน Notebook ได้
  • เรียก Ollama ผ่าน HTTP ด้วย reqwest และผ่าน Endpoint ที่เข้ากันได้กับ OpenAI
  • Lab: เปรียบเทียบคุณภาพ ความเร็ว และข้อจำกัดของ Cloud กับ Local

Section 20: Workshop: TicketPilot API เรียก LLM

  • ออกแบบ Endpoint POST /tickets/{id}/analyze
  • ส่ง Ticket ให้ LLM สรุปใจความและจัดหมวดหมู่
  • จัดการ Error จาก LLM และ Timeout ให้ API ยังตอบได้
  • Workshop: ทดสอบ API ด้วย Ticket จำลองหลายประเภท
Day 5 GenAI-Powered Rust Service (Master Workshop)

Section 21: Lab: ออกแบบ LLM Provider ด้วย Trait

  • นิยาม Trait LlmProvider และ Implement สำหรับ OpenAI และ Ollama
  • เลือก Provider จาก Config ตามข้อกำหนดด้านข้อมูลขององค์กร
  • ทดสอบด้วย Fake Provider โดยไม่ต้องเรียก API จริง
  • Lab: สลับ Provider โดยไม่แก้ Business Logic

Section 22: Structured Output และการตรวจสอบผลลัพธ์

  • กำหนด JSON Schema ของผลวิเคราะห์: หมวดหมู่ ความเร่งด่วน สรุป และคำตอบแนะนำ
  • แปลงผลลัพธ์เป็น Struct ด้วย serde และรับมือกรณีไม่ตรง Schema
  • Fallback และ Retry อย่างมีขอบเขต
  • Lab: ผลวิเคราะห์ Ticket ที่ระบบนำไปใช้ต่อได้ทันที

Section 23: Streaming และ Tool Calling เบื้องต้น

  • รับผลลัพธ์แบบ Streaming และส่งต่อให้ Client ด้วย Server-Sent Events ใน axum
  • แนวคิด Tool Calling: ให้ LLM เรียกฟังก์ชัน Rust เพื่อค้น Ticket ที่เกี่ยวข้อง
  • จำกัดสิทธิ์และตรวจ Argument ก่อนรันฟังก์ชันทุกครั้ง
  • Lab: Endpoint แบบ Streaming สำหรับร่างคำตอบ

Section 24: ความพร้อมใช้งานจริงและ Docker

  • Logging แบบมีโครงสร้างด้วย tracing
  • จัดการ Config และ Secret ผ่าน Environment Variables
  • Graceful Shutdown และ Health Check Endpoint
  • Release Build, การลดขนาด Binary และ Dockerfile แบบ Multi-stage
  • Lab: รัน Service คู่กับ Ollama ด้วย Docker Compose

Section 25: Master Workshop: TicketPilot AI Service

  • รวม Provider ที่สลับได้, Structured Output และ Endpoint แบบ Streaming
  • เพิ่ม Logging, Config และ Unit Test ให้ครบส่วนสำคัญ
  • Build เป็น Docker Image และรันร่วมกับ Ollama
  • นำเสนอผลงานและสรุปแนวทางนำไปใช้กับระบบขององค์กร

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

คำถามที่พบบ่อย

หลักสูตรนี้ต่างจากหลักสูตร Rust Programming อย่างไร

Rust Programming เป็นหลักสูตร 2 วันที่ปูพื้นฐานภาษา Rust ส่วนหลักสูตรนี้ใช้เวลา 5 วัน ฝึก Ownership, Borrowing, Traits และ Error Handling ให้แน่นกว่า แล้วต่อยอดไปสร้าง Async Web API ด้วย Tokio และ axum ที่เชื่อมต่อ LLM ผ่าน OpenAI Responses API และ Ollama จนได้ Service ที่รันใน Docker ผู้ที่ผ่าน Rust Programming แล้วเรียนต่อได้ ส่วนผู้ที่ยังไม่เคยเขียน Rust ก็เริ่มที่หลักสูตรนี้ได้เลย

ไม่เคยเขียน Rust หรือ C/C++ มาก่อนเรียนได้หรือไม่

เรียนได้ หลักสูตรเริ่มจากการติดตั้ง Toolchain และไวยากรณ์พื้นฐาน แล้วอธิบาย Ownership และ Borrow Checker ด้วยการเทียบกับภาษาที่ผู้เรียนรู้จัก แต่ผู้เรียนควรเขียนโปรแกรมได้อย่างน้อย 1 ภาษา และใช้ Command Line กับ Git เบื้องต้นได้ เพื่อให้ตามจังหวะของ Workshop ได้ทัน

ต้องมี OpenAI API Key หรือไม่ และสถาบันจัดเตรียมให้หรือไม่

สถาบันไม่ได้จัดเตรียม API Key ให้ ผู้เรียนใช้ Key ของตนเองหรือขององค์กร ซึ่งมีค่าใช้จ่ายตามการใช้งานจริง ปริมาณที่ใช้ใน Lab ไม่มาก ผู้ที่ไม่มี Key หรือไม่ต้องการส่งข้อมูลออกนอกเครื่องทำ Lab ฝั่ง AI ด้วย Ollama บนเครื่องของตนเองได้ เพราะโค้ดในคลาสออกแบบให้สลับ Provider ได้

ต้องใช้ Notebook สเปกเท่าไร

แนะนำ Notebook Windows 10/11 หรือ macOS ที่มี RAM อย่างน้อย 16 GB และพื้นที่ว่างอย่างน้อย 30 GB สำหรับ Toolchain และโมเดล Local LLM มีสิทธิ์ติดตั้งโปรแกรม และติดตั้ง VS Code, Git และ Docker Desktop ไว้ล่วงหน้า ผู้ใช้ Windows ควรติดตั้ง Visual Studio Build Tools และเปิด WSL2 ด้วย

หลักสูตรนี้สอนการ Train โมเดลหรือรันโมเดล AI ด้วย Rust โดยตรงหรือไม่

ไม่ครอบคลุม หลักสูตรเน้นการเชื่อมต่อ LLM ผ่าน API ทั้งแบบ Cloud และ Local แล้วนำผลมาใช้ในระบบอย่างปลอดภัยด้วย Structured Output การ Train หรือ Fine-tune โมเดล การเขียน Inference Engine ด้วย Rust รวมถึง Unsafe Rust และ FFI อยู่นอกขอบเขต เพื่อให้มีเวลาฝึกกลไกหลักของภาษาอย่างเพียงพอ

นำ TicketPilot ไปต่อยอดกับงานจริงได้หรือไม่ และใช้ข้อมูลจริงในคลาสได้ไหม

ได้ ผู้เรียนได้ Source Code ทุกขั้นตอนไปปรับใช้เป็นต้นแบบ Service ขององค์กร แต่ในคลาสใช้เฉพาะข้อมูล Ticket จำลอง ไม่ควรนำข้อมูลลูกค้าหรือข้อมูลส่วนบุคคลจริงเข้ามา และควรพิจารณา PDPA กับนโยบายข้อมูลขององค์กรก่อนเลือกใช้ LLM แบบ Cloud หรือ Local กับงานจริง