using System.Threading;
using xAiModels.Models;
using xAiModels.Models.Dtos;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
namespace xAiApi.Interfaces
{
public interface IXAiServiceControllerBase
{
//
#region Actions ...
///
/// Ask Question and Get Response ...
///
///
///
///
[HttpGet("AskText")]
Task> AskText(
[FromQuery] string question,
CancellationToken cancellationToken = default
);
///
/// Ask Question and Get Response Stream ...
///
///
///
///
[HttpGet("AskTextStream")]
Task AskTextStream(
[FromQuery] string question,
CancellationToken cancellationToken = default
);
#endregion
//
#region Data Provided Actions ...
///
/// Load AI Projects ...
///
///
///
[HttpGet("LoadProjects")]
Task>> LoadProjects(
CancellationToken cancellationToken = default
);
///
/// Ask Question and Get Response ...
///
///
///
///
[HttpPost("Ask")]
Task> Ask(
[FromBody] XAiResponseRequest request,
CancellationToken cancellationToken = default
);
///
/// Ask Question and Get Response Stream ...
///
///
///
///
[HttpPost("AskStream")]
Task AskStream(
[FromBody] XAiResponseRequest request,
CancellationToken cancellationToken = default
);
#endregion
}
}