package com.agent.management.service;

import java.util.List;

/**
 * 文档向量化服务（基于 Spring AI EmbeddingModel）
 *
 * <p>当 Spring AI 的 EmbeddingModel bean 不存在（如 yml 未配置 api-key）
 * 或调用失败时，本服务抛出 {@link com.agent.management.common.exception.BusinessException}，
 * 上层将其转为文档 FAILED 状态，UI 显示明确错误。</p>
 */
public interface EmbeddingService {

    /**
     * 批量向量化
     *
     * @param texts 文本块列表
     * @return 向量列表（与入参一一对应，每个向量为 float[]）
     * @throws com.agent.management.common.exception.BusinessException 当 EmbeddingModel 不可用或调用失败
     */
    List<float[]> embedBatch(List<String> texts);

    /**
     * EmbeddingModel 是否可用（用于 UI 提示）
     */
    boolean isAvailable();
}
