From bcbb7d2d92ff110d37ed77625963d9bf09b8b14c Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Mon, 6 Jan 2025 19:07:12 +0100 Subject: [PATCH] Defined interfaces for internal & external data sources --- .../Settings/DataModel/DataSourceERI_V1.cs | 2 +- .../Settings/DataModel/DataSourceLocalDirectory.cs | 5 ++++- .../Settings/DataModel/DataSourceLocalFile.cs | 5 ++++- app/MindWork AI Studio/Settings/IExternalDataSource.cs | 3 +++ app/MindWork AI Studio/Settings/IInternalDataSource.cs | 9 +++++++++ 5 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 app/MindWork AI Studio/Settings/IExternalDataSource.cs create mode 100644 app/MindWork AI Studio/Settings/IInternalDataSource.cs diff --git a/app/MindWork AI Studio/Settings/DataModel/DataSourceERI_V1.cs b/app/MindWork AI Studio/Settings/DataModel/DataSourceERI_V1.cs index f06fbc7c..eb38167d 100644 --- a/app/MindWork AI Studio/Settings/DataModel/DataSourceERI_V1.cs +++ b/app/MindWork AI Studio/Settings/DataModel/DataSourceERI_V1.cs @@ -6,7 +6,7 @@ namespace AIStudio.Settings.DataModel; /// /// An external data source, accessed via an ERI server, cf. https://github.com/MindWorkAI/ERI. /// -public readonly record struct DataSourceERI_V1 : IDataSource +public readonly record struct DataSourceERI_V1 : IExternalDataSource { public DataSourceERI_V1() { diff --git a/app/MindWork AI Studio/Settings/DataModel/DataSourceLocalDirectory.cs b/app/MindWork AI Studio/Settings/DataModel/DataSourceLocalDirectory.cs index 0f9b2fde..963b9ba1 100644 --- a/app/MindWork AI Studio/Settings/DataModel/DataSourceLocalDirectory.cs +++ b/app/MindWork AI Studio/Settings/DataModel/DataSourceLocalDirectory.cs @@ -3,7 +3,7 @@ namespace AIStudio.Settings.DataModel; /// /// Represents a local directory as a data source. /// -public readonly record struct DataSourceLocalDirectory : IDataSource +public readonly record struct DataSourceLocalDirectory : IInternalDataSource { public DataSourceLocalDirectory() { @@ -21,6 +21,9 @@ public readonly record struct DataSourceLocalDirectory : IDataSource /// public DataSourceType Type { get; init; } = DataSourceType.NONE; + /// + public string EmbeddingId { get; init; } = Guid.Empty.ToString(); + /// /// The path to the directory. /// diff --git a/app/MindWork AI Studio/Settings/DataModel/DataSourceLocalFile.cs b/app/MindWork AI Studio/Settings/DataModel/DataSourceLocalFile.cs index 7c70c76b..a6088190 100644 --- a/app/MindWork AI Studio/Settings/DataModel/DataSourceLocalFile.cs +++ b/app/MindWork AI Studio/Settings/DataModel/DataSourceLocalFile.cs @@ -3,7 +3,7 @@ namespace AIStudio.Settings.DataModel; /// /// Represents one local file as a data source. /// -public readonly record struct DataSourceLocalFile : IDataSource +public readonly record struct DataSourceLocalFile : IInternalDataSource { public DataSourceLocalFile() { @@ -21,6 +21,9 @@ public readonly record struct DataSourceLocalFile : IDataSource /// public DataSourceType Type { get; init; } = DataSourceType.NONE; + /// + public string EmbeddingId { get; init; } = Guid.Empty.ToString(); + /// /// The path to the file. /// diff --git a/app/MindWork AI Studio/Settings/IExternalDataSource.cs b/app/MindWork AI Studio/Settings/IExternalDataSource.cs new file mode 100644 index 00000000..ffe08bad --- /dev/null +++ b/app/MindWork AI Studio/Settings/IExternalDataSource.cs @@ -0,0 +1,3 @@ +namespace AIStudio.Settings; + +public interface IExternalDataSource : IDataSource; \ No newline at end of file diff --git a/app/MindWork AI Studio/Settings/IInternalDataSource.cs b/app/MindWork AI Studio/Settings/IInternalDataSource.cs new file mode 100644 index 00000000..0ffa7dea --- /dev/null +++ b/app/MindWork AI Studio/Settings/IInternalDataSource.cs @@ -0,0 +1,9 @@ +namespace AIStudio.Settings; + +public interface IInternalDataSource : IDataSource +{ + /// + /// The unique identifier of the embedding method used by this internal data source. + /// + public string EmbeddingId { get; init; } +} \ No newline at end of file