namespace VectorSearchApp.Configuration;

public class AppConfiguration
{
    public QdrantConfiguration Qdrant { get; set; } = new();
    public EmbeddingConfiguration Embedding { get; set; } = new();
    public AppSettings App { get; set; } = new();
}

public class QdrantConfiguration
{
    public string Host { get; set; } = "localhost";
    public int GrpcPort { get; set; } = 6334;
    public int HttpPort { get; set; } = 6333;
    public string CollectionName { get; set; } = "addresses";
}

public class EmbeddingConfiguration
{
	public string ModelName { get; set; } = "sentence-transformers/all-MiniLM-L6-v2";
	public int Dimension { get; set; } = 384;
	public string ApiToken { get; set; } = string.Empty;
	public bool UseLocalInference { get; set; } = true;
}

public class AppSettings
{
    public int BatchSize { get; set; } = 10;
}