Reference REST API Procurize.AI#

Programově přistupujte k vaší znalostní bázi – dokumentům, dotazníkům, RAG a reportům – pomocí vašeho API tokenu.

Platí pro: Procurize.AI API v1
Autentizace: API klíč v hlavičce X-API-Key (viz API Tokens pro správu tokenů)
Základní URL: https://api.procurize.com

Přehled#

REST API Procurize.AI poskytuje programový přístup k hlavním funkcím platformy. Umožňuje integrovat Procurize.AI s vašimi interními systémy, automatizovat správu znalostní báze a vytvářet vlastní pracovní postupy.

Podporované moduly (autentizace tokenem):

Autentizace#

Všechny koncové body vyžadující autentizaci potřebují API token předaný v hlavičce požadavku.

HlavičkaHodnota
X-API-Key<VÁŠ_API_TOKEN>

Příklad:

curl -X GET "https://api.procurize.com/v1/..." \
  -H "X-API-Key: your-api-token-here"

💡 Tokeny jsou svázány s vaší organizací – není nutné v požadavku uvádět ID organizace.

Základní URL#

Všechny koncové body REST API jsou dostupné pod:

https://api.procurize.com

Zpracování chyb#

API používá standardní HTTP stavové kódy.

KódVýznam
200 OKPožadavek úspěšný
201 CreatedZdroj úspěšně vytvořen
204 No ContentPožadavek úspěšný, tělo odpovědi prázdné
400 Bad RequestNeplatné parametry nebo špatně formovaný požadavek
401 UnauthorizedChybějící nebo neplatný API token
403 ForbiddenToken nemá oprávnění pro tuto akci
404 Not FoundZdroj neexistuje
500 Internal Server ErrorNeočekávaná chyba serveru

Odpovědi na chyby obsahují strojově čitelný kód chyby a lidsky čitelnou zprávu.

Reference modulů#

RagArticle#

GET /questionnaire/rag/articles/summary#

Shrnutí: Souhrn pro domovskou stránku

Parametry:

NázevUmístěníTypPovinnéPopis
projquerystring (uuid)NeID projektu.

Odpověď (200):

{
  "active": 5
}

GET /questionnaire/rag/articles/total#

Shrnutí: Počet článků

Parametry:

NázevUmístěníTypPovinnéPopis
qquerystringNeFiltr na název nebo kód článku.
statequeryarrayNeFiltr na stavy.
projectqueryarrayNeFiltr na projekty.
typequeryarrayNeFiltr na typy dokumentů.

Odpověď (200):

42

GET /questionnaire/rag/articles/list#

Shrnutí: Získat seznam článků

Parametry:

NázevUmístěníTypPovinnéPopis
qquerystringNeFiltr na název nebo kód článku.
statequeryarrayNeFiltr na stavy.
projectqueryarrayNeFiltr na projekty.
typequeryarrayNeFiltr na typy dokumentů.
squerystringNePole pro řazení.
ascquerybooleanNeVzestupné řazení.
psqueryinteger (int32)NeVelikost stránky.
pqueryinteger (int32)NeČíslo stránky (od 1).

Odpověď (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 42,
    "totalPages": 5
  },
  "items": [
    {
      "code": "ART-001",
      "org": "00000000-0000-0000-0000-000000000000",
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "Název článku",
      "description": "Popis článku",
      "documentTypes": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "name": "Název typu",
          "plural": "Názvy typů",
          "count": 5
        }
      ],
      "size": 150,
      "revision": {
        "id": "00000000-0000-0000-0000-000000000000",
        "collectionId": "00000000-0000-0000-0000-000000000000",
        "rev": 3,
        "date": "2025-01-15T10:30:00Z",
        "author": {
          "id": "user123",
          "name": "John Doe",
          "email": "john.doe@example.com",
          "login": "johndoe",
          "ra": true
        },
        "authorName": "John Doe",
        "analysisSummary": {
          "id": "00000000-0000-0000-0000-000000000000",
          "initiator": {
            "id": "user123",
            "name": "John Doe",
            "email": "john.doe@example.com",
            "login": "johndoe",
            "ra": true
          },
          "created": "2025-01-15T10:30:00Z",
          "state": "Completed",
          "stateDate": "2025-01-15T10:35:00Z",
          "stateDetails": "Analysis completed successfully",
          "operationId": "op-12345"
        }
      },
      "type": "Article",
      "state": "Active",
      "projects": [
        "00000000-0000-0000-0000-000000000000"
      ],
      "items": [
        "00000000-0000-0000-0000-000000000000"
      ],
      "isShared": false
    }
  ]
}

