Knowledge Pipeline în Dify: baze de cunoștințe personalizate în Dify: fluxuri agentice, Knowledge și self-hosting

RAG și Baze de Cunoștințe Dify 1.18.0 (octombrie 2026)

Knowledge Pipeline (din Dify 1.9.0, septembrie 2025) este un flux vizual pentru ingestia documentelor: sursă de date, extragere, chunking și nodul Knowledge Base, construit de la zero, dintr-un șablon sau importat din DSL.

Sintaxă & invocare
Knowledge → Create → Build a custom knowledge base → Data Source → Extractor → Chunker → Knowledge Base → Publish

Dify 1.9.0 (22 septembrie 2025) a introdus Knowledge Pipeline: în locul setărilor fixe ale unei baze de cunoștințe ready-to-use, construiești pe un canvas fluxul care transformă datele brute într-o bază de cunoștințe. Pașii sunt Data Source → extragere → procesare (chunking) → nodul Knowledge Base, plus câmpuri de intrare pentru cei care încarcă documente, apoi testare și publicare.

Pornești din Knowledge › Create › Build a custom knowledge base, cu trei variante: Blank Knowledge Pipeline, un șablon sau importul unui fișier DSL. Șabloanele încorporate sunt General Mode-ECO, Parent-child-HQ, Simple Q&A, LLM Generated Q&A și Convert to Markdown (pentru DOCX, XLSX, PPTX; nerecomandat pentru PDF). Pipeline-urile publicate de tine pot deveni șabloane proprii (Customized).

Sursele de date sunt de patru tipuri: încărcare de fișiere (implicit 20 de fișiere pe încărcare, 15 MB pe fișier), documente online (Notion), crawler web (Jina Reader, Firecrawl) și stocare online (de exemplu Google Drive, Dropbox, OneDrive), iar Marketplace adaugă altele prin pluginuri Data Source. Pentru extragere ai Doc Extractor, Dify Extractor sau pluginuri precum Unstructured (strategii auto, hi_res, fast, OCR-only). Chunker-ele sunt General, Parent-child și QA (perechi întrebare-răspuns din CSV sau Excel). Nodul Knowledge Base fixează structura chunk-urilor, metoda de indexare și căutarea. După publicare, structura chunk-urilor nu se mai poate schimba.

Concepte cheie și caracteristici

Concept / Parametru Descriere practică
General Mode-ECO Chunk-uri General, indexare Economical, index inversat.
Parent-child-HQ Chunk-uri părinte-copil, High Quality, căutare hibridă.
Simple Q&A / LLM Generated Q&A Structură întrebare-răspuns, High Quality, căutare vectorială; prima din tabele, a doua cu perechi generate de un LLM.
Convert to Markdown Pentru fișiere Office (DOCX, XLSX, PPTX), convertite în Markdown; Parent-child, hibrid cu Weighted Score.
Data Source File Upload, Online Document, Web Crawler, Online Drive. Autorizarea se face o dată, din Authorize Data Source.
Doc Extractor / Dify Extractor / Unstructured Transformă fișierele în text; extractorul poate extrage și imaginile, atașate chunk-urilor (cel mult 10 pe chunk).
General Chunker Delimitator, lungime maximă în caractere, suprapunere în caractere; preprocesare (spații, URL-uri, e-mailuri).
Parent-child Chunker Chunk-uri copil scurte pentru potrivire și chunk-uri părinte mai mari trimise LLM-ului ca context.
Knowledge Base (nod) Structura chunk-urilor, metoda de indexare și setările de căutare. Pe canvasul gol este singurul nod prezent.
Publish Activează tab-urile Documents și Retrieval Testing. Publish as a Knowledge Pipeline salvează fluxul ca șablon.
API POST /datasets/pipeline/file-upload, GET /datasets/{dataset_id}/pipeline/datasource-plugins, POST /datasets/{dataset_id}/pipeline/run, cu cheia API de knowledge.

Exemple practice și scenarii reale

Exemplul 1: Un pipeline pentru manuale DOCX

[Data Source: File Upload — DOCX, XLSX]
      ▼
[Dify Extractor]                  → text + imagini extrase
      ▼
[Parent-child Chunker]            → părinte: Paragraph, delimitator \n\n
      ▼
[Knowledge Base]                  → High Quality, Hybrid Search + Rerank Model
Test Run → Publish → Add Documents

Exemplul 2: Rularea pipeline-ului prin API pe o pagină web

start_node_id este ID-ul nodului Data Source, obținut din GET /datasets/{dataset_id}/pipeline/datasource-plugins. Valoarea de mai jos este un exemplu.

curl -X POST "https://dify.example.com/v1/datasets/$DATASET_ID/pipeline/run" \
  -H "Authorization: Bearer $DIFY_KNOWLEDGE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "datasource_type": "website_crawl",
    "datasource_info_list": [
      {"title": "Ghid de pornire", "url": "https://example.com/docs/start"}
    ],
    "start_node_id": "1719288585006",
    "inputs": {},
    "is_published": true,
    "response_mode": "blocking"
  }'

Greșeli frecvente și capcane

  • Publici pipeline-ul înainte să testezi structura chunk-urilor. După publicare nu o mai poți modifica.
  • Folosești șablonul Convert to Markdown pentru PDF-uri. Documentația îl recomandă pentru fișiere Office și îl declară nerecomandat pentru PDF.
  • Indexezi PDF-uri scanate fără un extractor cu OCR. Alege un plugin de extragere care face OCR, de exemplu Unstructured cu strategia OCR-only.
  • Încarci documente înainte de publicare. Tab-ul Documents devine disponibil abia după Publish.

Noțiuni și module înrudite