mirror of
https://github.com/DrizzleTime/Foxel.git
synced 2026-05-12 11:32:56 +08:00
36 lines
1.4 KiB
C#
36 lines
1.4 KiB
C#
namespace Foxel.Services.AI;
|
|
|
|
public interface IAiService
|
|
{
|
|
/// <summary>
|
|
/// 分析图像并返回标题和描述
|
|
/// </summary>
|
|
/// <param name="base64Image">Base64格式的图像数据</param>
|
|
/// <returns>图像的标题和描述</returns>
|
|
Task<(string title, string description)> AnalyzeImageAsync(string base64Image);
|
|
|
|
/// <summary>
|
|
/// 基于描述匹配标签
|
|
/// </summary>
|
|
/// <param name="description">图片描述</param>
|
|
/// <param name="availableTags">可用标签列表</param>
|
|
/// <returns>匹配的标签名称列表</returns>
|
|
Task<List<string>> MatchTagsAsync(string description, List<string> availableTags);
|
|
|
|
/// <summary>
|
|
/// 直接从图像生成标签
|
|
/// </summary>
|
|
/// <param name="base64Image">Base64格式的图像数据</param>
|
|
/// <param name="availableTags">可用标签列表</param>
|
|
/// <param name="allowNewTags">是否允许生成新标签(不在availableTags中的标签)</param>
|
|
/// <returns>匹配的标签名称列表</returns>
|
|
Task<List<string>> GenerateTagsFromImageAsync(string base64Image, List<string> availableTags, bool allowNewTags = false);
|
|
|
|
/// <summary>
|
|
/// 获取文本的嵌入向量
|
|
/// </summary>
|
|
/// <param name="text">需要进行嵌入的文本</param>
|
|
/// <returns>表示文本语义的浮点数组向量</returns>
|
|
Task<float[]> GetEmbeddingAsync(string text);
|
|
}
|