POST /questionnaire/rag/file-to-md#

Shrnutí: Vrátí obsah Markdownu ze souboru

Tělo požadavku (multipart/form-data):

{
  "url": "https://example.com/file.pdf",
  "file": "binary"
}

Odpověď (200):

"Markdown content from file"

POST /questionnaire/rag/article/create#

Shrnutí: Vytvořit článek

Tělo požadavku (multipart/form-data):

{
  "code": "ART-001",
  "name": "Název článku",
  "description": "Popis článku",
  "content": "# Obsah článku\n\nToto je obsah článku.",
  "url": "https://example.com/file.pdf",
  "file": "binary"
}

Odpověď (200):

{
  "code": "ART-001",
  "org": "00000000-0000-0000-0000-000000000000",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "Název článku",
  "description": "Popis článku",
  "documentTypes": null,
  "size": 150,
  "revision": null,
  "type": "Article",
  "state": "Active",
  "projects": null,
  "items": null,
  "isShared": false
}

GET /questionnaire/rag/article/check#

Shrnutí: Zkontrolovat existenci článku.

Parametry:

NázevUmístěníTypPovinnéPopis
codequerystringAnoKód článku.

Odpověď (200):

true

GET /questionnaire/rag/article-info#

Shrnutí: Získat informace o článku podle kódu.

Parametry:

NázevUmístěníTypPovinnéPopis
codequerystringAnoKód článku.

Odpověď (200):

{
  "code": "ART-001",
  "org": "00000000-0000-0000-0000-000000000000",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "Název článku",
  "description": "Popis článku",
  "documentTypes": null,
  "size": 150,
  "revision": null,
  "type": "Article",
  "state": "Active",
  "projects": null,
  "items": null,
  "isShared": false
}

GET /questionnaire/rag/article#

Shrnutí: Získat obsah článku podle kódu

Parametry:

NázevUmístěníTypPovinnéPopis
codequerystringAnoKód článku.
formatquerystringNePokud je true, vrátí HTML obsah v těle odpovědi. Jinak vrátí obsah článku ve formátu Markdown.
splitquerybooleanNePokud je true, vrátí obsah rozdělený podle RAG elementů.
cssquerybooleanNePokud je true, vrátí HTML/PDF obsah s CSS.

Odpověď (200):

"# Název článku\n\nToto je obsah článku ve formátu Markdown."

POST /questionnaire/rag/article#

Shrnutí: Aktualizovat metadata článku

Tělo požadavku:

{
  "code": "ART-001",
  "name": "Aktualizovaný název článku",
  "description": "Aktualizovaný popis",
  "projects": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "documentTypes": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "Název typu",
      "plural": "Názvy typů"
    }
  ],
  "isShared": true,
  "state": "Active"
}

Odpověď (200):

{}

DELETE /questionnaire/rag/article#

Shrnutí: Smazat článek

Parametry:

NázevUmístěníTypPovinnéPopis
codequerystringAnoKód článku.

GET /questionnaire/rag/article/pdf#

Shrnutí: Získat článek jako PDF podle kódu

Parametry:

NázevUmístěníTypPovinnéPopis
codequerystringAnoKód článku.

Odpověď (200):

(pdf binary)

GET /questionnaire/rag/article/content#

Shrnutí: Získat obsah článku

Parametry:

NázevUmístěníTypPovinnéPopis
codequerystringAnoKód článku.

Odpověď (200):

{
  "content": "# Název článku\n\nObsah zde."
}

POST /questionnaire/rag/article/content#

Shrnutí: Aktualizovat obsah článku

Tělo požadavku (multipart/form-data):

