FFenceLilt
Spațiu de programare cu AI

Extragerea limitată a blocurilor cu accente grave

Extrage blocuri cu trei accente grave în coloana zero din texte de cel mult 4096 de caractere cu etichetă ASCII opțională.

● ● ●FenceLilt●
Fluxuri de lucru · Extragerea limitată a blocurilor cu accente grave ×
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
✳Extragerea limitată a blocurilor cu accente grave
✓ ModificăriVerifică înainte de aplicare ↗
Ilustrarea spațiului de lucru
  1. Modele

    Configurează un endpoint compatibil OpenAI sau Anthropic cu URL-ul de bază și cheia API, dacă este necesară. Testează conexiunea. Serverul local trebuie să ruleze; instrumentele externe pot transmite date separat.

  2. Proiect

    Testează blocuri goale și linii normalizate, respinge blocurile neînchise și lasă alte forme Markdown neinterpretate fără execuție.

  3. Verifică înainte de aplicare

    Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.

Fluxuri de lucru

Extragerea limitată a blocurilor cu accente grave

Fluxuri de lucru ↗
Fluxuri de lucru
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
Spațiu de programare cu AI

Separă contractul extragerii de execuție

FenceLilt oferă un spațiu de lucru Windows pentru programare cu IA, destinat dezvoltatorilor care construiesc mici funcții de procesare a textului cu reguli de intrare limitate deliberat. Deschide proiectul și descrie ce trebuie funcția să recunoască, ce trebuie să lase neatins și cum trebuie să raporteze intrarea incompletă. Modelul conectat poate apoi examina sursa și propune o modificare în raport cu aceste limite.

Extragerea blocurilor de cod delimitate oferă o sarcină concretă. Folosește regulile exemplului existent pentru marcatori și etichetele limbajelor ca să discuți formele acceptate, inclusiv blocuri goale și întreruperi de linie. Cere asistentului să explice cum tratează parserul propus un bloc neînchis înainte să examinezi implementarea. Corpul extras este text; alegerea de a executa ceva din el ar fi o funcție diferită, cu alte cerințe.

Rulează cazuri de test cu ieșire exactă în proiect după examinarea corecției și include forme neacceptate care nu trebuie reinterpretate accidental. Examinează limita de dimensiune și tratarea erorilor împreună cu extragerea reușită. Pentru asistență IA, configurează un endpoint acceptat compatibil cu OpenAI sau Anthropic, cu credențiale când sunt necesare. Poți selecta un model fără restricții dacă serviciul îl furnizează, iar capacitatea contextului și disponibilitatea instrumentelor depind de server. O sesiune utilă se încheie cu o modificare ale cărei limbaj acceptat și comportament la eroare le poți descrie clar.

Verificarea unei funcții de extragere restrânse

Înseamnă extragerea unui bloc de cod și executarea conținutului său?

Nu. Această sarcină returnează text conform unui contract definit al marcatorilor. Separă orice decizie ulterioară de execuție de extragere și examinează codul ulterior, astfel încât tratarea corpului returnat să nu invoce neașteptat comenzi și să nu evalueze cod sursă.

Ar trebui această rutină să accepte orice stil de bloc delimitat Markdown?

Exemplul existent acceptă intenționat o formă restrânsă. Enumeră marcatorii și etichetele necesare aplicației, apoi verifică-le explicit. Extinderea la alte forme Markdown schimbă cerințele; nu este o consecință automată a simplificării parserului.

Cum trebuie tratat un bloc neînchis?

Precizează dacă intrarea incompletă este respinsă înainte să implementezi modificarea. Sarcina ilustrată o respinge. Include un caz de test care ajunge la sfârșit cu un bloc încă deschis și verifică dacă apelantul prezintă corespunzător rezultatul.

De ce să păstrez exemple neacceptate în teste?

Ele arată unde se oprește funcția. O expresie sugerată de model poate recunoaște accidental forme suplimentare, schimbând comportamentul fără o eroare evidentă. Verifică împreună textul acceptat și cel lăsat neatins, astfel încât implementarea să păstreze limita dorită.

Descarcă pentru Windows ↗

FenceLilt · Actualizat 2026-10-25