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; // Predefined model configurations public static class Models { public const string DefaultMiniLM = "sentence-transformers/all-MiniLM-L6-v2"; public const string AddressTunedMiniLM = "jarredparrett/all-MiniLM-L6-v2_tuned_on_deepparse_address_mutations_comb_3"; public const string AddressTunedMiniLMAlias = "custom-all-MiniLM-L6-v2-address"; } } public class AppSettings { public int BatchSize { get; set; } = 10; }