MCP Academy · บทเรียน

สร้างเนื้อหาเมื่อมีการอ่าน

คำนวณเนื้อหาของทรัพยากรเมื่อมีการร้องขอ

บทเรียน 2 จาก 413 ขั้นตอน

สร้างเนื้อหาเมื่อมีการอ่าน เป็นบทเรียน MCP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน MCP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน

ประเมินเมื่อจำเป็น ไม่ใช่ล่วงหน้า

ทรัพยากรแบบไดนามิกไม่ได้เก็บเนื้อหาตายตัว เนื้อหาจะถูก คำนวณเมื่อมีการร้องขอ เฉพาะเมื่อไคลเอนต์ขออ่านจริงเท่านั้น ⚡

การอ่านเป็นตัวเริ่มการทำงาน

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

ส่งคืนเนื้อหา

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

@mcp.resource("time://now")
def now() -> str:
    return datetime.now().isoformat()

ใหม่ทุกครั้งที่อ่าน

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

ใช้ตัวแปรของ URI

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

@mcp.resource("greeting://{name}")
def greet(name: str) -> str:
    return f"Hello, {name}!"

ดึงข้อมูลจากที่ใดก็ได้

ขณะอ่าน คุณสามารถทำงานจริงได้ เช่น สอบถามฐานข้อมูล เรียกใช้ API หรืออ่านไฟล์ ผลลัพธ์ ของงานนั้นคือสิ่งที่คุณส่งคืนเป็นเนื้อหา

@mcp.resource("stats://summary")
def summary() -> str:
    return db.fetch_summary()

ใช้แบบอะซิงโครนัสเมื่อต้องรอ

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

@mcp.resource("feed://latest")
async def latest() -> str:
    return await fetch_feed()

กำหนดรูปแบบข้อความที่ส่งคืน

คุณเป็นผู้กำหนดรูปแบบของเนื้อหา การส่งคืน ข้อความ JSON เป็นวิธีที่ใช้กันทั่วไปเมื่อโมเดลต้องการข้อมูลแบบมีโครงสร้างที่นำไปให้เหตุผลได้อย่างเป็นระเบียบ

import json

def report() -> str:
    return json.dumps({"ok": True})

ทำให้รวดเร็ว

การอ่านควรรู้สึกว่าตอบสนองไว หากงานใช้เวลามาก ให้ แคช ผลลัพธ์ เพื่อไม่ต้องคำนวณซ้ำที่มีค่าใช้จ่ายสูงทุกครั้งที่อ่าน

จัดการข้อมูลที่หายไป

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

def get_doc(doc_id: str) -> str:
    if doc_id not in store:
        raise ValueError("not found")
    return store[doc_id]

เหตุผลที่เรื่องนี้สำคัญ

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

ตรวจสอบความเข้าใจอย่างรวดเร็ว

เนื้อหาของทรัพยากรแบบไดนามิกถูกสร้างขึ้นเมื่อใด

ทบทวน

คุณได้เห็นว่าการส่งคืนค่าจากฟังก์ชันทรัพยากร สร้างเนื้อหาเมื่อมีการอ่าน ทำให้โมเดลได้รับข้อมูลที่คำนวณใหม่ทุกครั้ง ต่อไป: ทรัพยากรแบบแสดงรายการเทียบกับทรัพยากรแบบใช้แม่แบบ 🚀

เริ่มต้นได้ฟรี

เรียนรู้ Python ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

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

บทเรียน “สร้างเนื้อหาเมื่อมีการอ่าน” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “สร้างเนื้อหาเมื่อมีการอ่าน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MCP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “สร้างเนื้อหาเมื่อมีการอ่าน”

คำนวณเนื้อหาของทรัพยากรเมื่อมีการร้องขอ คุณปฏิบัติ MCP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MCP Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน MCP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “สร้างเนื้อหาเมื่อมีการอ่าน” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน MCP Academy นี้ได้ไหม

ได้ บทเรียน MCP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. URI ทรัพยากรที่กำหนดพารามิเตอร์
  2. สร้างเนื้อหาเมื่อมีการอ่าน
  3. ทรัพยากรแบบรายการกับแบบแม่แบบ
  4. แจ้งไคลเอ็นต์เมื่อมีการอัปเดต
← กลับไปที่ MCP Academy