Localized database information (#658)
Some checks failed
Build and Release / Read metadata (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg updater) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis updater) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, appimage deb updater) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg updater) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis updater) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage deb updater) (push) Has been cancelled
Build and Release / Prepare & create release (push) Has been cancelled
Build and Release / Publish release (push) Has been cancelled

This commit is contained in:
Thorsten Sommer 2026-02-08 17:46:38 +01:00 committed by GitHub
parent 4eb58eb56d
commit 891b90819b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 64 additions and 19 deletions

View File

@ -5833,6 +5833,21 @@ UI_TEXT_CONTENT["AISTUDIO::TOOLS::CONFIDENCESCHEMESEXTENSIONS::T3893997203"] = "
-- Trust all LLM providers -- Trust all LLM providers
UI_TEXT_CONTENT["AISTUDIO::TOOLS::CONFIDENCESCHEMESEXTENSIONS::T4107860491"] = "Trust all LLM providers" UI_TEXT_CONTENT["AISTUDIO::TOOLS::CONFIDENCESCHEMESEXTENSIONS::T4107860491"] = "Trust all LLM providers"
-- Storage size
UI_TEXT_CONTENT["AISTUDIO::TOOLS::DATABASES::QDRANT::QDRANTCLIENTIMPLEMENTATION::T1230141403"] = "Storage size"
-- HTTP port
UI_TEXT_CONTENT["AISTUDIO::TOOLS::DATABASES::QDRANT::QDRANTCLIENTIMPLEMENTATION::T1717573768"] = "HTTP port"
-- Reported version
UI_TEXT_CONTENT["AISTUDIO::TOOLS::DATABASES::QDRANT::QDRANTCLIENTIMPLEMENTATION::T3556099842"] = "Reported version"
-- gRPC port
UI_TEXT_CONTENT["AISTUDIO::TOOLS::DATABASES::QDRANT::QDRANTCLIENTIMPLEMENTATION::T757840040"] = "gRPC port"
-- Number of collections
UI_TEXT_CONTENT["AISTUDIO::TOOLS::DATABASES::QDRANT::QDRANTCLIENTIMPLEMENTATION::T842647336"] = "Number of collections"
-- The related data is not allowed to be sent to any LLM provider. This means that this data source cannot be used at the moment. -- The related data is not allowed to be sent to any LLM provider. This means that this data source cannot be used at the moment.
UI_TEXT_CONTENT["AISTUDIO::TOOLS::ERICLIENT::DATAMODEL::PROVIDERTYPEEXTENSIONS::T1555790630"] = "The related data is not allowed to be sent to any LLM provider. This means that this data source cannot be used at the moment." UI_TEXT_CONTENT["AISTUDIO::TOOLS::ERICLIENT::DATAMODEL::PROVIDERTYPEEXTENSIONS::T1555790630"] = "The related data is not allowed to be sent to any LLM provider. This means that this data source cannot be used at the moment."

View File

