Procurize.AI REST API nuoroda#

Programiškai pasiekite savo žinių bazę – dokumentus, klausimynus, RAG ir ataskaitas – naudodami savo API tokeną.

Taikoma: Procurize.AI API v1
Autentifikacija: API raktas per X-API-Key antraštę (žr. API tokenai dėl tokenų valdymo)
Pagrindinis URL: https://api.procurize.com

Apžvalga#

Procurize.AI REST API suteikia programišką prieigą prie pagrindinių platformos funkcijų. Tai leidžia integruoti Procurize.AI su jūsų vidinėmis sistemomis, automatizuoti žinių bazės valdymą ir kurti pritaikytus darbo srautus.

Palaikomi moduliai (autentifikuoti tokenu):

Autentifikacija#

Visi autentifikuoti galutiniai taškai reikalauja API tokeno, perduodamo užklausos antraštėje.

AntraštėReikšmė
X-API-Key<JŪSŲ_API_TOKENAS>

Pavyzdys:

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

💡 Tokenai yra susieti su jūsų organizacija – užklausoje nereikia nurodyti organizacijos ID.

Pagrindinis URL#

Visi REST API galutiniai taškai yra prieinami adresu:

https://api.procurize.com

Klaidų tvarkymas#

API naudoja standartinius HTTP būsenų kodus.

KodasReikšmė
200 OKUžklausa sėkminga
201 CreatedIšteklius sėkmingai sukurtas
204 No ContentUžklausa sėkminga, nėra atsakymo turinio
400 Bad RequestNetinkami parametrai arba neteisinga užklausa
401 UnauthorizedTrūksta arba neteisingas API tokenas
403 ForbiddenTokenas neturi leidimo šiai operacijai
404 Not FoundIšteklius nerastas
500 Internal Server ErrorNetikėta serverio klaida

Klaidų atsakymai pateikia mašinų skaitomą klaidos kodą ir žmogui skaitomą pranešimą.

Modulio nuoroda#

RagArticle#

GET /questionnaire/rag/articles/summary#

Santrauka: Santrauka pagrindiniam puslapiui

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
projquerystring (uuid)NeProjekto ID.

Atsakas (200):

{
  "active": 5
}

GET /questionnaire/rag/articles/total#

Santrauka: Straipsnių skaičius

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
qquerystringNeFiltruoti pagal straipsnio pavadinimą arba kodą.
statequeryarrayNeFiltruoti pagal būsenas.
projectqueryarrayNeFiltruoti pagal projektus.
typequeryarrayNeFiltruoti pagal dokumentų tipus.

Atsakas (200):

42

GET /questionnaire/rag/articles/list#

Santrauka: Gauti straipsnių sąrašą

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
qquerystringNeFiltruoti pagal straipsnio pavadinimą arba kodą.
statequeryarrayNeFiltruoti pagal būsenas.
projectqueryarrayNeFiltruoti pagal projektus.
typequeryarrayNeFiltruoti pagal dokumentų tipus.
squerystringNeRikiavimo laukas.
ascquerybooleanNeRikiuoti didėjimo tvarka.
psqueryinteger (int32)NePuslapio dydis.
pqueryinteger (int32)Ne1‑pradinis puslapio numeris.

Atsakas (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": "Article Title",
      "description": "Article description",
      "documentTypes": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "name": "Type Name",
          "plural": "Type Names",
          "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#

Santrauka: Grąžina Markdown turinį iš failo

Užklausos kūnas (multipart/form-data):

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

Atsakas (200):

"Markdown content from file"

POST /questionnaire/rag/article/create#

Santrauka: Sukurti straipsnį

Užklausos kūnas (multipart/form-data):

{
  "code": "ART-001",
  "name": "Article Title",
  "description": "Article description",
  "content": "# Article Content\n\nThis is the article content.",
  "url": "https://example.com/file.pdf",
  "file": "binary"
}

Atsakas (200):

{
  "code": "ART-001",
  "org": "00000000-0000-0000-0000-000000000000",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "Article Title",
  "description": "Article description",
  "documentTypes": null,
  "size": 150,
  "revision": null,
  "type": "Article",
  "state": "Active",
  "projects": null,
  "items": null,
  "isShared": false
}

GET /questionnaire/rag/article/check#

Santrauka: Patikrinti, ar straipsnis egzistuoja.

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
codequerystringTaipStraipsnio kodas.

Atsakas (200):

true

GET /questionnaire/rag/article-info#

Santrauka: Gauti straipsnio informaciją pagal kodą.

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
codequerystringTaipStraipsnio kodas.

Atsakas (200):

{
  "code": "ART-001",
  "org": "00000000-0000-0000-0000-000000000000",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "Article Title",
  "description": "Article description",
  "documentTypes": null,
  "size": 150,
  "revision": null,
  "type": "Article",
  "state": "Active",
  "projects": null,
  "items": null,
  "isShared": false
}

GET /questionnaire/rag/article#

Santrauka: Gauti straipsnio turinį pagal kodą

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
codequerystringTaipStraipsnio kodas.
formatquerystringNeJei true, grąžina HTML turinį atsakymo kūne. Priešingu atveju – Markdown formatas.
splitquerybooleanNeJei true, grąžina turinį atskirtą pagal RAG elementus.
cssquerybooleanNeJei true, grąžina HTML/PDF turinį su CSS.

Atsakas (200):

"# Article Title\n\nThis is the article content in Markdown format."

POST /questionnaire/rag/article#

Santrauka: Atnaujinti straipsnio metaduomenis

Užklausos kūnas:

{
  "code": "ART-001",
  "name": "Updated Article Title",
  "description": "Updated description",
  "projects": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "documentTypes": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "Type Name",
      "plural": "Type Names"
    }
  ],
  "isShared": true,
  "state": "Active"
}

