Procurize.AI REST API 레퍼런스#

API 토큰을 사용해 지식 베이스(문서, 설문지, RAG 및 보고서)에 프로그래밍 방식으로 접근합니다.

대상: Procurize.AI API v1
인증: X-API-Key 헤더를 통한 API 키 (토큰 관리는 API 토큰 참고)
기본 URL: https://api.procurize.com

개요#

Procurize.AI REST API는 플랫폼 핵심 기능에 프로그래밍 방식으로 접근할 수 있게 해줍니다. 이를 통해 내부 시스템과 Procurize.AI를 통합하고, 지식 베이스 관리를 자동화하며, 맞춤형 워크플로를 구축할 수 있습니다.

지원 모듈 (토큰 인증):

인증#

모든 인증이 필요한 엔드포인트는 요청 헤더에 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 UnauthorizedAPI 토큰 누락 또는 유효하지 않음
403 Forbidden토큰에 해당 작업 권한이 없음
404 Not Found리소스를 찾을 수 없음
500 Internal Server Error서버 내부 오류

오류 응답에는 기계가 읽을 수 있는 오류 코드와 사람이 읽을 수 있는 메시지가 포함됩니다.

모듈 레퍼런스#

RagArticle#

GET /questionnaire/rag/articles/summary#

요약: 홈 페이지 요약

매개변수:

이름위치유형필수설명
projquerystring (uuid)아니오프로젝트 ID.

응답 (200):

{
  "active": 5
}

GET /questionnaire/rag/articles/total#

요약: 문서 수

매개변수:

이름위치유형필수설명
qquerystring아니오문서 이름 또는 코드 필터.
statequeryarray아니오상태 필터.
projectqueryarray아니오프로젝트 필터.
typequeryarray아니오문서 유형 필터.

응답 (200):

42

GET /questionnaire/rag/articles/list#

요약: 문서 목록 조회

매개변수:

이름위치유형필수설명
qquerystring아니오문서 이름 또는 코드 필터.
statequeryarray아니오상태 필터.
projectqueryarray아니오프로젝트 필터.
typequeryarray아니오문서 유형 필터.
squerystring아니오정렬 필드.
ascqueryboolean아니오오름차순 정렬.
psqueryinteger (int32)아니오페이지 크기.
pqueryinteger (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#

요약: 문서 존재 여부 확인

매개변수:

이름위치유형필수설명
codequerystring문서 코드.

응답 (200):

true

GET /questionnaire/rag/article-info#

요약: 코드로 문서 정보 조회

매개변수:

이름위치유형필수설명
codequerystring문서 코드.

응답 (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#

요약: 코드로 문서 콘텐츠 조회

매개변수:

이름위치유형필수설명
codequerystring문서 코드.
formatquerystring아니오true이면 HTML 콘텐츠를 반환하고, 그렇지 않으면 Markdown 형식으로 반환합니다.
splitqueryboolean아니오true이면 RAG 요소별로 분리된 콘텐츠를 반환합니다.
cssqueryboolean아니오true이면 CSS가 포함된 HTML/PDF 콘텐츠를 반환합니다.

응답 (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#

요약: 문서 삭제

매개변수:

이름위치유형필수설명
codequerystring문서 코드.

GET /questionnaire/rag/article/pdf#

요약: 코드로 PDF 형식 문서 가져오기

매개변수:

이름위치유형필수설명
codequerystring문서 코드.

응답 (200):

(pdf binary)

GET /questionnaire/rag/article/content#

요약: 문서 콘텐츠 조회

매개변수:

이름위치유형필수설명
codequerystring문서 코드.

응답 (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#

요약: 명사의 복수형 반환

매개변수:

이름위치유형필수설명
nounquerystring아니오복수형으로 변환할 명사.

응답 (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#

요약: 문서 파트 목록 반환

매개변수:

이름위치유형필수설명
idqueryarray문서 파트 ID 목록.

응답 (200):

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

GET /questionnaire/rag/article/revisions#

요약: 문서 리비전 목록 반환

매개변수:

이름위치유형필수설명
codequerystring문서 코드.

응답 (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}#

요약: 문서 리비전 정보 조회

매개변수:

이름위치유형필수설명
idpathstring (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}#

요약: 문서 리비전 콘텐츠 조회

매개변수:

이름위치유형필수설명
idpathstring (uuid)리비전 ID.

응답 (200):

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

GET /questionnaire/rag/article/analyze#

요약: AI로 문서 콘텐츠 분석

매개변수:

이름위치유형필수설명
codequerystring문서 코드.
revqueryinteger (int32)아니오리비전 번호.
forcequeryboolean아니오기존 미완료 분석 결과를 삭제하고 새 분석을 강제로 생성합니다.

응답 (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}#

요약: 문서 분석 결과 조회

매개변수:

이름위치유형필수설명
idpathstring (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#

요약: 모든 메시지 목록

매개변수:

이름위치유형필수설명
idquerystring (uuid)RAG 컬렉션 ID.
itemquerystring (uuid)아니오RAG 아이템 ID.
messagequerystring (uuid)아니오메시지 ID.
ascqueryboolean아니오오름차순 정렬.
psqueryinteger (int32)아니오페이지 크기.
pqueryinteger (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#

요약: 새 메시지 추가

매개변수:

이름위치유형필수설명
idquerystring (uuid)RAG 컬렉션 ID.
itemquerystring (uuid)아니오RAG 아이템 ID.
messagequerystring (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#

요약: 기존 메시지 업데이트

매개변수:

이름위치유형필수설명
cquerystring (uuid)RAG 컬렉션 ID.
idquerystring (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#

요약: 기존 메시지 삭제

매개변수:

이름위치유형필수설명
idquerystring (uuid)메시지 ID.

응답 (200):

{}

RagFaq#

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

요약: 홈 페이지 요약

매개변수:

이름위치유형필수설명
projquerystring (uuid)아니오프로젝트 ID.

응답 (200):

{
  "active": 3
}

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

요약: FAQ 컬렉션 수

매개변수:

이름위치유형필수설명
qquerystring아니오컬렉션 이름 또는 코드 필터.
statequeryarray아니오상태 필터.
projectqueryarray아니오프로젝트 필터.

응답 (200):

3

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

요약: FAQ 컬렉션 목록 조회

매개변수:

이름위치유형필수설명
qquerystring아니오컬렉션 이름 또는 코드 필터.
statequeryarray아니오상태 필터.
projectqueryarray아니오프로젝트 필터.
squerystring아니오정렬 필드.
ascqueryboolean아니오오름차순 정렬.
psqueryinteger (int32)아니오페이지 크기.
pqueryinteger (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 항목 검색

매개변수:

이름위치유형필수설명
qquerystring질문 내용 필터.
projectquerystring (uuid)아니오프로젝트 필터.
psqueryinteger (int32)아니오페이지 크기.
pqueryinteger (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 컬렉션 삭제

매개변수:

이름위치유형필수설명
codequerystring컬렉션 코드.

GET /questionnaire/rag/faq-collection#

요약: FAQ 컬렉션 조회

매개변수:

이름위치유형필수설명
codequerystring컬렉션 코드.

응답 (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 컬렉션 존재 여부 확인

매개변수:

이름위치유형필수설명
codequerystring컬렉션 코드.

응답 (200):

true

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

요약: FAQ 항목 수

매개변수:

이름위치유형필수설명
codequerystring컬렉션 코드.
qquerystring아니오FAQ 항목 내용 필터.

요청 본문:

["Active", "Default"]

응답 (200):

5

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

요약: FAQ 항목 목록 조회

매개변수:

이름위치유형필수설명
codequerystring컬렉션 코드.
qquerystring아니오FAQ 항목 내용 필터.
statequeryarray아니오상태 필터.
squerystring아니오정렬 필드.
ascqueryboolean아니오오름차순 정렬.
psqueryinteger (int32)아니오페이지 크기.
pqueryinteger (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 항목 조회

매개변수:

이름위치유형필수설명
codequerystring컬렉션 코드.
indexqueryinteger (int32)컬렉션 내 0부터 시작하는 항목 인덱스.

응답 (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 항목 삭제

매개변수:

이름위치유형필수설명
codequerystring컬렉션 코드.
indexqueryinteger (int32)컬렉션 내 0부터 시작하는 항목 인덱스.

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

관련 문서#

맨 위로
언어 선택