@ -24,7 +24,7 @@
<MudText Typo="Typo.body1"> <MudText Typo="Typo.body1">
@this.VersionDatabase @this.VersionDatabase
</MudText> </MudText>
<MudCollapse Expanded="@showDatabaseDetails"> <MudCollapse Expanded="@this.showDatabaseDetails">
<MudText Typo="Typo.body1" Class="mt-2 mb-2"> <MudText Typo="Typo.body1" Class="mt-2 mb-2">
@foreach (var item in this.databaseDisplayInfo) @foreach (var item in this.databaseDisplayInfo)
{ {

View File

@ -5835,6 +5835,21 @@ UI_TEXT_CONTENT["AISTUDIO::TOOLS::CONFIDENCESCHEMESEXTENSIONS::T3893997203"] = "
-- Trust all LLM providers -- Trust all LLM providers
UI_TEXT_CONTENT["AISTUDIO::TOOLS::CONFIDENCESCHEMESEXTENSIONS::T4107860491"] = "Allen LLM-Anbietern vertrauen" UI_TEXT_CONTENT["AISTUDIO::TOOLS::CONFIDENCESCHEMESEXTENSIONS::T4107860491"] = "Allen LLM-Anbietern vertrauen"
-- Storage size
UI_TEXT_CONTENT["AISTUDIO::TOOLS::DATABASES::QDRANT::QDRANTCLIENTIMPLEMENTATION::T1230141403"] = "Speichergröße"
-- HTTP port
UI_TEXT_CONTENT["AISTUDIO::TOOLS::DATABASES::QDRANT::QDRANTCLIENTIMPLEMENTATION::T1717573768"] = "HTTP-Port"
-- Reported version
UI_TEXT_CONTENT["AISTUDIO::TOOLS::DATABASES::QDRANT::QDRANTCLIENTIMPLEMENTATION::T3556099842"] = "Gemeldete Version"
-- gRPC port
UI_TEXT_CONTENT["AISTUDIO::TOOLS::DATABASES::QDRANT::QDRANTCLIENTIMPLEMENTATION::T757840040"] = "gRPC-Port"
-- Number of collections
UI_TEXT_CONTENT["AISTUDIO::TOOLS::DATABASES::QDRANT::QDRANTCLIENTIMPLEMENTATION::T842647336"] = "Anzahl der Collections"
-- The related data is not allowed to be sent to any LLM provider. This means that this data source cannot be used at the moment. -- The related data is not allowed to be sent to any LLM provider. This means that this data source cannot be used at the moment.
UI_TEXT_CONTENT["AISTUDIO::TOOLS::ERICLIENT::DATAMODEL::PROVIDERTYPEEXTENSIONS::T1555790630"] = "Die zugehörigen Daten dürfen an keinen LLM-Anbieter gesendet werden. Das bedeutet, dass diese Datenquelle momentan nicht verwendet werden kann." UI_TEXT_CONTENT["AISTUDIO::TOOLS::ERICLIENT::DATAMODEL::PROVIDERTYPEEXTENSIONS::T1555790630"] = "Die zugehörigen Daten dürfen an keinen LLM-Anbieter gesendet werden. Das bedeutet, dass diese Datenquelle momentan nicht verwendet werden kann."

View File

@ -5835,6 +5835,21 @@ UI_TEXT_CONTENT["AISTUDIO::TOOLS::CONFIDENCESCHEMESEXTENSIONS::T3893997203"] = "
-- Trust all LLM providers -- Trust all LLM providers
UI_TEXT_CONTENT["AISTUDIO::TOOLS::CONFIDENCESCHEMESEXTENSIONS::T4107860491"] = "Trust all LLM providers" UI_TEXT_CONTENT["AISTUDIO::TOOLS::CONFIDENCESCHEMESEXTENSIONS::T4107860491"] = "Trust all LLM providers"
-- Storage size
UI_TEXT_CONTENT["AISTUDIO::TOOLS::DATABASES::QDRANT::QDRANTCLIENTIMPLEMENTATION::T1230141403"] = "Storage size"
-- HTTP port
UI_TEXT_CONTENT["AISTUDIO::TOOLS::DATABASES::QDRANT::QDRANTCLIENTIMPLEMENTATION::T1717573768"] = "HTTP port"
-- Reported version
UI_TEXT_CONTENT["AISTUDIO::TOOLS::DATABASES::QDRANT::QDRANTCLIENTIMPLEMENTATION::T3556099842"] = "Reported version"
-- gRPC port
UI_TEXT_CONTENT["AISTUDIO::TOOLS::DATABASES::QDRANT::QDRANTCLIENTIMPLEMENTATION::T757840040"] = "gRPC port"
-- Number of collections
UI_TEXT_CONTENT["AISTUDIO::TOOLS::DATABASES::QDRANT::QDRANTCLIENTIMPLEMENTATION::T842647336"] = "Number of collections"
-- The related data is not allowed to be sent to any LLM provider. This means that this data source cannot be used at the moment. -- The related data is not allowed to be sent to any LLM provider. This means that this data source cannot be used at the moment.
UI_TEXT_CONTENT["AISTUDIO::TOOLS::ERICLIENT::DATAMODEL::PROVIDERTYPEEXTENSIONS::T1555790630"] = "The related data is not allowed to be sent to any LLM provider. This means that this data source cannot be used at the moment." UI_TEXT_CONTENT["AISTUDIO::TOOLS::ERICLIENT::DATAMODEL::PROVIDERTYPEEXTENSIONS::T1555790630"] = "The related data is not allowed to be sent to any LLM provider. This means that this data source cannot be used at the moment."

View File

@ -5,12 +5,12 @@ public abstract class DatabaseClient(string name, string path)
public string Name => name; public string Name => name;
private string Path => path; private string Path => path;
protected ILogger<DatabaseClient>? logger; private ILogger<DatabaseClient>? logger;
public abstract IAsyncEnumerable<(string Label, string Value)> GetDisplayInfo(); public abstract IAsyncEnumerable<(string Label, string Value)> GetDisplayInfo();
public string GetStorageSize() protected string GetStorageSize()
{ {
if (string.IsNullOrWhiteSpace(this.Path)) if (string.IsNullOrWhiteSpace(this.Path))
{ {
@ -28,8 +28,8 @@ public abstract class DatabaseClient(string name, string path)
var size = files.Sum(file => new FileInfo(file).Length); var size = files.Sum(file => new FileInfo(file).Length);
return FormatBytes(size); return FormatBytes(size);
} }
public static string FormatBytes(long size) private static string FormatBytes(long size)
{ {
string[] suffixes = { "B", "KB", "MB", "GB", "TB", "PB" }; string[] suffixes = { "B", "KB", "MB", "GB", "TB", "PB" };
int suffixIndex = 0; int suffixIndex = 0;

View File

@ -1,10 +1,13 @@
using Qdrant.Client; using Qdrant.Client;
using Qdrant.Client.Grpc; using Qdrant.Client.Grpc;
using AIStudio.Tools.PluginSystem;
namespace AIStudio.Tools.Databases.Qdrant; namespace AIStudio.Tools.Databases.Qdrant;
public class QdrantClientImplementation : DatabaseClient public class QdrantClientImplementation : DatabaseClient
{ {
private static string TB(string fallbackEN) => I18N.I.T(fallbackEN, typeof(QdrantClientImplementation).Namespace, nameof(QdrantClientImplementation));
private int HttpPort { get; } private int HttpPort { get; }
private int GrpcPort { get; } private int GrpcPort { get; }
@ -25,8 +28,8 @@ public class QdrantClientImplementation : DatabaseClient
} }
private const string IP_ADDRESS = "localhost"; private const string IP_ADDRESS = "localhost";
public QdrantClient CreateQdrantClient() private QdrantClient CreateQdrantClient()
{ {
var address = "https://" + IP_ADDRESS + ":" + this.GrpcPort; var address = "https://" + IP_ADDRESS + ":" + this.GrpcPort;
var channel = QdrantChannel.ForAddress(address, new ClientConfiguration var channel = QdrantChannel.ForAddress(address, new ClientConfiguration
@ -38,13 +41,13 @@ public class QdrantClientImplementation : DatabaseClient
return new QdrantClient(grpcClient); return new QdrantClient(grpcClient);
} }
public async Task<string> GetVersion() private async Task<string> GetVersion()
{ {
var operation = await this.GrpcClient.HealthAsync(); var operation = await this.GrpcClient.HealthAsync();
return "v"+operation.Version; return "v"+operation.Version;
} }
public async Task<string> GetCollectionsAmount() private async Task<string> GetCollectionsAmount()
{ {
var operation = await this.GrpcClient.ListCollectionsAsync(); var operation = await this.GrpcClient.ListCollectionsAsync();
return operation.Count.ToString(); return operation.Count.ToString();
@ -52,15 +55,12 @@ public class QdrantClientImplementation : DatabaseClient
public override async IAsyncEnumerable<(string Label, string Value)> GetDisplayInfo() public override async IAsyncEnumerable<(string Label, string Value)> GetDisplayInfo()
{ {
yield return ("HTTP port", this.HttpPort.ToString()); yield return (TB("HTTP port"), this.HttpPort.ToString());
yield return ("gRPC port", this.GrpcPort.ToString()); yield return (TB("gRPC port"), this.GrpcPort.ToString());
yield return ("Extracted version", await this.GetVersion()); yield return (TB("Reported version"), await this.GetVersion());
yield return ("Storage size", $"{base.GetStorageSize()}"); yield return (TB("Storage size"), $"{this.GetStorageSize()}");
yield return ("Amount of collections", await this.GetCollectionsAmount()); yield return (TB("Number of collections"), await this.GetCollectionsAmount());
} }
public override void Dispose() public override void Dispose() => this.GrpcClient.Dispose();
{
this.GrpcClient.Dispose();
}
} }