{
  "code": "ART-001",
  "content": "# Aktualizovaný obsah",
  "file": "binary"
}

POST /questionnaire/rag/plural#

Shrnutí: Získat množný tvar podstatného jména

Parametry:

NázevUmístěníTypPovinnéPopis
nounquerystringNePodstatné jméno, které se má množnit.

Odpověď (200):

{
  "plural": "Articles"
}

POST /questionnaire/rag/article/find-types#

Shrnutí: Analyzovat článek pomocí AI a vrátit jejich typy

Tělo požadavku (multipart/form-data):

{
  "code": "ART-001",
  "content": "# Obsah článku"
}

Odpověď (200):

[
  {
    "plural": "Types"
  }
]

POST /questionnaire/rag/article/format-with-ai#

Shrnutí: Naformátovat obsah článku pomocí AI

Tělo požadavku (multipart/form-data):

{
  "code": "ART-001",
  "content": "# Obsah článku"
}

Odpověď (200):

{
  "formattedContent": "# Formatted Article Content"
}

POST /questionnaire/rag/article/improve-on-suggestions#

Shrnutí: Vylepšit dokument na základě návrhů

Tělo požadavku (multipart/form-data):

{
  "suggestions": [
    {
      "sectionTitle": "Úvod",
      "suggestion": "Přidejte zde více detailů."
    }
  ],
  "code": "ART-001",
  "content": "# Obsah článku"
}

Odpověď (200):

{
  "improvedContent": "# Improved Content"
}

GET /questionnaire/rag/article/parts#

Shrnutí: Vrací seznam částí článku

Parametry:

NázevUmístěníTypPovinnéPopis
idqueryarrayAnoSeznam částí článku.

Odpověď (200):

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "code": "part-1",
    "title": "Úvod",
    "orderNumber": 1,
    "content": "Obsah úvodu."
  }
]

GET /questionnaire/rag/article/revisions#

Shrnutí: Vrací seznam revizí článku

Parametry:

NázevUmístěníTypPovinnéPopis
codequerystringAnoKód článku.

Odpověď (200):

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "collectionId": "00000000-0000-0000-0000-000000000000",
    "rev": 1,
    "date": "2025-01-15T10:30:00Z",
    "author": {
      "id": "user123",
      "name": "John Doe",
      "email": "john.doe@example.com",
      "login": "johndoe",
      "ra": true
    },
    "authorName": "John Doe",
    "analysisSummary": {
      "id": "00000000-0000-0000-0000-000000000000",
      "initiator": {
        "id": "user123",
        "name": "John Doe",
        "email": "john.doe@example.com",
        "login": "johndoe",
        "ra": true
      },
      "created": "2025-01-15T10:30:00Z",
      "state": "Completed",
      "stateDate": "2025-01-15T10:35:00Z",
      "stateDetails": "Analysis completed",
      "operationId": "op-12345"
    }
  }
]

GET /questionnaire/rag/article/revisions/info/{id}#

Shrnutí: Získat informace o revizi článku

Parametry:

NázevUmístěníTypPovinnéPopis
idpathstring (uuid)AnoID revize.

Odpověď (200):

{
  "id": "00000000-0000-0000-0000-000000000000",
  "collectionId": "00000000-0000-0000-0000-000000000000",
  "rev": 1,
  "date": "2025-01-15T10:30:00Z",
  "author": {
    "id": "user123",
    "name": "John Doe",
    "email": "john.doe@example.com",
    "login": "johndoe",
    "ra": true
  },
  "authorName": "John Doe",
  "analysisSummary": {
    "id": "00000000-0000-0000-0000-000000000000",
    "initiator": {
      "id": "user123",
      "name": "John Doe",
      "email": "john.doe@example.com",
      "login": "johndoe",
      "ra": true
    },
    "created": "2025-01-15T10:30:00Z",
    "state": "Completed",
    "stateDate": "2025-01-15T10:35:00Z",
    "stateDetails": "Analysis completed",
    "operationId": "op-12345"
  }
}

GET /questionnaire/rag/article/revisions/{id}#

Shrnutí: Získat obsah revize článku

