Procurize.AI REST API-ის მითითება#
პროგრამულად მიიღეთ თქვენი ცოდნის ბაზა – დოკუმენტები, კითხვარი, RAG და ანგარიშები – თქვენი API ტოკენით.
გამოყენება: Procurize.AI API v1
აუტენტიფიკაცია: API გასაღებიX-API-Keyჰედერში (იხილეთ API Token-ები token-ების მართვისთვის)
ძირითადი URL:https://api.procurize.com
მიმოხილვა#
Procurize.AI REST API‑მა უზრუნველყოფს პროგრამულ წვდომას პლატფორმის ძირითად ფუნქციებზე. იგი საშუალებას გაძლევთ ინტეგრიროთ Procurize.AI თქვენს შიდა სისტემებთან, ავტომატიზიროთ ცოდნის ბაზის მართვა და შექმნათ პერსონალიზებული სამუშაო ნაკადები.
მხარდაჭერილი მოდულები (ტოკენით აუტენტიფიკაცია):
- RagArticle – დოკუმენტების მართვა
- RagFaq – FAQ ჩანაწერების მართვა
- RagQuery – RAG მოთხოვნების შესრულება
აუტენტიფიკაცია#
ყველა აუტენტიფიცირებული საბოლოო წერტილი მოითხოვს API ტოკენს, რომელიც გადაეცემა მოთხოვნის ჰედერში.
| თავსართ | მნიშვნელობა |
|---|---|
X-API-Key | <YOUR_API_TOKEN> |
მაგალითი:
curl -X GET "https://api.procurize.com/v1/..." \
-H "X-API-Key: your-api-token-here"
💡 ტოკენები დაკავშირებულია თქვენს ორგანიზაციას – მოთხოვნაში ორგანიზაციის ID-ს მითითება არ არის საჭირო.
ძირითადი URL#
ყველა REST API‑ის საბოლოო წერტილი მდებარეობს აქ:
https://api.procurize.com
შეცდომების დამუშავება#
API იყენებს სტანდარტულ HTTP სტატუს კოდებს.
| კოდი | მნიშვნელობა |
|---|---|
200 OK | მოთხოვნა წარმატებით შესრულდა |
201 Created | რესურსი წარმატებით შეიქმნა |
204 No Content | მოთხოვნა წარმატებით შესრულდა, პასუხის სხეული არ არსებობს |
400 Bad Request | არასწორი პარამეტრები ან დაზიანებული მოთხოვნა |
401 Unauthorized | აკლია ან არასწორია API ტოკენი |
403 Forbidden | ტოკენს არ აქვს შესაბამისი უფლება |
404 Not Found | რესურსი არ არსებობს |
500 Internal Server Error | მოულოდნელი სერვერის შეცდომა |
შეცდომის პასუხები შეიცავენ მანქანით‑კითხულებად შეცდომის კოდს და ადამიანით‑კითხულებად შეტყობინებას.
მოდულის მითითება#
RagArticle#
GET /questionnaire/rag/articles/summary#
შეჯამება: მთავარი გვერდის შეჯამება
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| proj | მოთხოვნა | string (uuid) | არა | პროექტის ID. |
პასუხი (200):
{
"active": 5
}
GET /questionnaire/rag/articles/total#
შეჯამება: სტატიის რაოდენობა
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| q | მოთხოვნა | string | არა | ფილტრი სტატიის სახელზე ან კოდზე. |
| state | მოთხოვნა | array | არა | ფილტრი მდგომარეობებზე. |
| project | მოთხოვნა | array | არა | ფილტრი პროექტებზე. |
| type | მოთხოვნა | array | არა | ფილტრი დოკუმენტის ტიპებზე. |
პასუხი (200):
42
GET /questionnaire/rag/articles/list#
შეჯამება: სტატიის სია
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| q | მოთხოვნა | string | არა | ფილტრი სტატიის სახელზე ან კოდზე. |
| state | მოთხოვნა | array | არა | ფილტრი მდგომარეობებზე. |
| project | მოთხოვნა | array | არა | ფილტრი პროექტებზე. |
| type | მოთხოვნა | array | არა | ფილტრი დოკუმენტის ტიპებზე. |
| s | მოთხოვნა | string | არა | სორტირების ველი. |
| asc | მოთხოვნა | boolean | არა | ზრდის მიხედვით სორტირება. |
| ps | მოთხოვნა | integer (int32) | არა | გვერდის ზომა. |
| p | მოთხოვნა | integer (int32) | არა | 1‑დან დაწყებული გვერდის ნომერი. |
პასუხი (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#
შეჯამება: ფაილიდან Markdown‑ის მიღება
მოთხოვნის სხეული (multipart/form-data):
{
"url": "https://example.com/file.pdf",
"file": "binary"
}
პასუხი (200):
"Markdown content from file"
POST /questionnaire/rag/article/create#
შეჯამება: სტატიის შექმნა
მოთხოვნის სხეული (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"
}
პასუხი (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#
შეჯამება: სტატიის არსებობის შემოწმება
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| code | მოთხოვნა | string | დიახ | სტატიის კოდი. |
პასუხი (200):
true
GET /questionnaire/rag/article-info#
შეჯამება: სტატიის ინფორმაციის მიღება კოდის მიხედვით
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| code | მოთხოვნა | string | დიახ | სტატიის კოდი. |
პასუხი (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#
შეჯამება: სტატიის შინაარსის მიღება კოდის მიხედვით
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| code | მოთხოვნა | string | დიახ | სტატიის კოდი. |
| format | მოთხოვნა | string | არა | თუ true, აბრუნებს HTML‑ს პასუხის სხეულში. სხვა შემთხვევაში აბრუნებს შინაარსს Markdown ფორმატში. |
| split | მოთხოვნა | boolean | არა | თუ true, აბრუნებს შინაარსს RAG ელემენტებით დაყოფილი. |
| css | მოთხოვნა | boolean | არა | თუ true, აბრუნებს HTML/PDF შინაარსს CSS‑ით. |
პასუხი (200):
"# Article Title\n\nThis is the article content in Markdown format."
POST /questionnaire/rag/article#
შეჯამება: სტატიის მეტამონაცემების განახლება
მოთხოვნის სხეული:
{
"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"
}
პასუხი (200):
{}
DELETE /questionnaire/rag/article#
შეჯამება: სტატიის წაშლა
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| code | მოთხოვნა | string | დიახ | სტატიის კოდი. |
GET /questionnaire/rag/article/pdf#
შეჯამება: სტატიის მიღება PDF‑ის სახით კოდის მიხედვით
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| code | მოთხოვნა | string | დიახ | სტატიის კოდი. |
პასუხი (200):
(pdf binary)
GET /questionnaire/rag/article/content#
შეჯამება: სტატიის შინაარსის მიღება
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| code | მოთხოვნა | string | დიახ | სტატიის კოდი. |
პასუხი (200):
{
"content": "# Article Title\n\nContent here."
}
POST /questionnaire/rag/article/content#
შეჯამება: სტატიის შინაარსის განახლება
მოთხოვნის სხეული (multipart/form-data):
{
"code": "ART-001",
"content": "# Updated Content",
"file": "binary"
}
POST /questionnaire/rag/plural#
შეჯამება: ნამუსის მრავლობითის მიღება
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| noun | მოთხოვნა | string | არა | ნამუსი, რომლის მრავლობითიც გსურთ. |
პასუხი (200):
{
"plural": "Articles"
}
POST /questionnaire/rag/article/find-types#
შეჯამება: სტატიის AI‑ით ანალიზი და ტიპების დაბრუნება
მოთხოვნის სხეული (multipart/form-data):
{
"code": "ART-001",
"content": "# Article Content"
}
პასუხი (200):
[
{
"plural": "Types"
}
]
POST /questionnaire/rag/article/format-with-ai#
შეჯამება: სტატიის შინაარსის ფორმატირება AI‑ის საშუალებით
მოთხოვნის სხეული (multipart/form-data):
{
"code": "ART-001",
"content": "# Article Content"
}
პასუხი (200):
{
"formattedContent": "# Formatted Article Content"
}
POST /questionnaire/rag/article/improve-on-suggestions#
შეჯამება: დოკუმენტის გაუმჯობესება შეთავაზებების მიხედვით
მოთხოვნის სხეული (multipart/form-data):
{
"suggestions": [
{
"sectionTitle": "Introduction",
"suggestion": "Add more details here."
}
],
"code": "ART-001",
"content": "# Article Content"
}
პასუხი (200):
{
"improvedContent": "# Improved Content"
}
GET /questionnaire/rag/article/parts#
შეჯამება: სტატიის ნაწილების სია
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| id | მოთხოვნა | array | დიახ | სტატიის ნაწილების ID‑ები. |
პასუხი (200):
[
{
"id": "00000000-0000-0000-0000-000000000000",
"code": "part-1",
"title": "Introduction",
"orderNumber": 1,
"content": "Introduction content."
}
]
GET /questionnaire/rag/article/revisions#
შეჯამება: სტატიის რევიზიების სია
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| code | მოთხოვნა | string | დიახ | სტატიის კოდი. |
პასუხი (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}#
შეჯამება: სტატიის რევიზიის ინფორმაციის მიღება
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| id | path | string (uuid) | დიახ | რევიზიის ID. |
პასუხი (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}#
შეჯამება: სტატიის რევიზიის შინაარსის მიღება
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| id | path | string (uuid) | დიახ | რევიზიის ID. |
პასუხი (200):
"# Article Revision Content\n\nPrevious version."
GET /questionnaire/rag/article/analyze#
შეჯამება: სტატიის შინაარსის AI‑ით ანალიზი
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| code | მოთხოვნა | string | დიახ | სტატიის კოდი. |
| rev | მოთხოვნა | integer (int32) | არა | რევიზიის ნომერი. |
| force | მოთხოვნა | boolean | არა | ახალი ანალიზის შექმნა ძალით, წინა არასრულყოფილი შედეგის წაშლა, თუ არსებობს. |
პასუხი (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}#
შეჯამება: სტატიის ანალიზის შედეგის მიღება
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| id | path | string (uuid) | დიახ | ანალიზის ID. |
პასუხი (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#
შეჯამება: ყველა შეტყობინების სია
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| id | მოთხოვნა | string (uuid) | დიახ | RAG კოლექციის ID. |
| item | მოთხოვნა | string (uuid) | არა | RAG ელემენტის ID. |
| message | მოთხოვნა | string (uuid) | არა | შეტყობინების ID. |
| asc | მოთხოვნა | boolean | არა | ზრდის მიხედვით სორტირება. |
| ps | მოთხოვნა | integer (int32) | არა | გვერდის ზომა. |
| p | მოთხოვნა | integer (int32) | არა | 1‑დან დაწყებული გვერდის ნომერი. |
პასუხი (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#
შეჯამება: ახალი შეტყობინების დამატება
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| id | მოთხოვნა | string (uuid) | დიახ | RAG კოლექციის ID. |
| item | მოთხოვნა | string (uuid) | არა | RAG ელემენტის ID. |
| message | მოთხოვნა | string (uuid) | არა | პასუხის შეტყობინების ID. |
მოთხოვნის სხეული:
{
"text": "New message content"
}
პასუხი (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#
შეჯამება: არსებული შეტყობინების განახლება
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| c | მოთხოვნა | string (uuid) | დიახ | RAG კოლექციის ID. |
| id | მოთხოვნა | string (uuid) | დიახ | შეტყობინების ID. |
მოთხოვნის სხეული:
{
"text": "Updated message content"
}
პასუხი (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#
შეჯამება: არსებული შეტყობინების წაშლა
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| id | მოთხოვნა | string (uuid) | დიახ | შეტყობინების ID. |
პასუხი (200):
{}
RagFaq#
GET /questionnaire/rag/faq-collections/summary#
შეჯამება: მთავარი გვერდის შეჯამება
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| proj | მოთხოვნა | string (uuid) | არა | პროექტის ID. |
პასუხი (200):
{
"active": 3
}
GET /questionnaire/rag/faq-collections/total#
შეჯამება: FAQ კოლექციების რაოდენობა
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| q | მოთხოვნა | string | არა | კოლექციის სახელის ან კოდის ფილტრი. |
| state | მოთხოვნა | array | არა | მდგომარეობის ფილტრი. |
| project | მოთხოვნა | array | არა | პროექტის ფილტრი. |
პასუხი (200):
3
GET /questionnaire/rag/faq-collections/list#
შეჯამება: FAQ კოლექციების სია
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| q | მოთხოვნა | string | არა | კოლექციის სახელის ან კოდის ფილტრი. |
| state | მოთხოვნა | array | არა | მდგომარეობის ფილტრი. |
| project | მოთხოვნა | array | არა | პროექტის ფილტრი. |
| s | მოთხოვნა | string | არა | სორტირების ველი. |
| asc | მოთხოვნა | boolean | არა | ზრდის მიხედვით სორტირება. |
| ps | მოთხოვნა | integer (int32) | არა | გვერდის ზომა. |
| p | მოთხოვნა | integer (int32) | არა | 1‑დან დაწყებული გვერდის ნომერი. |
პასუხი (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#
შეჯამება: FAQ ელემენტების ძიება
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| q | მოთხოვნა | string | დიახ | კითხვაზე ფილტრი. |
| project | მოთხოვნა | string (uuid) | არა | პროექტის ფილტრი. |
| ps | მოთხოვნა | integer (int32) | არა | გვერდის ზომა. |
| p | მოთხოვნა | integer (int32) | არა | 1‑დან დაწყებული გვერდის ნომერი. |
პასუხი (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#
შეჯამება: ახალი FAQ კოლექციის შექმნა
მოთხოვნის სხეული (multipart/form-data):
{
"code": "FAQ-001",
"name": "FAQ Collection",
"description": "FAQ collection description",
"content": "Content here",
"file": "binary"
}
პასუხი (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#
შეჯამება: FAQ კოლექციის მეტამონაცემების განახლება
მოთხოვნის სხეული:
{
"code": "FAQ-001",
"name": "Updated FAQ Collection",
"description": "Updated description",
"projects": null,
"documentTypes": null,
"isShared": false,
"state": "Active"
}
DELETE /questionnaire/rag/faq-collection#
შეჯამება: FAQ კოლექციის წაშლა
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| code | მოთხოვნა | string | დიახ | კოლექციის კოდი. |
GET /questionnaire/rag/faq-collection#
შეჯამება: FAQ კოლექციის მიღება
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| code | მოთხოვნა | string | დიახ | კოლექციის კოდი. |
პასუხი (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#
შეჯამება: FAQ კოლექციის არსებობის შემოწმება
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| code | მოთხოვნა | string | დიახ | კოლექციის კოდი. |
პასუხი (200):
true
GET /questionnaire/rag/faq-collection/items-total#
შეჯამება: FAQ ელემენტების რაოდენობა
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| code | მოთხოვნა | string | დიახ | კოლექციის კოდი. |
| q | მოთხოვნა | string | არა | FAQ ელემენტის შინაარსის ფილტრი. |
მოთხოვნის სხეული:
["Active", "Default"]
პასუხი (200):
5
GET /questionnaire/rag/faq-collection/items#
შეჯამება: FAQ ელემენტების სია
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| code | მოთხოვნა | string | დიახ | კოლექციის კოდი. |
| q | მოთხოვნა | string | არა | FAQ ელემენტის შინაარსის ფილტრი. |
| state | მოთხოვნა | array | არა | მდგომარეობის ფილტრი. |
| s | მოთხოვნა | string | არა | სორტირების ველი. |
| asc | მოთხოვნა | boolean | არა | ზრდის მიხედვით სორტირება. |
| ps | მოთხოვნა | integer (int32) | არა | გვერდის ზომა. |
| p | მოთხოვნა | integer (int32) | არა | 1‑დან დაწყებული გვერდის ნომერი. |
პასუხი (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#
შეჯამება: ახალი FAQ ელემენტის შექმნა
მოთხოვნის სხეული:
{
"code": "FAQ-001",
"index": 0,
"question": "What is this product?",
"answer": "This is a great product.",
"comment": "Product FAQ",
"state": "Active"
}
პასუხი (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#
შეჯამება: FAQ ელემენტის მიღება
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| code | მოთხოვნა | string | დიახ | კოლექციის კოდი. |
| index | მოთხოვნა | integer (int32) | დიახ | ელემენტის ნულოვანი ინდექსი კოლექციაში. |
პასუხი (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#
შეჯამება: FAQ ელემენტის განახლება
მოთხოვნის სხეული:
{
"code": "FAQ-001",
"index": 0,
"newIndex": 1,
"question": "Updated question?",
"answer": "Updated answer.",
"comment": "Updated comment",
"state": "Active"
}
DELETE /questionnaire/rag/faq-collection/item#
შეჯამება: FAQ ელემენტის წაშლა
პარამეტრები:
| სახელი | სად | ტიპი | საჭიროა | აღწერა |
|---|---|---|---|---|
| code | მოთხოვნა | string | დიახ | კოლექციის კოდი. |
| index | მოთხოვნა | integer (int32) | დიახ | ელემენტის ნულოვანი ინდექსი კოლექციაში. |
RagQuery#
POST /questionnaire/rag/query#
შეჯამება: მოთხოვნის შესრულება RAG ცოდნის ბაზაზე
მოთხოვნის სხეული:
{
"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
}
პასუხი (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#
შეჯამება: მოთხოვნის შესრულება RAG ცოდნის ბაზაზე (სტრიმინგი)
მოთხოვნის სხეული:
{
"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
}
პასუხი (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#
შეჯამება: მოთხოვნის შესრულება RAG ცოდნის ბაზაზე (ფრაგმენტებით)
მოთხოვნის სხეული:
{
"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
}
პასუხი (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
}
]
}
დაკავშირებული სტატია#
- API Token-ები – გენერაცია & მართვა – როგორ შევქმნათ და მართოთ token-ები
- AI‑ის გამოყენება თქვენი ცოდნის ბაზასთან – RAG მოთხოვნების გამოყენება
