Rujukan API REST Procurize.AI#

Akses pangkalan pengetahuan anda secara programatik – dokumen, soal selidik, RAG, dan laporan – menggunakan token API anda.

Berkuat kuasa untuk: Procurize.AI API v1
Pengesahan: Kunci API melalui header X-API-Key (lihat Token API untuk pengurusan token)
URL Asas: https://api.procurize.com

Gambaran Keseluruhan#

API REST Procurize.AI menyediakan akses programatik kepada ciri utama platform. Ia membolehkan anda mengintegrasikan Procurize.AI dengan sistem dalaman anda, mengotomasi pengurusan pangkalan pengetahuan, dan membina aliran kerja tersuai.

Modul yang disokong (dengan token):

Pengesahan#

Semua titik akhir yang memerlukan pengesahan memerlukan token API yang dihantar dalam header permintaan.

HeaderNilai
X-API-Key<TOKEN_API_ANDA>

Contoh:

curl -X GET "https://api.procurize.com/v1/..." \
  -H "X-API-Key: token-api-anda-di-sini"

💡 Token terikat kepada organisasi anda – anda tidak perlu menyatakan ID organisasi dalam permintaan.

URL Asas#

Semua titik akhir API REST disediakan di bawah:

https://api.procurize.com

Pengendalian Ralat#

API menggunakan kod status HTTP standard.

KodMakna
200 OKPermintaan berjaya
201 CreatedSumber berjaya dicipta
204 No ContentPermintaan berjaya, tiada badan respons
400 Bad RequestParameter tidak sah atau permintaan rosak
401 UnauthorizedToken API tiada atau tidak sah
403 ForbiddenToken tidak mempunyai kebenaran untuk tindakan ini
404 Not FoundSumber tidak wujud
500 Internal Server ErrorRalat pelayan yang tidak dijangka

Respons ralat mengandungi kod ralat yang boleh dibaca mesin dan mesej yang boleh dibaca manusia.

Rujukan Modul#

RagArticle#

GET /questionnaire/rag/articles/summary#

Ringkasan: Ringkasan untuk halaman Utama

Parameter:

NamaDiJenisWajibKeterangan
projquerystring (uuid)TidakID projek.

Respons (200):

{
  "active": 5
}

GET /questionnaire/rag/articles/total#

Ringkasan: Bilangan artikel

Parameter:

NamaDiJenisWajibKeterangan
qquerystringTidakPenapis pada nama atau kod artikel.
statequeryarrayTidakPenapis pada status.
projectqueryarrayTidakPenapis pada projek.
typequeryarrayTidakPenapis pada jenis dokumen.

Respons (200):

42

GET /questionnaire/rag/articles/list#

Ringkasan: Dapatkan senarai artikel

Parameter:

NamaDiJenisWajibKeterangan
qquerystringTidakPenapis pada nama atau kod artikel.
statequeryarrayTidakPenapis pada status.
projectqueryarrayTidakPenapis pada projek.
typequeryarrayTidakPenapis pada jenis dokumen.
squerystringTidakMedan susunan.
ascquerybooleanTidakSusunan menaik.
psqueryinteger (int32)TidakSaiz halaman.
pqueryinteger (int32)TidakNombor halaman (bermula 1).

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

Ringkasan: Mengembalikan kandungan Markdown daripada fail

Badan Permintaan (multipart/form-data):

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

Respons (200):

"Markdown content from file"

POST /questionnaire/rag/article/create#

Ringkasan: Cipta artikel

Badan Permintaan (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"
}

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

Ringkasan: Periksa kewujudan artikel.

Parameter:

NamaDiJenisWajibKeterangan
codequerystringYaKod artikel.

Respons (200):

true

GET /questionnaire/rag/article-info#

Ringkasan: Dapatkan maklumat artikel mengikut kod.

Parameter:

NamaDiJenisWajibKeterangan
codequerystringYaKod artikel.

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

Ringkasan: Dapatkan kandungan artikel mengikut kod

Parameter:

NamaDiJenisWajibKeterangan
codequerystringYaKod artikel.
formatquerystringTidakJika true, mengembalikan kandungan HTML dalam badan respons. Jika tidak, mengembalikan kandungan artikel dalam format Markdown.
splitquerybooleanTidakJika true, mengembalikan kandungan dipisahkan mengikut elemen RAG.
cssquerybooleanTidakJika true, mengembalikan kandungan HTML/PDF dengan CSS.

