public async Task <IActionResult> Similarity([FromBody] SimilarityRequestDto similarityRequest, [FromQuery(Name = "threshold")] double threshold = 0.0, [FromQuery(Name = "limit")] int limit = 10, [FromQuery(Name = "model")] string model = "ft") { var result = await _similarityService.PerformRessourceSimilarity(similarityRequest, threshold, limit, model); return(Ok(result)); }
/// <summary> /// <see cref="IRemoteSimilarityService.Similarity(SimilarityRequestDto)"/> /// </summary> public async Task <JObject> PerformRessourceSimilarity(SimilarityRequestDto query, double threshold, int limit, string model) { string json = JsonConvert.SerializeObject(query); var data = new StringContent(json, Encoding.UTF8, MediaTypeNames.Application.Json); var url = $"{_similarityServiceUrl}/api/v1/similarity/resource?limit={limit}&model={model}&threshold={threshold}"; using var client = new HttpClient(); var response = await client.PostAsync(url, data); string result = await response.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <JObject>(result)); }