Skip to content

Files

검색 증강 생성(RAG)을 통해 참조할 수 있는 파일들을 업로드하기 위해 사용되는 API입니다.

파일 등록

POST /ksm/rag/v5/files

검색 증강 생성(RAG)을 통해 참조할 파일을 업로드합니다. 업로드된 파일들은 필터를 통해 텍스트로 변환되고 청킹을 거쳐 벡터 스토어 볼륨에 저장됩니다.

Request Parameters


file MultipartFile Required
업로드할 파일들입니다. multipart/form-data 타입으로 복수 개의 파일을 업로드할 수 있습니다.


volume string Required
업로드할 파일들이 저장될 볼륨명입니다.

⚠️ 사용자 개인 볼륨은 {userid} 형식으로 볼륨명을 지정할 수 있습니다.


embedding string Required
임베딩 모델의 아이디입니다.


do_chunking integer Optional Defaults to 0
업로드한 파일들에 대해 텍스트를 추출한 후 청킹 및 임베딩을 수행할 지 여부를 지정합니다.

0으로 설정 시 청킹과 임베딩을 수행하지 않습니다. 1로 설정 시 청킹과 임베딩을 모두 수행합니다. 2로 설정 시 청킹만 수행합니다.


Response


code integer
결과 코드값입니다. 성공 시에는 200이 반환됩니다.


message string
응답 메시지입니다. 성공 시에는 OK가 반환됩니다.


infoz array
업로드된 파일들의 FileInfo 정보


예제

curl https://.../ksm/rag/v5/files \
    -X POST \
    -H "Content-Type: multipart/form-data" \
    -H "Authorization: Bearer $KONANLLM_API_KEY" \
    -F volume=myvol \
    -F embedding="embedding-10" \
    -F do_chunking=1 \
    -F file=@OOO/tabaco.pdf \
    -F file=@업무메뉴얼.hwp

파일 목록 조회

GET /ksm/rag/v5/files

파일 목록을 반환합니다.

Request Body


volume string Required
목록을 조회할 볼륨명입니다.

⚠️ 사용자 개인 볼륨은 {userid} 형식으로 볼륨명을 지정할 수 있습니다.


offset integer Optional Defaults to 0
목록 시작 옵셋


limit integer Optional Defaults to 20
옵셋부터 가져올 목록 개수


Response


code integer
결과 코드값입니다. 성공 시에는 200이 반환됩니다.


message string
응답 메시지입니다. 성공 시에는 OK가 반환됩니다.


total integer
전체 파일 개수


infoz array
조회한 파일들의 FileInfo 정보


예제

Request

볼륨 myvol에 저장된 파일 목록을 조회합니다.

curl https://.../ksm/rag/v5/files \
    -H "Authorization: Bearer $KONANLLM_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"volume": "myvol"}'

사용자 tiger@konan.com의 개인 볼륨에 저장된 파일 목록을 조회합니다.

curl https://.../ksm/rag/v5/files \
    -H "Authorization: Bearer $KONANLLM_API_KEY" \
    -H "Content-Type: application/json"
    -d '{"volume": "{tiger@konantech.com}"}'

Response

{
    "code": 200,
    "message": "OK",
    "total": 142,
    "infoz": [
        {
            "uuid": "7d263f69-bb08-45af-8576-7b6791734908",
            "filename": "취업규칙_코난테크놀로지.pdf",
            "status": "done",
            "filesize": 341326,
            "date": "20250712200815",
            "isdir": 0    
        },
        ...
        {
            "uuid": "123e4567-e89b-12d3-a456-556642440000",
            "name": "회사소개서_코난테크놀로지.pdf",
            "status": "done",
            "filesize": 10253993,
            "date": "20250605131718",
            "isdir": 0
        }
    ]
}

파일 삭제

볼륨에 저장된 파일 및 관련 chunk들을 삭제합니다.

DELETE /ksm/rag/v5/files

Request Body


volume string Required
삭제 대상 파일들이 저장된 볼륨명입니다.

⚠️ 사용자 개인 볼륨은 {userid} 형식으로 볼륨명을 지정할 수 있습니다.


uuidz array Required
삭제할 파일들의 아이디 목록입니다.


Response


code integer
결과 코드값입니다. 성공 시에는 200이 반환됩니다.


message string
응답 메시지입니다. 성공 시에는 OK가 반환됩니다.


예제

curl https://.../ksm/rag/v5/files \
    -X DELETE \
    -H "Authorization: Bearer $KONANLLM_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
        "volume": "{tiger@konantech.com}",
        "uuidz": ["5a62a526-e235-4e11-aa21-8a3feb2f82c9", "39fc4d31-c954-4d6a-8cb2-848161f939c6"]
    }'

FileInfo 객체

볼륨에 저장된 파일을 나타내는 객체입니다.


uuid string
아이디


filename string
파일 혹은 폴더명


status string
업로드 상태

uploaded, waiting, chunking, embedding, indexing, done, na

⚠️ done 상태의 파일들만 RAG 검색 대상이 될 수 있습니다.


filesize integer
파일 크기(bytes)


date string
파일 업로드 시각


isdir integer
폴더 여부

0: 파일, 1: 폴더