using AIStudio.Provider;
namespace AIStudio.Settings;
///
/// A data source whose content AI Studio embeds and indexes itself.
///
///
/// The embedding signature, the chunking and the embedding provider are worked out from these
/// members alone. That is why the indexer serves every data source implementing this interface,
/// whether it is stored in DataSources or not.
///
public interface IIndexedDataSource : IDataSourceBase
{
///
/// Which provider confidence level is required by this data source?
///
public ConfidenceLevel ConfidenceLevel { get; init; }
///
/// The unique identifier of the embedding provider used by this data source.
///
public string EmbeddingId { get; init; }
///
/// Optional maximum number of tokens per embedding chunk for this data source.
/// A value of 0 means the embedding provider's setting is used.
///
public int MaxChunkTokenLength { get; init; }
///
/// Optional number of tokens to overlap between consecutive chunks.
///
public int ChunkOverlapTokenLength { get; init; }
}