using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using xAiApi.Base; using xAiApi.Helpers; using xCommons.Configurations; using xCommons.Providers; using xIdentityHelper; using xIdentityService.Interfaces; namespace xAiApi.Controllers.V1 { public class OllamaController : XIBaseV1Controller { public OllamaController( ILogger logger, XAppConfiguration appConfiguration, IXIdentityProvider identityProvider, XValidationProvider validationProvider ) : base( logger, appConfiguration, identityProvider, validationProvider ) { } // #region Actions ... /// /// Retrieve Ollama Version ... /// /// [HttpGet("Version")] [Authorize(Policy = XPolicies.Admin)] public async Task> GetVersion() { // // Do ... try { // var result = await XOllamaHelper.GetVersion(); // return Ok(result); } catch (Exception ex) { // var result = GetExceptionActionResult(ex); return result; } } /// /// Retrieve a List of Available models ... /// /// [HttpGet("Models")] [Authorize(Policy = XPolicies.Admin)] public async Task>> GetModels() { // // Do ... try { // var result = await XOllamaHelper.GetModels(); // return Ok(result); } catch (Exception ex) { // var result = GetExceptionActionResult(ex); return result; } } /// /// Find a model ... /// /// [HttpGet("FindModel")] [Authorize(Policy = XPolicies.Admin)] public async Task>> FindModel( [FromQuery] string model ) { // // Do ... try { // var result = await XOllamaHelper.FindModel(model); // return Ok(result); } catch (Exception ex) { // var result = GetExceptionActionResult(ex); return result; } } #endregion } }