Parametry:

NázevUmístěníTypPovinnéPopis
idpathstring (uuid)AnoID revize.

Odpověď (200):

"# Obsah revize článku\n\nPředchozí verze."

GET /questionnaire/rag/article/analyze#

Shrnutí: Analyzovat obsah článku pomocí AI

Parametry:

NázevUmístěníTypPovinnéPopis
codequerystringAnoKód článku.
revqueryinteger (int32)NeČíslo revize.
forcequerybooleanNeVynutit vytvoření nové analýzy a smazat předchozí neúplný výsledek, pokud existuje.

Odpověď (200):

{
  "id": "00000000-0000-0000-0000-000000000000",
  "initiator": {
    "id": "user123",
    "name": "John Doe",
    "email": "john.doe@example.com",
    "login": "johndoe",
    "ra": true
  },
  "created": "2025-01-15T10:30:00Z",
  "state": "Completed",
  "stateDate": "2025-01-15T10:35:00Z",
  "stateDetails": "Analysis completed",
  "operationId": "op-12345"
}

GET /questionnaire/rag/article/analyze/{id}#

Shrnutí: Získat výsledek analýzy článku

Parametry:

NázevUmístěníTypPovinnéPopis
idpathstring (uuid)AnoID analýzy.

Odpověď (200):

{
  "id": "00000000-0000-0000-0000-000000000000",
  "initiator": {
    "id": "user123",
    "name": "John Doe",
    "email": "john.doe@example.com",
    "login": "johndoe",
    "ra": true
  },
  "created": "2025-01-15T10:30:00Z",
  "state": "Completed",
  "stateDate": "2025-01-15T10:35:00Z",
  "stateDetails": "Analysis completed",
  "operationId": "op-12345",
  "fragments": [
    "fragment-1",
    "fragment-2"
  ],
  "ownInconcies": "Own inconsistencies found",
  "ragInconcies": "RAG inconsistencies found",
  "proposals": "Improvement proposals"
}

GET /questionnaire/rag/messages/list#

Shrnutí: Seznam všech zpráv

Parametry:

NázevUmístěníTypPovinnéPopis
idquerystring (uuid)AnoID RAG kolekce.
itemquerystring (uuid)NeID RAG položky.
messagequerystring (uuid)NeID zprávy.
ascquerybooleanNeVzestupné řazení.
psqueryinteger (int32)NeVelikost stránky.
pqueryinteger (int32)NeČíslo stránky (od 1).

Odpověď (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 5,
    "totalPages": 1
  },
  "items": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "replyTo": null,
      "questionnaire": null,
      "section": null,
      "question": null,
      "ragCollection": "00000000-0000-0000-0000-000000000000",
      "ragItem": "00000000-0000-0000-0000-000000000000",
      "targetId": "00000000-0000-0000-0000-000000000000",
      "targetType": "Question",
      "targetNum": 1,
      "author": {
        "id": "user123",
        "name": "John Doe",
        "email": "john.doe@example.com",
        "login": "johndoe",
        "ra": true
      },
      "text": "Obsah zprávy",
      "created": "2025-01-15T10:30:00Z",
      "updated": "2025-01-15T10:30:00Z",
      "replies": 0
    }
  ]
}

POST /questionnaire/rag/messages/add#

Shrnutí: Přidat novou zprávu

Parametry:

NázevUmístěníTypPovinnéPopis
idquerystring (uuid)AnoID RAG kolekce.
itemquerystring (uuid)NeID RAG položky.
messagequerystring (uuid)NeID zprávy, na kterou odpovídáte.

Tělo požadavku:

{
  "text": "Obsah nové zprávy"
}

Odpověď (200):

{
  "id": "00000000-0000-0000-0000-000000000000",
  "replyTo": null,
  "questionnaire": null,
  "section": null,
  "question": null,
  "ragCollection": "00000000-0000-0000-0000-000000000000",
  "ragItem": "00000000-0000-0000-0000-000000000000",
  "targetId": "00000000-0000-0000-0000-000000000000",
  "targetType": "Question",
  "targetNum": 1,
  "author": {
    "id": "user123",
    "name": "John Doe",
    "email": "john.doe@example.com",
    "login": "johndoe",
    "ra": true
  },
  "text": "Obsah nové zprávy",
  "created": "2025-01-15T10:30:00Z",
  "updated": "2025-01-15T10:30:00Z",
  "replies": 0
}

