FFenceLilt
พื้นที่เขียนโค้ดด้วย AI

แยกบล็อกแบ็กทิกแบบจำกัด

แยกบล็อกแบ็กทิกสามตัวที่คอลัมน์ศูนย์จากข้อความไม่เกิน 4096 ตัวอักษรพร้อมป้ายภาษา ASCII ที่เลือกได้.

● ● ●FenceLilt●
ขั้นตอนการทำงาน · แยกบล็อกแบ็กทิกแบบจำกัด ×
import re

def fenced_blocks(text):
    if type(text) is not str or len(text) > 4096:
        raise ValueError("fence.input")
    blocks, body, language = [], None, None
    for line in text.splitlines():
        if body is None:
            opening = re.fullmatch(r"```([A-Za-z0-9_-]*)", line)
            if opening:
                body, language = [], opening[1]
        elif line == "```":
            blocks.append((language, "\n".join(body)))
            body = None
        else:
            body.append(line)
    if body is not None:
        raise ValueError("fence.unclosed")
    return blocks
✳แยกบล็อกแบ็กทิกแบบจำกัด
✓ การเปลี่ยนแปลงตรวจสอบก่อนนำไปใช้ ↗
ภาพประกอบพื้นที่ทำงาน
  1. โมเดล

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

  2. โปรเจกต์

    ทดสอบบล็อกว่างและบรรทัดใหม่ที่ปรับรูปแบบ ปฏิเสธบล็อกไม่ปิดและปล่อย Markdown แบบอื่นไว้โดยไม่ตีความหรือรันโค้ด.

  3. ตรวจสอบก่อนนำไปใช้

    เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม

ขั้นตอนการทำงาน

แยกบล็อกแบ็กทิกแบบจำกัด

ขั้นตอนการทำงาน ↗
ขั้นตอนการทำงาน
import re

def fenced_blocks(text):
    if type(text) is not str or len(text) > 4096:
        raise ValueError("fence.input")
    blocks, body, language = [], None, None
    for line in text.splitlines():
        if body is None:
            opening = re.fullmatch(r"```([A-Za-z0-9_-]*)", line)
            if opening:
                body, language = [], opening[1]
        elif line == "```":
            blocks.append((language, "\n".join(body)))
            body = None
        else:
            body.append(line)
    if body is not None:
        raise ValueError("fence.unclosed")
    return blocks
พื้นที่เขียนโค้ดด้วย AI

แยกข้อกำหนดการดึงข้อมูลออกจากการรัน

FenceLilt มีพื้นที่ทำงานเขียนโค้ดด้วย AI บน Windows สำหรับผู้พัฒนาคุณสมบัติประมวลผลข้อความขนาดเล็กที่ตั้งใจจำกัดกฎอินพุต เปิดโปรเจกต์และอธิบายว่าคุณสมบัติควรรับรู้อะไร ปล่อยอะไรไว้ และรายงานอินพุตไม่ครบอย่างไร จากนั้นโมเดลที่เชื่อมต่อจึงตรวจซอร์สและเสนอการแก้ตามขอบเขตได้

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

หลังตรวจแพตช์ รันชุดทดสอบผลตรงตัวในโปรเจกต์ รวมรูปแบบไม่รองรับที่ต้องไม่เผลอตีความใหม่ ตรวจขีดจำกัดขนาดและการจัดการข้อผิดพลาดควบคู่การดึงสำเร็จ สำหรับ AI ให้ตั้งค่าปลายทางที่รองรับแบบเข้ากันได้กับ OpenAI หรือ Anthropic พร้อมข้อมูลรับรองเมื่อจำเป็น เลือกโมเดลแบบไม่จำกัดได้หากบริการมีให้ ส่วนความจุบริบทและเครื่องมือขึ้นกับเซิร์ฟเวอร์ เซสชันที่มีประโยชน์จบด้วยการแก้ไขที่อธิบายภาษาที่รับและพฤติกรรมล้มเหลวได้ชัด

ตรวจคุณสมบัติดึงข้อมูลแบบจำกัด

การดึงบล็อกโค้ดหมายถึงรันเนื้อหาหรือไม่

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

รูทีนนี้ควรรับเครื่องหมายครอบ Markdown ทุกแบบหรือไม่

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

ควรจัดการบล็อกไม่ปิดอย่างไร

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

ทำไมเก็บตัวอย่างไม่รองรับไว้ในทดสอบ

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

ดาวน์โหลดสำหรับ Windows ↗

FenceLilt · อัปเดต 2026-10-25