Respons (200):

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

POST /questionnaire/rag/article#

Ringkasan: Kemas kini metadata artikel

Badan Permintaan:

{
  "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"
}

Respons (200):

{}

DELETE /questionnaire/rag/article#

Ringkasan: Padam artikel

Parameter:

NamaDiJenisWajibKeterangan
codequerystringYaKod artikel.

GET /questionnaire/rag/article/pdf#

Ringkasan: Dapatkan artikel sebagai PDF mengikut kod

Parameter:

NamaDiJenisWajibKeterangan
codequerystringYaKod artikel.

Respons (200):

(pdf binary)

GET /questionnaire/rag/article/content#

Ringkasan: Dapatkan kandungan artikel

Parameter:

NamaDiJenisWajibKeterangan
codequerystringYaKod artikel.

Respons (200):

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

POST /questionnaire/rag/article/content#

Ringkasan: Kemas kini kandungan artikel

Badan Permintaan (multipart/form-data):

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

POST /questionnaire/rag/plural#

Ringkasan: Dapatkan bentuk jamak bagi kata nama

Parameter:

NamaDiJenisWajibKeterangan
nounquerystringTidakKata nama yang hendak dijamakkan.

Respons (200):

{
  "plural": "Articles"
}

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

Ringkasan: Analisis artikel dengan AI dan kembalikan jenisnya

Badan Permintaan (multipart/form-data):

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

Respons (200):

[
  {
    "plural": "Types"
  }
]

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

Ringkasan: Format kandungan artikel dengan AI

Badan Permintaan (multipart/form-data):

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

Respons (200):

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

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

Ringkasan: Tingkatkan dokumen berdasarkan cadangan

Badan Permintaan (multipart/form-data):

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

Respons (200):

{
  "improvedContent": "# Improved Content"
}

GET /questionnaire/rag/article/parts#

Ringkasan: Mengembalikan senarai bahagian artikel

Parameter:

NamaDiJenisWajibKeterangan
idqueryarrayYaSenarai bahagian artikel.

Respons (200):

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

GET /questionnaire/rag/article/revisions#

Ringkasan: Mengembalikan senarai revisi artikel

Parameter:

NamaDiJenisWajibKeterangan
codequerystringYaKod artikel.

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

Ringkasan: Dapatkan maklumat revisi artikel

Parameter:

NamaDiJenisWajibKeterangan
idpathstring (uuid)YaID revisi.

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

Ringkasan: Dapatkan kandungan revisi artikel

Parameter:

NamaDiJenisWajibKeterangan
idpathstring (uuid)YaID revisi.

Respons (200):

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

GET /questionnaire/rag/article/analyze#

Ringkasan: Analisis kandungan artikel dengan AI

Parameter:

NamaDiJenisWajibKeterangan
codequerystringYaKod artikel.
revqueryinteger (int32)TidakNombor revisi.
forcequerybooleanTidakPaksa cipta analisis baru dan buang hasil analisis tidak lengkap yang sedia ada jika ada.

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

Ringkasan: Dapatkan hasil analisis artikel

Parameter:

NamaDiJenisWajibKeterangan
idpathstring (uuid)YaID analisis.

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

Ringkasan: Senaraikan semua mesej

Parameter:

NamaDiJenisWajibKeterangan
idquerystring (uuid)YaID Koleksi RAG.
itemquerystring (uuid)TidakID Item RAG.
messagequerystring (uuid)TidakID Mesej.
ascquerybooleanTidakSusunan menaik.
psqueryinteger (int32)TidakSaiz halaman.
pqueryinteger (int32)TidakNombor halaman (bermula 1).

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

Ringkasan: Tambah mesej baru

Parameter:

NamaDiJenisWajibKeterangan
idquerystring (uuid)YaID Koleksi RAG.
itemquerystring (uuid)TidakID Item RAG.
messagequerystring (uuid)TidakID Mesej untuk dibalas.

Badan Permintaan:

{
  "text": "New message content"
}

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

Ringkasan: Kemas kini mesej sedia ada

Parameter:

NamaDiJenisWajibKeterangan
cquerystring (uuid)YaID Koleksi RAG.
idquerystring (uuid)YaID Mesej.

Badan Permintaan:

{
  "text": "Updated message content"
}

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

Ringkasan: Padam mesej sedia ada

