C#를 활용한 문서 폴더 관리 API
문서 조각 관리
문서 조각 추가
이미 존재하는 DOC_ID를 사용해 문서 조각을 추가하면 덮어쓰여집니다.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
public class ApiClient
{
    private readonly HttpClient _httpClient;
    public ApiClient()
    {
        _httpClient = new HttpClient();
    }
    public async Task<HttpResponseMessage--> UpdateDocument(string collectionCode, string docId, string apiKey, string projectCode, string text)
    {
        var url = $"https://api-laas.wanted.co.kr/api/document/{collectionCode}/{docId}";
        var requestContent = new StringContent($"{{\"text\": \"{text}\"}}", Encoding.UTF8, "application/json");
        _httpClient.DefaultRequestHeaders.Clear();
        _httpClient.DefaultRequestHeaders.Add("apiKey", apiKey);
        _httpClient.DefaultRequestHeaders.Add("project", projectCode);
        return await _httpClient.PutAsync(url, requestContent);
    }
}
문서 조각 조회
public async Task<HttpResponseMessage--> GetDocument(string collectionCode, string docId, string apiKey, string projectCode)
{
    var url = $"https://api-laas.wanted.co.kr/api/document/{collectionCode}/{docId}";
    _httpClient.DefaultRequestHeaders.Clear();
    _httpClient.DefaultRequestHeaders.Add("apiKey", apiKey);
    _httpClient.DefaultRequestHeaders.Add("project", projectCode);
    return await _httpClient.GetAsync(url);
}
문서 조각 삭제
public async Task<HttpResponseMessage--> DeleteDocument(string collectionCode, string docId, string apiKey, string projectCode)
{
    var url = $"https://api-laas.wanted.co.kr/api/document/{collectionCode}/{docId}";
    _httpClient.DefaultRequestHeaders.Clear();
    _httpClient.DefaultRequestHeaders.Add("apiKey", apiKey);
    _httpClient.DefaultRequestHeaders.Add("project", projectCode);
    return await _httpClient.DeleteAsync(url);
}
문서 검색
ID 기반 유사도 검색
지정한 DOC_ID문서와 유사한 문서 조각을 검색합니다.
public async Task<HttpResponseMessage--> FindSimilarDocuments(string collectionCode, string docId, string apiKey, string projectCode, int limit, int offset)
{
    var url = $"https://api-laas.wanted.co.kr/api/document/{collectionCode}/similar/{docId}";
    var requestContent = new StringContent($"{{\"limit\": {limit}, \"offset\": {offset}}}", Encoding.UTF8, "application/json");
    _httpClient.DefaultRequestHeaders.Clear();
    _httpClient.DefaultRequestHeaders.Add("apiKey", apiKey);
    _httpClient.DefaultRequestHeaders.Add("project", projectCode);
    return await _httpClient.PostAsync(url, requestContent);
}
문자열 기반 유사도 검색
입력된 텍스트 TEXT 와 유사한 문서를 검색합니다. 임베딩 모델이 사용됩니다.
public async Task<HttpResponseMessage--> FindSimilarDocumentsByText(string collectionCode, string apiKey, string projectCode, string text, int limit, int offset)
{
    var url = $"https://api-laas.wanted.co.kr/api/document/{collectionCode}/similar/text";
    var requestContent = new StringContent($"{{\"text\": \"{text}\", \"limit\": {limit}, \"offset\": {offset}}}", Encoding.UTF8, "application/json");
    _httpClient.DefaultRequestHeaders.Clear();
    _httpClient.DefaultRequestHeaders.Add("apiKey", apiKey);
    _httpClient.DefaultRequestHeaders.Add("project", projectCode);
    return await _httpClient.PostAsync(url, requestContent);
}