Atsakas (200):

{}

DELETE /questionnaire/rag/article#

Santrauka: Ištrinti straipsnį

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
codequerystringTaipStraipsnio kodas.

GET /questionnaire/rag/article/pdf#

Santrauka: Gauti straipsnį PDF formatu pagal kodą

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
codequerystringTaipStraipsnio kodas.

Atsakas (200):

(pdf binary)

GET /questionnaire/rag/article/content#

Santrauka: Gauti straipsnio turinį

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
codequerystringTaipStraipsnio kodas.

Atsakas (200):

{
  "content": "# Article Title\n\nContent here."
}

POST /questionnaire/rag/article/content#

Santrauka: Atnaujinti straipsnio turinį

Užklausos kūnas (multipart/form-data):

{
  "code": "ART-001",
  "content": "# Updated Content",
  "file": "binary"
}

POST /questionnaire/rag/plural#

Santrauka: Gauti daikto daugiskaitinę formą

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
nounquerystringNeDaiktavardis, kurį reikia dauginti.

Atsakas (200):

{
  "plural": "Articles"
}

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

Santrauka: Analizuoti straipsnį su AI ir grąžinti jo tipus

Užklausos kūnas (multipart/form-data):

{
  "code": "ART-001",
  "content": "# Article Content"
}

Atsakas (200):

[
  {
    "plural": "Types"
  }
]

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

Santrauka: Formatuoti straipsnio turinį su AI

Užklausos kūnas (multipart/form-data):

{
  "code": "ART-001",
  "content": "# Article Content"
}

Atsakas (200):

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

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

Santrauka: Patobulinti dokumentą pagal pasiūlymus

Užklausos kūnas (multipart/form-data):

{
  "suggestions": [
    {
      "sectionTitle": "Introduction",
      "suggestion": "Add more details here."
    }
  ],
  "code": "ART-001",
  "content": "# Article Content"
}

Atsakas (200):

{
  "improvedContent": "# Improved Content"
}

GET /questionnaire/rag/article/parts#

Santrauka: Grąžina straipsnio dalių sąrašą

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
idqueryarrayTaipStraipsnio dalių ID sąrašas.

Atsakas (200):

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "code": "part-1",
    "title": "Introduction",
    "orderNumber": 1,
    "content": "Introduction content."
  }
]

GET /questionnaire/rag/article/revisions#

Santrauka: Grąžina straipsnio revizijų sąrašą

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
codequerystringTaipStraipsnio kodas.

Atsakas (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}#

Santrauka: Gauti straipsnio revizijos informaciją

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
idpathstring (uuid)TaipRevizijos ID.

Atsakas (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}#

Santrauka: Gauti straipsnio revizijos turinį

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
idpathstring (uuid)TaipRevizijos ID.

Atsakas (200):

"# Article Revision Content\n\nPrevious version."

GET /questionnaire/rag/article/analyze#

Santrauka: Analizuoti straipsnio turinį su AI

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
codequerystringTaipStraipsnio kodas.
revqueryinteger (int32)NeRevizijos numeris.
forcequerybooleanNePriversti sukurti naują analizę ir, jei egzistuoja, ištrinti ankstesnį nepilną rezultatą.

Atsakas (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}#

Santrauka: Gauti straipsnio analizės rezultatą

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
idpathstring (uuid)TaipAnalizės ID.

