AI

มาลองใช้ Foundry Local รัน AI Model บนเครื่องของเรากัน

เรื่องที่เกี่ยวข้อง - AI Dev, AI development, Azure AI, Foundry Local, Generative AI Development

ในงาน Microsoft Build 2025 มีการเปิดตัว Foundry Local มันเป็นบริการที่เสริมที่ทำให้เราสามารถนำ Language Model มารันใช้งานในเครื่องคอม โดยหลายคนที่ติดตามก็จะพอทราบว่า model พวกนี้จะเป็นกลุ่มที่สามารถนำมารันบนคอมพิวเตอร์ทั่วไป อย่าง SLM (Small Language Model) ครับ

สรุปควรรู้

  • Foundry Local เป็นเครื่องมือที่ทำให้เราสามารถเลือกนำ Generative AI model มารันทำงานบนเครื่องของเราได้โดยตรง ไม่ต้องมีการสมัครสมาชิกอะไรทั้งนั้น
  • Foundry Local จึงเหมาะสำหรับการนำไปใช้งานในโปรเจคที่ต้องการเรื่องของ Data Privacy หรือกังวลเรื่องของ Security ในการนำข้อมูลไปประมวลผลบนระบบ Cloud อย่าง Azure OpenAI Service
  • Model ที่รันด้วย Foundry Local สามารถเรียกใช้งานผ่าน OpenAI API ได้เลย
  • Foundry Local มีการใช้งานพวก CPU, GPU, หรือแม้แต่ NPU (เช่น Copilot+PC ที่มี spec เหมาะสม) ตามความเหมาะสมของ Hardware ที่เรานำไปรันใช้งาน
  • แนวทางคล้ายๆ กับ Ollama ที่หลายๆ คนอาจจะคุ้นเคยครับ

1. ติดตั้ง

ตัว Foundry Local สามารถติดตั้งได้ทั้งระบบ MacOS และ Windows โดยการเปิด Terminal ขึ้นมา และรันคำสั่งด้านล่าง

Windows

winget install Microsoft.FoundryLocal

MacOS

brew tap microsoft/foundrylocal
brew install foundrylocal

2. ทดสอบดูรายการของ Model ที่สามารถติดตั้งได้

รันคำสั่งด้านล่างใน Terminal เพื่อแสดงรายชื่อของ Model ที่สามารถสั่งนำมาใช้งาน

foundry model list

จะเห็นผลการทำงานประมาณด้านล่าง ซึ่งตอนที่พลใช้งาน จะมี model Phi-4, Mistral, และ Deepseek-r1 แล้ว

🟢 Service is Started on http://localhost:5273, PID 3942!
Alias                          Device     Task               File Size    License      Model ID            
-----------------------------------------------------------------------------------------------
phi-4                          GPU        chat-completion    8.37 GB      MIT          Phi-4-generic-gpu   
                               CPU        chat-completion    10.16 GB     MIT          Phi-4-generic-cpu   
--------------------------------------------------------------------------------------------------------
mistral-7b-v0.2                GPU        chat-completion    4.07 GB      apache-2.0   mistralai-Mistral-7B-Instruct-v0-2-generic-gpu
                               CPU        chat-completion    4.07 GB      apache-2.0   mistralai-Mistral-7B-Instruct-v0-2-generic-cpu

👆ลองสังเกตดูนะครับ ว่า model แต่ละตัวก็ต้องการพื้นที่ในการเก็บพอตัวเลยทีเดียว

3. ดาวน์โหลด และรัน model ด้วย Foundry Local

ในที่นี้ เราจะลองเอา phi-4-mini มารันผ่าน Foundry Local กัน โดยการรันคำสั่งด้านล่างเพื่อ download และรัน model ไว้ใช้งาน

foundry model run phi-4-mini

ก็จะสามารถเห็นสถานะการทำงาน โดยสามารถรับ prompt ทดสอบการทำงานได้

Downloading model...
[####################################] 100.00 % [Time remaining: about 0s]        58.0 MB/s
🕔 Loading model... 
🟢 Model Phi-4-mini-instruct-generic-gpu loaded successfully

Interactive Chat. Enter /? or /help for help.

Interactive mode, please enter your prompt
> 

4. ทดสอบใช้โค้ด

ในที่นี้เราจะใช้ภาษา python ในการเรียกใช้งาน model ครับ โดยเริ่มจากการติดตั้ง package ก่อน

pip install foundry-local-sdk
pip install openai

จากนั้นทดสอบรัน code python ด้านล่างครับ

import openai
from foundry_local import FoundryLocalManager

# กำหนดชื่อ model name
model_name = "phi-4-mini"

# สร้าง FoundryLocalManager instance โดยกระบวนการนี้จะเป็นการเริ่มการทำงานของ Foundry local service บนเครื่อง 
# และถ้ายังไม่มี model ตามชื่อที่กำหนดก็จะมีการดาวน์โหลดมา ณ จุดนี้ 
manager = FoundryLocalManager(model_name)


# ใช้ตัว client ของ OpenAI ในการเชื่อมไปที่ Foundry Local
client = openai.OpenAI(
    base_url=manager.endpoint,
    api_key=manager.api_key  
)

# ใช้ OpenAI API ส่งข้อความ prompt ไปยัง model ที่ทำงานผ่าน Foundry Local
stream = client.chat.completions.create(
    model=manager.get_model_info(model_name).id,
    messages=[{"role": "user", "content": "สวัสดี"}],
    stream=True
)

# แสดงข้อความจาก stream 
for chunk in stream:
    if chunk.choices[0].delta.content is not None:
        print(chunk.choices[0].delta.content, end="", flush=True)

บันทึกเป็นไฟล์ app.py และใช้คำสั่งด้านล่างในการทดสอบการทำงาน

python app.py

ก็จะเห็นการทำงานตอบกลับครับ

สรุป

จะเห็นว่า Foundry Local สร้างมาเพื่ออำนวยความสะดวกในการนำ SLM มารันบนเครื่อง และให้เป็นส่วนหนึ่งของ Generative AI Solution ที่ต้องการแบ่งส่วนการทำงานมาไว้บนเครื่องที่เราจัดเตรียมไว้นั่นเอง ถ้าสนใจสามารถติดตามคลิป และอัพเดตใหม่ๆ ผ่านช่องทางต่างๆ ของพลได้ครับ และไปดู Repo ได้ที่นี่ครับ

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

  • เข้าใจง่าย ใช้ได้จริง ออกแบบการสอนอย่างเข้าใจโดยโค้ชพล
  • มีคอร์สสำหรับคนใช้งานทั่วไป จนถึงเรียนรู้เพื่อใช้งานในสายอาชีพขั้นสูง
  • ทุกคอร์สมีใบประกาศณียบัตรรับรองหลังเรียนจบ

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save