Files
2026-04-17 03:04:28 +03:30

61 lines
1.8 KiB
C#

using System.IO;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.AI;
using xAiService.Configurations;
using xIdentityModels.Models;
using xIdentityService.Interfaces;
namespace xAiService.Interfaces
{
public interface IXAiService : IXBaseIdentityHttpProvider
{
/// <summary>
/// XAiService Configurations ...
/// </summary>
/// <value></value>
XAIServiceConfiguration Configuration { get; }
//
#region Text Actions ...
/// <summary>
/// Generated Response ...
/// </summary>
/// <param name="prompt"></param>
/// <param name="userInfo"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public Task<ChatResponse> GetResponseAsync(
string prompt,
XUserClaimsInfoDto userInfo,
CancellationToken cancellationToken = default
);
/// <summary>
/// Generated Response ...
/// </summary>
/// <param name="prompt"></param>
/// <param name="userInfo"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public Task<string> GetTextResponseAsync(
string prompt,
XUserClaimsInfoDto userInfo,
CancellationToken cancellationToken = default
);
/// <summary>
/// Generate Text Response Stream ...
/// </summary>
/// <param name="prompt"></param>
/// <param name="userInfo"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task<Stream> GetTextReponseStreamAsync(
string prompt,
XUserClaimsInfoDto userInfo,
CancellationToken cancellationToken = default
);
#endregion
}
}