Atsakas (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#

Santrauka: Išvardyti visus pranešimus

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
idquerystring (uuid)TaipRAG kolekcijos ID.
itemquerystring (uuid)NeRAG elemento ID.
messagequerystring (uuid)NePranešimo ID.
ascquerybooleanNeRikiuoti didėjimo tvarka.
psqueryinteger (int32)NePuslapio dydis.
pqueryinteger (int32)Ne1‑pradinis puslapio numeris.

Atsakas (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": "Message content",
      "created": "2025-01-15T10:30:00Z",
      "updated": "2025-01-15T10:30:00Z",
      "replies": 0
    }
  ]
}

POST /questionnaire/rag/messages/add#

Santrauka: Pridėti naują pranešimą

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
idquerystring (uuid)TaipRAG kolekcijos ID.
itemquerystring (uuid)NeRAG elemento ID.
messagequerystring (uuid)NePranešimo ID, į kurį atsakinama.

Užklausos kūnas:

{
  "text": "New message content"
}

Atsakas (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": "New message content",
  "created": "2025-01-15T10:30:00Z",
  "updated": "2025-01-15T10:30:00Z",
  "replies": 0
}

POST /questionnaire/rag/message#

Santrauka: Atnaujinti esamą pranešimą

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
cquerystring (uuid)TaipRAG kolekcijos ID.
idquerystring (uuid)TaipPranešimo ID.

Užklausos kūnas:

{
  "text": "Updated message content"
}

Atsakas (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": "Updated message content",
  "created": "2025-01-15T10:30:00Z",
  "updated": "2025-01-15T10:45:00Z",
  "replies": 0
}

DELETE /questionnaire/rag/message#

Santrauka: Ištrinti esamą pranešimą

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
idquerystring (uuid)TaipPranešimo ID.

Atsakas (200):

{}

RagFaq#

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

Santrauka: Santrauka pagrindiniam puslapiui

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
projquerystring (uuid)NeProjekto ID.

Atsakas (200):

{
  "active": 3
}

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

Santrauka: DUK kolekcijų skaičius.

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
qquerystringNeFiltruoti pagal kolekcijos pavadinimą arba kodą.
statequeryarrayNeFiltruoti pagal būsenas.
projectqueryarrayNeFiltruoti pagal projektus.

Atsakas (200):

3

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

Santrauka: Gauti DUK kolekcijų sąrašą.

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
qquerystringNeFiltruoti pagal kolekcijos pavadinimą arba kodą.
statequeryarrayNeFiltruoti pagal būsenas.
projectqueryarrayNeFiltruoti pagal projektus.
squerystringNeRikiavimo laukas.
ascquerybooleanNeRikiuoti didėjimo tvarka.
psqueryinteger (int32)NePuslapio dydis.
pqueryinteger (int32)Ne1‑pradinis puslapio numeris.

Atsakas (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 Collection",
      "description": "FAQ collection description",
      "documentTypes": null,
      "size": 5,
      "revision": null,
      "type": "Faq",
      "state": "Active",
      "projects": null,
      "items": null,
      "isShared": false
    }
  ]
}

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

Santrauka: Rasti DUK elementus.

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
qquerystringTaipFiltruoti pagal klausimą.
projectquerystring (uuid)NeFiltruoti pagal projektą.
psqueryinteger (int32)NePuslapio dydis.
pqueryinteger (int32)Ne1‑pradinis puslapio numeris.

Atsakas (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 5,
    "totalPages": 1
  },
  "items": [
    {
      "index": 0,
      "question": "What is this product?",
      "answer": "This is a great product.",
      "comment": "Product FAQ",
      "state": "Active"
    }
  ]
}

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

Santrauka: Sukurti naują DUK kolekciją.

Užklausos kūnas (multipart/form-data):

{
  "code": "FAQ-001",
  "name": "FAQ Collection",
  "description": "FAQ collection description",
  "content": "Content here",
  "file": "binary"
}

Atsakas (200):

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

POST /questionnaire/rag/faq-collection#

Santrauka: Atnaujinti DUK kolekcijos metaduomenis.

Užklausos kūnas:

{
  "code": "FAQ-001",
  "name": "Updated FAQ Collection",
  "description": "Updated description",
  "projects": null,
  "documentTypes": null,
  "isShared": false,
  "state": "Active"
}

DELETE /questionnaire/rag/faq-collection#

Santrauka: Ištrinti DUK kolekciją.

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
codequerystringTaipKolekcijos kodas.

GET /questionnaire/rag/faq-collection#

Santrauka: Gauti DUK kolekciją.

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
codequerystringTaipKolekcijos kodas.

Atsakas (200):

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

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

Santrauka: Patikrinti, ar DUK kolekcija egzistuoja.

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
codequerystringTaipKolekcijos kodas.

