namespace Foxel.Services.Interface;
public interface IAiService
{
///
/// 分析图像并返回标题和描述
///
/// Base64格式的图像数据
/// 图像的标题和描述
Task<(string title, string description)> AnalyzeImageAsync(string base64Image);
///
/// 基于描述匹配标签
///
/// 图片描述
/// 可用标签列表
/// 匹配的标签名称列表
Task> MatchTagsAsync(string description, List availableTags);
///
/// 直接从图像生成标签
///
/// Base64格式的图像数据
/// 可用标签列表
/// 是否允许生成新标签(不在availableTags中的标签)
/// 匹配的标签名称列表
Task> GenerateTagsFromImageAsync(string base64Image, List availableTags, bool allowNewTags = false);
///
/// 获取文本的嵌入向量
///
/// 需要进行嵌入的文本
/// 表示文本语义的浮点数组向量
Task GetEmbeddingAsync(string text);
}