POST /questionnaire/rag/message#

Shrnutí: Aktualizovat existující zprávu

Parametry:

NázevUmístěníTypPovinnéPopis
cquerystring (uuid)AnoID RAG kolekce.
idquerystring (uuid)AnoID zprávy.

Tělo požadavku:

{
  "text": "Aktualizovaný obsah zprávy"
}

Odpověď (200):

{
  "id": "00000000-0000-0000-0000-000000000000",
  "replyTo": null,
  "questionnaire": null,
  "section": null,
  "question": null,
  "ragCollection": "00000000-0000-0000-0000-000000000000",
  "ragItem": "00000000-0000-0000-0000-000000000000",
  "targetId": "00000000-0000-0000-0000-000000000000",
  "targetType": "Question",
  "targetNum": 1,
  "author": {
    "id": "user123",
    "name": "John Doe",
    "email": "john.doe@example.com",
    "login": "johndoe",
    "ra": true
  },
  "text": "Aktualizovaný obsah zprávy",
  "created": "2025-01-15T10:30:00Z",
  "updated": "2025-01-15T10:45:00Z",
  "replies": 0
}

DELETE /questionnaire/rag/message#

Shrnutí: Smazat existující zprávu

Parametry:

NázevUmístěníTypPovinnéPopis
idquerystring (uuid)AnoID zprávy.

Odpověď (200):

{}

RagFaq#

GET /questionnaire/rag/faq-collections/summary#

Shrnutí: Souhrn pro domovskou stránku

Parametry:

NázevUmístěníTypPovinnéPopis
projquerystring (uuid)NeID projektu.

Odpověď (200):

{
  "active": 3
}

GET /questionnaire/rag/faq-collections/total#

Shrnutí: Počet FAQ kolekcí.

Parametry:

NázevUmístěníTypPovinnéPopis
qquerystringNeFiltr na název nebo kód kolekce.
statequeryarrayNeFiltr na stavy.
projectqueryarrayNeFiltr na projekty.

Odpověď (200):

3

GET /questionnaire/rag/faq-collections/list#

Shrnutí: Získat seznam FAQ kolekcí.

Parametry:

NázevUmístěníTypPovinnéPopis
qquerystringNeFiltr na název nebo kód kolekce.
statequeryarrayNeFiltr na stavy.
projectqueryarrayNeFiltr na projekty.
squerystringNePole pro řazení.
ascquerybooleanNeVzestupné řazení.
psqueryinteger (int32)NeVelikost stránky.
pqueryinteger (int32)NeČíslo stránky (od 1).

Odpověď (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 3,
    "totalPages": 1
  },
  "items": [
    {
      "code": "FAQ-001",
      "org": "00000000-0000-0000-0000-000000000000",
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "FAQ Kolekce",
      "description": "Popis FAQ kolekce",
      "documentTypes": null,
      "size": 5,
      "revision": null,
      "type": "Faq",
      "state": "Active",
      "projects": null,
      "items": null,
      "isShared": false
    }
  ]
}

GET /questionnaire/rag/faq-collections/find-items#

Shrnutí: Najít FAQ položky.

Parametry:

NázevUmístěníTypPovinnéPopis
qquerystringAnoFiltr na otázku.
projectquerystring (uuid)NeFiltr na projekt.
psqueryinteger (int32)NeVelikost stránky.
pqueryinteger (int32)NeČíslo stránky (od 1).

Odpověď (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 5,
    "totalPages": 1
  },
  "items": [
    {
      "index": 0,
      "question": "Co je tento produkt?",
      "answer": "Toto je skvělý produkt.",
      "comment": "Produkt FAQ",
      "state": "Active"
    }
  ]
}

POST /questionnaire/rag/faq-collection/create#

Shrnutí: Vytvořit novou FAQ kolekci.