Atsakas (200):

true

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

Santrauka: DUK elementų skaičius.

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
codequerystringTaipKolekcijos kodas.
qquerystringNeFiltruoti pagal DUK elemento turinį.

Užklausos kūnas:

["Active", "Default"]

Atsakas (200):

5

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

Santrauka: Gauti DUK elementų sąrašą.

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
codequerystringTaipKolekcijos kodas.
qquerystringNeFiltruoti pagal DUK elemento turinį.
statequeryarrayNeFiltruoti pagal būsenas.
squerystringNeRikiavimo laukas.
ascquerybooleanNeRikiuoti didėjimo tvarka.
psqueryinteger (int32)NePuslapio dydis.
pqueryinteger (int32)Ne1‑pradinis puslapio numeris.

Atsakas (200):

{
  "paging": {
    "pageNumber": 1,
    "pageSize": 10,
    "total": 5,
    "totalPages": 1
  },
  "items": [
    {
      "index": 0,
      "question": "What is this product?",
      "answer": "This is a great product.",
      "comment": "Product FAQ",
      "state": "Active"
    }
  ]
}

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

Santrauka: Sukurti naują DUK elementą.

Užklausos kūnas:

{
  "code": "FAQ-001",
  "index": 0,
  "question": "What is this product?",
  "answer": "This is a great product.",
  "comment": "Product FAQ",
  "state": "Active"
}

Atsakas (200):

{
  "index": 0,
  "question": "What is this product?",
  "answer": "This is a great product.",
  "comment": "Product FAQ",
  "state": "Active"
}

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

Santrauka: Gauti DUK elementą.

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
codequerystringTaipKolekcijos kodas.
indexqueryinteger (int32)TaipNulinis DUK elemento indeksas kolekcijoje.

Atsakas (200):

{
  "index": 0,
  "question": "What is this product?",
  "answer": "This is a great product.",
  "comment": "Product FAQ",
  "state": "Active"
}

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

Santrauka: Atnaujinti DUK elementą.

Užklausos kūnas:

{
  "code": "FAQ-001",
  "index": 0,
  "newIndex": 1,
  "question": "Updated question?",
  "answer": "Updated answer.",
  "comment": "Updated comment",
  "state": "Active"
}

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

Santrauka: Ištrinti DUK elementą.

Parametrai:

PavadinimasVietaTipasPrivalomaAprašymas
codequerystringTaipKolekcijos kodas.
indexqueryinteger (int32)TaipNulinis DUK elemento indeksas kolekcijoje.

RagQuery#

POST /questionnaire/rag/query#

Santrauka: Vykdyti užklausą RAG žinių bazėje

Užklausos kūnas:

{
  "project": "00000000-0000-0000-0000-000000000000",
  "excludeCollections": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "question": "What is this product?",
  "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
}

Atsakas (200):

{
  "attempt": 1,
  "preparedQuery": {
    "original": "What is this product?",
    "enhanced": "What is this product and its features?"
  },
  "ragItems": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "distance": 0.25
    }
  ],
  "question": "What is this product?",
  "generalInstructions": "Based on the knowledge base, here is the answer:",
  "text": "This product is a great solution for your needs.",
  "explanation": "The answer was found in multiple sources with high confidence."
}

POST /questionnaire/rag/query-stream#

Santrauka: Vykdyti užklausą RAG žinių bazėje (srautas)

Užklausos kūnas:

{
  "project": "00000000-0000-0000-0000-000000000000",
  "excludeCollections": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "question": "What is this product?",
  "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
}

Atsakas (200):

[
  {
    "text": "This product is a great solution",
    "fragments": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "part": 1,
        "distance": 0.25,
        "type": "Article",
        "code": "ART-001",
        "title": "Product Title",
        "fragment": "Product content fragment"
      }
    ]
  },
  {
    "text": " for your needs.",
    "fragments": []
  }
]

POST /questionnaire/rag/query-fragments#

Santrauka: Vykdyti užklausą RAG žinių bazėje (fragmentai)

Užklausos kūnas:

{
  "project": "00000000-0000-0000-0000-000000000000",
  "exclude_documents": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "query": "What is this product?",
  "top_k": 5,
  "similarity_threshold": 0.5,
  "prepare_query": true
}

Atsakas (200):

{
  "results": [
    {
      "document_id": "00000000-0000-0000-0000-000000000000",
      "document_code": "ART-001",
      "document_title": "Product Title",
      "revision": 3,
      "chunk_index": 0,
      "content": "Product content fragment",
      "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
    }
  ]
}

Susiję straipsniai#

į viršų
Pasirinkti kalbą