示例#1
0
        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));
        }