Tělo požadavku (multipart/form-data):

{
  "code": "FAQ-001",
  "name": "FAQ Kolekce",
  "description": "Popis FAQ kolekce",
  "content": "Obsah zde",
  "file": "binary"
}

Odpověď (200):

{
  "code": "FAQ-001",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "FAQ Kolekce",
  "description": "Popis FAQ kolekce",
  "documentTypes": null,
  "size": 5,
  "revision": null,
  "type": "Faq",
  "state": "Active",
  "projects": null,
  "items": null,
  "isShared": false
}

POST /questionnaire/rag/faq-collection#

Shrnutí: Aktualizovat metadata FAQ kolekce.

Tělo požadavku:

{
  "code": "FAQ-001",
  "name": "Aktualizovaná FAQ kolekce",
  "description": "Aktualizovaný popis",
  "projects": null,
  "documentTypes": null,
  "isShared": false,
  "state": "Active"
}

DELETE /questionnaire/rag/faq-collection#

Shrnutí: Smazat FAQ kolekci.

Parametry:

NázevUmístěníTypPovinnéPopis
codequerystringAnoKód kolekce.

GET /questionnaire/rag/faq-collection#

Shrnutí: Získat FAQ kolekci.

Parametry:

NázevUmístěníTypPovinnéPopis
codequerystringAnoKód kolekce.

Odpověď (200):

{
  "code": "FAQ-001",
  "org": "00000000-0000-0000-0000-000000000000",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "FAQ Kolekce",
  "description": "Popis FAQ kolekce",
  "documentTypes": null,
  "size": 5,
  "revision": null,
  "type": "Faq",
  "state": "Active",
  "projects": null,
  "items": null,
  "isShared": false
}

GET /questionnaire/rag/faq-collection/check#

Shrnutí: Zkontrolovat existenci FAQ kolekce.

Parametry:

NázevUmístěníTypPovinnéPopis
codequerystringAnoKód kolekce.

Odpověď (200):

true

GET /questionnaire/rag/faq-collection/items-total#

Shrnutí: Počet FAQ položek.

Parametry:

NázevUmístěníTypPovinnéPopis
codequerystringAnoKód kolekce.
qquerystringNeFiltr na obsah FAQ položky.

Tělo požadavku:

["Active", "Default"]

Odpověď (200):

5

GET /questionnaire/rag/faq-collection/items#

Shrnutí: Získat seznam FAQ položek.

Parametry:

NázevUmístěníTypPovinnéPopis
codequerystringAnoKód kolekce.
qquerystringNeFiltr na obsah FAQ položky.
statequeryarrayNeFiltr na stavy.
squerystringNePole pro řazení.
ascquerybooleanNeVzestupné řazení.
psqueryinteger (int32)NeVelikost stránky.
pqueryinteger (int32)NeČíslo stránky (od 1).

Odpověď (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 5,
    "totalPages": 1
  },
  "items": [
    {
      "index": 0,
      "question": "Co je tento produkt?",
      "answer": "Toto je skvělý produkt.",
      "comment": "Produkt FAQ",
      "state": "Active"
    }
  ]
}

POST /questionnaire/rag/faq-collection/item/create#

Shrnutí: Vytvořit novou FAQ položku.

Tělo požadavku:

{
  "code": "FAQ-001",
  "index": 0,
  "question": "Co je tento produkt?",
  "answer": "Toto je skvělý produkt.",
  "comment": "Produkt FAQ",
  "state": "Active"
}

Odpověď (200):

{
  "index": 0,
  "question": "Co je tento produkt?",
  "answer": "Toto je skvělý produkt.",
  "comment": "Produkt FAQ",
  "state": "Active"
}

GET /questionnaire/rag/faq-collection/item#

Shrnutí: Získat FAQ položku.

Parametry:

NázevUmístěníTypPovinnéPopis
codequerystringAnoKód kolekce.
indexqueryinteger (int32)AnoNulový index položky v kolekci.

Odpověď (200):

{
  "index": 0,
  "question": "Co je tento produkt?",
  "answer": "Toto je skvělý produkt.",
  "comment": "Produkt FAQ",
  "state": "Active"
}

