본문으로 건너뛰기

Python을 활용한 문서 폴더 관리 API

문서 조각 관리

문서 조각 추가

이미 존재하는 DOC_ID를 사용해 문서 조각을 추가하면 덮어쓰여집니다.

import requests

def update_document(collection_code: str, doc_id: str, api_key: str, project_code: str, text: str) ---> requests.Response:
url = f"https://api-laas.wanted.co.kr/api/document/{collection_code}/{doc_id}"
headers = {
"Content-Type": "application/json",
"apiKey": api_key,
"project": project_code
}
data = {
"text": text
}
return requests.put(url, headers=headers, json=data)

문서 조각 조회

def get_document(collection_code: str, doc_id: str, api_key: str, project_code: str) ---> requests.Response:
url = f"https://api-laas.wanted.co.kr/api/document/{collection_code}/{doc_id}"
headers = {
"Content-Type": "application/json",
"apiKey": api_key,
"project": project_code
}
return requests.get(url, headers=headers)

문서 조각 삭제

def delete_document(collection_code: str, doc_id: str, api_key: str, project_code: str) ---> requests.Response:
url = f"https://api-laas.wanted.co.kr/api/document/{collection_code}/{doc_id}"
headers = {
"Content-Type": "application/json",
"apiKey": api_key,
"project": project_code
}
return requests.delete(url, headers=headers)

문서 검색

ID 기반 유사도 검색

지정한 DOC_ID문서와 유사한 문서 조각을 검색합니다.

def find_similar_documents(collection_code: str, doc_id: str, api_key: str, project_code: str, limit: int, offset: int) ---> requests.Response:
url = f"https://api-laas.wanted.co.kr/api/document/{collection_code}/similar/{doc_id}"
headers = {
"Content-Type": "application/json",
"apiKey": api_key,
"project": project_code
}
data = {
"limit": limit,
"offset": offset
}
return requests.post(url, headers=headers, json=data)

문자열 기반 유사도 검색

입력된 텍스트 TEXT 와 유사한 문서를 검색합니다. 임베딩 모델이 사용됩니다.

def find_similar_documents_by_text(collection_code: str, api_key: str, project_code: str, text: str, limit: int, offset: int) ---> requests.Response:
url = f"https://api-laas.wanted.co.kr/api/document/{collection_code}/similar/text"
headers = {
"Content-Type": "application/json",
"apiKey": api_key,
"project": project_code
}
data = {
"text": text,
"limit": limit,
"offset": offset
}
return requests.post(url, headers=headers, json=data)