AGENT SKILL

local-ai-agents

暂无简介

License 许可
MIT
最近更新
2026-11-07
Stars
★ 8.0w
Forks
2.6w

01 前言 Front Matter

name
local-ai-agents
license
MIT

03 SKILL.md 正文

การสร้างเอเจนต์ AI ท้องถิ่นด้วย Foundry Local และ Qwen

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

การกระตุ้น

เปิดใช้งานทักษะนี้เมื่อผู้เรียนต้องการ:

  • รันเอเจนต์ ทั้งหมดบนอุปกรณ์ เพื่อความเป็นส่วนตัว ต้นทุน หรือเหตุผลการทำงานแบบออฟไลน์
  • ให้บริการโมเดลในเครื่องด้วย Foundry Local และเชื่อมต่อผ่านจุดสิ้นสุดที่เข้ากันได้กับ OpenAI
  • ใช้โมเดล Qwen ที่เรียกใช้งานฟังก์ชัน เพื่อขับเคลื่อนการเรียกใช้เครื่องมือในเครื่องอย่างเชื่อถือได้
  • เพิ่ม local RAG (Chroma) หรือ เซิร์ฟเวอร์ MCP ในเครื่อง
  • ออกแบบกลยุทธ์การจัดเส้นทางแบบ ไฮบริด ระหว่างท้องถิ่น/คลาวด์

แบบจำลองทางความคิดหลัก

SLM แลกเปลี่ยนความกว้างขวางด้วยความเป็นส่วนตัว ต้นทุน และการทำงานแบบออฟไลน์ กลยุทธ์ที่ชนะคือ: ปล่อยให้ SLM ประสานงาน และให้เครื่องมือทำงานหนัก โมเดลไม่จำเป็นต้อง รู้ โค้ดเบส — เพียงรู้ว่าเมื่อใดควรเรียก read_file และ search_docs ซึ่งเป็นจุดแข็งของ SLM (การตัดสินใจที่จำกัด เช่นการเลือกเครื่องมือ) และหลีกเลี่ยงจุดอ่อน (ความรู้กว้างขวาง การคิดวิเคราะห์ระยะยาวหลายขั้นตอน)

ทำไมต้องใช้ส่วนประกอบเหล่านี้

  • Foundry Local เปิดเผย จุดสิ้นสุด HTTP ที่เข้ากันได้กับ OpenAI ดังนั้นโค้ดเอเจนต์คลาวด์จะย้ายโดยเปลี่ยนแค่ base_url (และใช้คีย์ API แทนที่ในเครื่อง) นอกจากนี้ยังเลือกเวอร์ชันที่ดีที่สุดอัตโนมัติตาม CPU/GPU/NPU ของเครื่อง
  • โมเดล Qwen ถูกฝึกให้เรียกฟังก์ชันและสร้างการเรียกใช้เครื่องมือที่มีรูปแบบดีอย่างสม่ำเสมอ — นี่คือสิ่งที่เปลี่ยนโมเดล แชท ในเครื่องให้เป็น เอเจนต์ ในเครื่อง
  • Chroma ทำงานภายในกระบวนการและเก็บเวกเตอร์ไว้บนดิสก์ ทำให้กระบวนการ RAG ทั้งหมด (ฝัง → เก็บ → ดึง → วิเคราะห์) อยู่ในเครื่องทั้งหมด
  • MCP คือระบบขนส่งข้อมูล ไม่ใช่บริการคลาวด์: เซิร์ฟเวอร์ MCP สามารถรันในเครื่องผ่าน stdio

สิ่งจำเป็นในการตั้งค่า

foundry model run qwen2.5-7b-instruct
foundry service status
from foundry_local import FoundryLocalManager
from openai import OpenAI

manager = FoundryLocalManager("qwen2.5-7b-instruct")
client = OpenAI(base_url=manager.endpoint, api_key=manager.api_key)  # ตัวแปรแทนที่ภายในท้องถิ่น

RAM ประมาณ 8 GB เป็นขั้นต่ำที่สมเหตุสมผล; GPU/NPU ช่วยได้แต่ไม่จำเป็นต้องมี

รูปแบบสำคัญที่ควรทำซ้ำ

ชี้ผู้เรียนไปที่สมุดงาน 17-local-agent-foundry-local.ipynb:

  • เครื่องมือแบบจำกัดบริบท: เครื่องมือไฟล์แต่ละตัวจะตรวจสอบเส้นทางและปฏิเสธทุกอย่างนอกโฟลเดอร์โครงการเดียว — แม้ในเครื่อง เครื่องมือจะทำงานด้วยสิทธิ์ของผู้ใช้
  • ลูปเรียกใช้เครื่องมือ: ลงทะเบียนเครื่องมือด้วยสคีมาของ OpenAI เรียกใช้งานเครื่องมือที่ร้องขอในเครื่อง นำผลลัพธ์กลับมา ทำซ้ำจนได้คำตอบสุดท้าย
  • Local RAG: เพิ่มเอกสารลงในคอลเลกชัน Chroma; search_docs คืนชิ้นส่วนที่ดีที่สุดจำนวน k
  • Local MCP: เชื่อมต่อกับเซิร์ฟเวอร์ในเครื่องผ่าน stdio; จำกัดขอบเขตให้โฟลเดอร์โครงการและตรวจสอบผลลัพธ์ที่ได้

การจัดเส้นทางแบบไฮบริด (ใช้ท้องถิ่นเป็นหนึ่งในโมเดล)

สถานการณ์ ที่ที่รัน
ข้อมูลที่ละเอียดอ่อน / ออฟไลน์ SLM ท้องถิ่น
งานง่ายที่จำกัด SLM ท้องถิ่น (ราคาถูก เร็ว)
การวิเคราะห์หลายขั้นตอนที่ซับซ้อนกับข้อมูลที่ไม่ละเอียดอ่อน โมเดลคลาวด์
คลาวด์ล่ม SLM ท้องถิ่น (เสถียรภาพแบบลดระดับ)

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

แนวทางจำกัดสำหรับผู้ช่วย

  • จำกัดการดำเนินการไฟล์/เครื่องมือแต่ละรายการในโฟลเดอร์โครงการที่ถูกจำกัด
  • ห้ามส่งโค้ดหรือข้อมูลไปคลาวด์เมื่อเป้าหมายของผู้เรียนเน้นความเป็นส่วนตัว/ออฟไลน์ — รักษากระบวนการทั้งหมดให้อยู่ในเครื่อง
  • ตั้งความคาดหวังที่สมจริงเกี่ยวกับคุณภาพของ SLM; พึ่งพาเครื่องมือและ RAG มากกว่าความรู้ที่จำในโมเดล
  • ให้สังเกตว่าบทที่ 17 ไม่มีจุดสิ้นสุด Foundry Responses ดังนั้นการทดสอบแบบคลาวด์จึงไม่เหมาะสม — ตรวจสอบโดยรันสมุดงานในเครื่อง

<!-- CO-OP TRANSLATOR DISCLAIMER START --> ปฏิเสธความรับผิดชอบ: เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator ขณะที่เราพยายามให้ความถูกต้อง โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางควรถูกพิจารณาเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ แนะนำให้ใช้การแปลโดยมนุษย์มืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดที่เกิดขึ้นจากการใช้การแปลนี้ <!-- CO-OP TRANSLATOR DISCLAIMER END -->

04 同仓库更多 Skills