POST /questionnaire/rag/faq-collection/item#

Shrnutí: Aktualizovat FAQ položku.

Tělo požadavku:

{
  "code": "FAQ-001",
  "index": 0,
  "newIndex": 1,
  "question": "Aktualizovaná otázka?",
  "answer": "Aktualizovaná odpověď.",
  "comment": "Aktualizovaný komentář",
  "state": "Active"
}

DELETE /questionnaire/rag/faq-collection/item#

Shrnutí: Smazat FAQ položku.

Parametry:

NázevUmístěníTypPovinnéPopis
codequerystringAnoKód kolekce.
indexqueryinteger (int32)AnoNulový index položky v kolekci.

RagQuery#

POST /questionnaire/rag/query#

Shrnutí: Provedení dotazu v RAG Knowledge Base

Tělo požadavku:

{
  "project": "00000000-0000-0000-0000-000000000000",
  "excludeCollections": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "question": "Co je tento produkt?",
  "yourCompanyName": "Acme Corp",
  "yourCompanyAlias": "Acme",
  "customerName": "John Doe",
  "options": [
    "option1",
    "option2"
  ],
  "multiselect": false,
  "nArticles": 5,
  "nFaqs": 3,
  "threshold": 0.5,
  "debug": false,
  "withJustification": true,
  "withConfidenceLevel": true,
  "withFragments": true,
  "nAttempts": 3
}

Odpověď (200):

{
  "attempt": 1,
  "preparedQuery": {
    "original": "Co je tento produkt?",
    "enhanced": "Co je tento produkt a jaké má vlastnosti?"
  },
  "ragItems": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "distance": 0.25
    }
  ],
  "question": "Co je tento produkt?",
  "generalInstructions": "Na základě znalostní báze je zde odpověď:",
  "text": "Tento produkt je skvělé řešení pro vaše potřeby.",
  "explanation": "Odpověď byla nalezena v několika zdrojích s vysokou důvěrou."
}

POST /questionnaire/rag/query-stream#

Shrnutí: Provedení dotazu v RAG Knowledge Base (stream)

Tělo požadavku:

{
  "project": "00000000-0000-0000-0000-000000000000",
  "excludeCollections": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "question": "Co je tento produkt?",
  "yourCompanyName": "Acme Corp",
  "yourCompanyAlias": "Acme",
  "customerName": "John Doe",
  "options": [
    "option1",
    "option2"
  ],
  "multiselect": false,
  "nArticles": 5,
  "nFaqs": 3,
  "threshold": 0.5,
  "debug": false,
  "withJustification": true,
  "withConfidenceLevel": true,
  "withFragments": true,
  "nAttempts": 3
}

Odpověď (200):

[
  {
    "text": "Tento produkt je skvělé řešení",
    "fragments": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "part": 1,
        "distance": 0.25,
        "type": "Article",
        "code": "ART-001",
        "title": "Název produktu",
        "fragment": "Fragment obsahu produktu"
      }
    ]
  },
  {
    "text": " pro vaše potřeby.",
    "fragments": []
  }
]

POST /questionnaire/rag/query-fragments#

Shrnutí: Provedení dotazu v RAG Knowledge Base (fragmenty)

Tělo požadavku:

{
  "project": "00000000-0000-0000-0000-000000000000",
  "exclude_documents": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "query": "Co je tento produkt?",
  "top_k": 5,
  "similarity_threshold": 0.5,
  "prepare_query": true
}

Odpověď (200):

{
  "results": [
    {
      "document_id": "00000000-0000-0000-0000-000000000000",
      "document_code": "ART-001",
      "document_title": "Název produktu",
      "revision": 3,
      "chunk_index": 0,
      "content": "Fragment obsahu produktu",
      "metadata": {
        "author": "John Doe",
        "created_at": "2025-01-15T10:30:00Z",
        "last_updated_at": "2025-01-15T10:35:00Z",
        "doc_categories": [
          "Product",
          "Information"
        ]
      },
      "similarity_score": 0.85
    }
  ]
}

Související články#

nahoru
Vyberte jazyk