Parameter:

NamaDiJenisWajibKeterangan
idquerystring (uuid)YaID Mesej.

Respons (200):

{}

RagFaq#

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

Ringkasan: Ringkasan untuk halaman Utama

Parameter:

NamaDiJenisWajibKeterangan
projquerystring (uuid)TidakID projek.

Respons (200):

{
  "active": 3
}

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

Ringkasan: Bilangan koleksi FAQ.

Parameter:

NamaDiJenisWajibKeterangan
qquerystringTidakPenapis pada nama atau kod koleksi.
statequeryarrayTidakPenapis pada status.
projectqueryarrayTidakPenapis pada projek.

Respons (200):

3

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

Ringkasan: Dapatkan senarai koleksi FAQ.

Parameter:

NamaDiJenisWajibKeterangan
qquerystringTidakPenapis pada nama atau kod koleksi.
statequeryarrayTidakPenapis pada status.
projectqueryarrayTidakPenapis pada projek.
squerystringTidakMedan susunan.
ascquerybooleanTidakSusunan menaik.
psqueryinteger (int32)TidakSaiz halaman.
pqueryinteger (int32)TidakNombor halaman (bermula 1).

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

Ringkasan: Cari item FAQ.

Parameter:

NamaDiJenisWajibKeterangan
qquerystringYaPenapis pada soalan.
projectquerystring (uuid)TidakPenapis pada projek.
psqueryinteger (int32)TidakSaiz halaman.
pqueryinteger (int32)TidakNombor halaman (bermula 1).

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

Ringkasan: Cipta koleksi FAQ baru.

Badan Permintaan (multipart/form-data):

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

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

Ringkasan: Kemas kini metadata koleksi FAQ.

Badan Permintaan:

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

DELETE /questionnaire/rag/faq-collection#

Ringkasan: Padam koleksi FAQ.

Parameter:

NamaDiJenisWajibKeterangan
codequerystringYaKod koleksi.

GET /questionnaire/rag/faq-collection#

Ringkasan: Dapatkan koleksi FAQ.

Parameter:

NamaDiJenisWajibKeterangan
codequerystringYaKod koleksi.

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

Ringkasan: Periksa kewujudan koleksi FAQ.

Parameter:

NamaDiJenisWajibKeterangan
codequerystringYaKod koleksi.

Respons (200):

true

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

Ringkasan: Bilangan item FAQ.

Parameter:

NamaDiJenisWajibKeterangan
codequerystringYaKod koleksi.
qquerystringTidakPenapis pada kandungan item FAQ.

Badan Permintaan:

["Active", "Default"]

Respons (200):

5

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

Ringkasan: Dapatkan senarai item FAQ.

Parameter:

NamaDiJenisWajibKeterangan
codequerystringYaKod koleksi.
qquerystringTidakPenapis pada kandungan item FAQ.
statequeryarrayTidakPenapis pada status.
squerystringTidakMedan susunan.
ascquerybooleanTidakSusunan menaik.
psqueryinteger (int32)TidakSaiz halaman.
pqueryinteger (int32)TidakNombor halaman (bermula 1).

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

Ringkasan: Cipta item FAQ baru.

Badan Permintaan:

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

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

Ringkasan: Dapatkan item FAQ.

Parameter:

NamaDiJenisWajibKeterangan
codequerystringYaKod koleksi.
indexqueryinteger (int32)YaIndeks berasaskan sifar item FAQ dalam koleksi.

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

Ringkasan: Kemas kini item FAQ.

Badan Permintaan:

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

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

Ringkasan: Padam item FAQ.

Parameter:

NamaDiJenisWajibKeterangan
codequerystringYaKod koleksi.
indexqueryinteger (int32)YaIndeks berasaskan sifar item FAQ dalam koleksi.

RagQuery#

POST /questionnaire/rag/query#

Ringkasan: Lakukan pertanyaan dalam Pangkalan Pengetahuan RAG

Badan Permintaan:

{
  "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
}

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

Ringkasan: Lakukan pertanyaan dalam Pangkalan Pengetahuan RAG (stream)

Badan Permintaan:

{
  "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
}

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

Ringkasan: Lakukan pertanyaan dalam Pangkalan Pengetahuan RAG (fragmen)

Badan Permintaan:

{
  "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
}

Respons (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
    }
  ]
}

Artikel Berkaitan#

ke atas
Pilih bahasa