mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-08-21 04:12:56 +00:00
Merge remote-tracking branch 'refs/remotes/github/main' into fork/peerschuett/chat_templates
# Conflicts: # app/MindWork AI Studio/Components/Settings/SettingsPanelChat.razor
This commit is contained in:
commit
6d648b9224
4
.github/workflows/build-and-release.yml
vendored
4
.github/workflows/build-and-release.yml
vendored
@ -425,13 +425,13 @@ jobs:
|
|||||||
if: matrix.platform == 'ubuntu-22.04' && contains(matrix.rust_target, 'x86_64')
|
if: matrix.platform == 'ubuntu-22.04' && contains(matrix.rust_target, 'x86_64')
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
|
sudo apt-get install -y libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf libfuse2
|
||||||
|
|
||||||
- name: Setup dependencies (Ubuntu-specific, ARM)
|
- name: Setup dependencies (Ubuntu-specific, ARM)
|
||||||
if: matrix.platform == 'ubuntu-22.04-arm' && contains(matrix.rust_target, 'aarch64')
|
if: matrix.platform == 'ubuntu-22.04-arm' && contains(matrix.rust_target, 'aarch64')
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
|
sudo apt-get install -y libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf libfuse2
|
||||||
|
|
||||||
- name: Setup Tauri (Unix)
|
- name: Setup Tauri (Unix)
|
||||||
if: matrix.platform != 'windows-latest'
|
if: matrix.platform != 'windows-latest'
|
||||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +1,6 @@
|
|||||||
|
# Ignore any startup.env file:
|
||||||
|
startup.env
|
||||||
|
|
||||||
# Ignore pdfium library:
|
# Ignore pdfium library:
|
||||||
libpdfium.dylib
|
libpdfium.dylib
|
||||||
libpdfium.so
|
libpdfium.so
|
||||||
|
@ -31,9 +31,9 @@ Things we are currently working on:
|
|||||||
- [x] ~~Plan & implement the base plugin system ([PR #322](https://github.com/MindWorkAI/AI-Studio/pull/322))~~
|
- [x] ~~Plan & implement the base plugin system ([PR #322](https://github.com/MindWorkAI/AI-Studio/pull/322))~~
|
||||||
- [x] ~~Start the plugin system ([PR #372](https://github.com/MindWorkAI/AI-Studio/pull/372))~~
|
- [x] ~~Start the plugin system ([PR #372](https://github.com/MindWorkAI/AI-Studio/pull/372))~~
|
||||||
- [x] ~~Added hot-reload support for plugins ([PR #377](https://github.com/MindWorkAI/AI-Studio/pull/377), [PR #391](https://github.com/MindWorkAI/AI-Studio/pull/391))~~
|
- [x] ~~Added hot-reload support for plugins ([PR #377](https://github.com/MindWorkAI/AI-Studio/pull/377), [PR #391](https://github.com/MindWorkAI/AI-Studio/pull/391))~~
|
||||||
- [ ] Add support for other languages (I18N) to AI Studio (~~[PR #381](https://github.com/MindWorkAI/AI-Studio/pull/381), [PR #400](https://github.com/MindWorkAI/AI-Studio/pull/400), [PR #404](https://github.com/MindWorkAI/AI-Studio/pull/404), [PR #429](https://github.com/MindWorkAI/AI-Studio/pull/429), [PR #446](https://github.com/MindWorkAI/AI-Studio/pull/446))~~
|
- [ ] Add support for other languages (I18N) to AI Studio (~~[PR #381](https://github.com/MindWorkAI/AI-Studio/pull/381), [PR #400](https://github.com/MindWorkAI/AI-Studio/pull/400), [PR #404](https://github.com/MindWorkAI/AI-Studio/pull/404), [PR #429](https://github.com/MindWorkAI/AI-Studio/pull/429), [PR #446](https://github.com/MindWorkAI/AI-Studio/pull/446), [PR #451](https://github.com/MindWorkAI/AI-Studio/pull/451), [PR #455](https://github.com/MindWorkAI/AI-Studio/pull/455), [PR #458](https://github.com/MindWorkAI/AI-Studio/pull/458), [PR #462](https://github.com/MindWorkAI/AI-Studio/pull/462), [PR #469](https://github.com/MindWorkAI/AI-Studio/pull/469))~~
|
||||||
- [x] ~~Add an I18N assistant to translate all AI Studio texts to a certain language & culture ([PR #422](https://github.com/MindWorkAI/AI-Studio/pull/422))~~
|
- [x] ~~Add an I18N assistant to translate all AI Studio texts to a certain language & culture ([PR #422](https://github.com/MindWorkAI/AI-Studio/pull/422))~~
|
||||||
- [ ] Provide MindWork AI Studio in German (~~[PR #430](https://github.com/MindWorkAI/AI-Studio/pull/430), [PR #446](https://github.com/MindWorkAI/AI-Studio/pull/446)~~)
|
- [ ] Provide MindWork AI Studio in German (~~[PR #430](https://github.com/MindWorkAI/AI-Studio/pull/430), [PR #446](https://github.com/MindWorkAI/AI-Studio/pull/446), [PR #451](https://github.com/MindWorkAI/AI-Studio/pull/451), [PR #455](https://github.com/MindWorkAI/AI-Studio/pull/455), [PR #458](https://github.com/MindWorkAI/AI-Studio/pull/458), [PR #462](https://github.com/MindWorkAI/AI-Studio/pull/462), [PR #469](https://github.com/MindWorkAI/AI-Studio/pull/469)~~)
|
||||||
- [ ] Add configuration plugins, which allow pre-defining some LLM providers in organizations
|
- [ ] Add configuration plugins, which allow pre-defining some LLM providers in organizations
|
||||||
- [ ] Add an app store for plugins, showcasing community-contributed plugins from public GitHub and GitLab repositories. This will enable AI Studio users to discover, install, and update plugins directly within the platform.
|
- [ ] Add an app store for plugins, showcasing community-contributed plugins from public GitHub and GitLab repositories. This will enable AI Studio users to discover, install, and update plugins directly within the platform.
|
||||||
- [ ] Add assistant plugins
|
- [ ] Add assistant plugins
|
||||||
@ -47,6 +47,7 @@ Other News:
|
|||||||
|
|
||||||
Features we have recently released:
|
Features we have recently released:
|
||||||
|
|
||||||
|
- v0.9.44: Added PDF import to the text summarizer, translation, and legal check assistants, allowing you to import PDF files and use them as input for the assistants.
|
||||||
- v0.9.40: Added support for the `o4` models from OpenAI. Also, we added Alibaba Cloud & Hugging Face as LLM providers.
|
- v0.9.40: Added support for the `o4` models from OpenAI. Also, we added Alibaba Cloud & Hugging Face as LLM providers.
|
||||||
- v0.9.39: Added the plugin system as a preview feature.
|
- v0.9.39: Added the plugin system as a preview feature.
|
||||||
- v0.9.31: Added Helmholtz & GWDG as LLM providers. This is a huge improvement for many researchers out there who can use these providers for free. We added DeepSeek as a provider as well.
|
- v0.9.31: Added Helmholtz & GWDG as LLM providers. This is a huge improvement for many researchers out there who can use these providers for free. We added DeepSeek as a provider as well.
|
||||||
@ -55,7 +56,6 @@ Features we have recently released:
|
|||||||
- v0.9.25: Added [xAI](https://x.ai/) as a new provider. xAI provides their Grok models for generating content.
|
- v0.9.25: Added [xAI](https://x.ai/) as a new provider. xAI provides their Grok models for generating content.
|
||||||
- v0.9.23: Added support for OpenAI `o` models (`o1`, `o1-mini`, `o3`, etc.); added also an [ERI](https://github.com/MindWorkAI/ERI) server coding assistant as a preview feature behind the RAG feature flag. Your own ERI server can be used to gain access to, e.g., your enterprise data from within AI Studio.
|
- v0.9.23: Added support for OpenAI `o` models (`o1`, `o1-mini`, `o3`, etc.); added also an [ERI](https://github.com/MindWorkAI/ERI) server coding assistant as a preview feature behind the RAG feature flag. Your own ERI server can be used to gain access to, e.g., your enterprise data from within AI Studio.
|
||||||
- v0.9.22: Added options for preview features; added embedding provider configuration for RAG (preview) and writer mode (experimental preview).
|
- v0.9.22: Added options for preview features; added embedding provider configuration for RAG (preview) and writer mode (experimental preview).
|
||||||
- v0.9.18: Added the new Anthropic Heiku model; added Groq and Google Gemini as provider options.
|
|
||||||
|
|
||||||
## What is AI Studio?
|
## What is AI Studio?
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="Tauri Dev" type="ShConfigurationType">
|
<configuration default="false" name="[1] Start Tauri" type="ShConfigurationType">
|
||||||
<option name="SCRIPT_TEXT" value="cargo tauri dev --no-watch" />
|
<option name="SCRIPT_TEXT" value="cargo tauri dev --no-watch" />
|
||||||
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
|
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
|
||||||
<option name="SCRIPT_PATH" value="" />
|
<option name="SCRIPT_PATH" value="" />
|
27
app/.run/[2] Start .NET Server.run.xml
Normal file
27
app/.run/[2] Start .NET Server.run.xml
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="[2] Start .NET Server" type="DotNetProject" factoryName=".NET Project">
|
||||||
|
<option name="EXE_PATH" value="$PROJECT_DIR$/MindWork AI Studio/bin/Debug/net9.0/osx-arm64/mindworkAIStudio" />
|
||||||
|
<option name="PROGRAM_PARAMETERS" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/MindWork AI Studio" />
|
||||||
|
<option name="PASS_PARENT_ENVS" value="1" />
|
||||||
|
<option name="USE_EXTERNAL_CONSOLE" value="0" />
|
||||||
|
<option name="ENV_FILE_PATHS" value="" />
|
||||||
|
<option name="REDIRECT_INPUT_PATH" value="" />
|
||||||
|
<option name="PTY_MODE" value="Auto" />
|
||||||
|
<option name="USE_MONO" value="0" />
|
||||||
|
<option name="RUNTIME_ARGUMENTS" value="" />
|
||||||
|
<option name="AUTO_ATTACH_CHILDREN" value="0" />
|
||||||
|
<option name="MIXED_MODE_DEBUG" value="0" />
|
||||||
|
<option name="RUNTIME_TYPE" value="coreclr" />
|
||||||
|
<option name="PROJECT_PATH" value="$PROJECT_DIR$/MindWork AI Studio/MindWork AI Studio.csproj" />
|
||||||
|
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
|
||||||
|
<option name="PROJECT_ARGUMENTS_TRACKING" value="1" />
|
||||||
|
<option name="PROJECT_WORKING_DIRECTORY_TRACKING" value="1" />
|
||||||
|
<option name="PROJECT_KIND" value="DotNetCore" />
|
||||||
|
<option name="PROJECT_TFM" value="net9.0" />
|
||||||
|
<method v="2">
|
||||||
|
<option name="Build" />
|
||||||
|
<option name="RunConfigurationTask" enabled="true" run_configuration_name="Collect I18N content" run_configuration_type="ShConfigurationType" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
</component>
|
@ -3,13 +3,15 @@
|
|||||||
|
|
||||||
<MudTextField T="string" @bind-Text="@this.inputName" Validation="@this.ValidateName" Label="@T("Meeting Name")" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.Tag" Variant="Variant.Outlined" Margin="Margin.Dense" UserAttributes="@USER_INPUT_ATTRIBUTES" HelperText="@T("Name the meeting, seminar, etc.")" Placeholder="@T("Weekly jour fixe")" Class="mb-3"/>
|
<MudTextField T="string" @bind-Text="@this.inputName" Validation="@this.ValidateName" Label="@T("Meeting Name")" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.Tag" Variant="Variant.Outlined" Margin="Margin.Dense" UserAttributes="@USER_INPUT_ATTRIBUTES" HelperText="@T("Name the meeting, seminar, etc.")" Placeholder="@T("Weekly jour fixe")" Class="mb-3"/>
|
||||||
<MudTextField T="string" @bind-Text="@this.inputTopic" Validation="@this.ValidateTopic" Label="@T("Topic")" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.EventNote" Variant="Variant.Outlined" Margin="Margin.Dense" UserAttributes="@USER_INPUT_ATTRIBUTES" HelperText="@T("Describe the topic of the meeting, seminar, etc. Is it about quantum computing, software engineering, or is it a general business meeting?")" Placeholder="@T("Project meeting")" Class="mb-3"/>
|
<MudTextField T="string" @bind-Text="@this.inputTopic" Validation="@this.ValidateTopic" Label="@T("Topic")" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.EventNote" Variant="Variant.Outlined" Margin="Margin.Dense" UserAttributes="@USER_INPUT_ATTRIBUTES" HelperText="@T("Describe the topic of the meeting, seminar, etc. Is it about quantum computing, software engineering, or is it a general business meeting?")" Placeholder="@T("Project meeting")" Class="mb-3"/>
|
||||||
<MudTextField T="string" @bind-Text="@this.inputContent" Validation="@this.ValidateContent" Label="@T("Content list")" Variant="Variant.Outlined" Lines="6" Margin="Margin.Dense" UserAttributes="@USER_INPUT_ATTRIBUTES" HelperText="@T("Bullet list the content of the meeting, seminar, etc. roughly. Use dashes (-) to separate the items.")" Placeholder="@PLACEHOLDER_CONTENT" Class="mb-3" Immediate="@false" DebounceInterval="1_000" OnDebounceIntervalElapsed="@this.OnContentChanged" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.ListAlt"/>
|
<DebouncedTextField @bind-Text="@this.inputContent" ValidationFunc="@this.ValidateContent" DebounceTime="TimeSpan.FromSeconds(1)" Label="@T("Content list")" Lines="6" Attributes="@USER_INPUT_ATTRIBUTES" HelpText="@T("Bullet list the content of the meeting, seminar, etc. roughly. Use dashes (-) to separate the items.")" Placeholder="@PLACEHOLDER_CONTENT" WhenTextCanged="@this.OnContentChanged" Icon="@Icons.Material.Filled.ListAlt"/>
|
||||||
<MudSelect T="string" Label="@T("(Optional) What topics should be the focus?")" MultiSelection="@true" @bind-SelectedValues="@this.selectedFoci" Variant="Variant.Outlined" Class="mb-3" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.ListAlt">
|
<MudSelect T="string" Label="@T("(Optional) What topics should be the focus?")" MultiSelection="@true" @bind-SelectedValues="@this.selectedFoci" Variant="Variant.Outlined" Class="mb-3" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.ListAlt">
|
||||||
@foreach (var contentLine in this.contentLines)
|
@foreach (var contentLine in this.contentLines)
|
||||||
{
|
{
|
||||||
@if(!this.justBriefly.Contains(contentLine))
|
@if(!this.justBriefly.Contains(contentLine))
|
||||||
{
|
{
|
||||||
<MudSelectItem T="string" Value="@contentLine">@contentLine</MudSelectItem>
|
<MudSelectItem T="string" Value="@contentLine">
|
||||||
|
@contentLine
|
||||||
|
</MudSelectItem>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</MudSelect>
|
</MudSelect>
|
||||||
@ -19,7 +21,9 @@
|
|||||||
{
|
{
|
||||||
@if(!this.selectedFoci.Contains(contentLine))
|
@if(!this.selectedFoci.Contains(contentLine))
|
||||||
{
|
{
|
||||||
<MudSelectItem T="string" Value="@contentLine">@contentLine</MudSelectItem>
|
<MudSelectItem T="string" Value="@contentLine">
|
||||||
|
@contentLine
|
||||||
|
</MudSelectItem>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</MudSelect>
|
</MudSelect>
|
||||||
|
@ -11,12 +11,7 @@ public partial class AssistantAgenda : AssistantBaseCore<SettingsDialogAgenda>
|
|||||||
|
|
||||||
protected override string Title => T("Agenda Planner");
|
protected override string Title => T("Agenda Planner");
|
||||||
|
|
||||||
protected override string Description =>
|
protected override string Description => T("This agenda planner helps you create a structured agenda for your meeting or seminar. Just provide some basic information about the event, and the assistant will generate an agenda for you. You can also specify the duration, the start time, the location, the target language, and other details.");
|
||||||
T("""
|
|
||||||
This agenda planner helps you create a structured agenda for your meeting or seminar. Just provide some basic
|
|
||||||
information about the event, and the assistant will generate an agenda for you. You can also specify the
|
|
||||||
duration, the start time, the location, the target language, and other details.
|
|
||||||
""");
|
|
||||||
|
|
||||||
protected override string SystemPrompt =>
|
protected override string SystemPrompt =>
|
||||||
$"""
|
$"""
|
||||||
|
@ -4,23 +4,20 @@
|
|||||||
|
|
||||||
<div class="inner-scrolling-context">
|
<div class="inner-scrolling-context">
|
||||||
|
|
||||||
<MudText Typo="Typo.h3" Class="mb-2 mr-3">
|
<MudStack Row="true" AlignItems="AlignItems.Center" Class="mb-2 mr-3" StretchItems="StretchItems.Start">
|
||||||
|
<MudText Typo="Typo.h3">
|
||||||
@(this.Title)
|
@(this.Title)
|
||||||
</MudText>
|
</MudText>
|
||||||
|
|
||||||
|
<MudIconButton Variant="Variant.Text" Icon="@Icons.Material.Filled.Settings" OnClick="() => this.OpenSettingsDialog()"/>
|
||||||
|
</MudStack>
|
||||||
|
|
||||||
<InnerScrolling>
|
<InnerScrolling>
|
||||||
<ChildContent>
|
<ChildContent>
|
||||||
<MudForm @ref="@(this.form)" @bind-IsValid="@(this.inputIsValid)" @bind-Errors="@(this.inputIssues)" FieldChanged="@this.TriggerFormChange" Class="pr-2">
|
<MudForm @ref="@(this.form)" @bind-IsValid="@(this.inputIsValid)" @bind-Errors="@(this.inputIssues)" FieldChanged="@this.TriggerFormChange" Class="pr-2">
|
||||||
<MudGrid Class="mb-2">
|
<MudText Typo="Typo.body1" Align="Align.Justify" Class="mb-2">
|
||||||
<MudItem xs="10">
|
|
||||||
<MudText Typo="Typo.body1" Align="Align.Justify">
|
|
||||||
@this.Description
|
@this.Description
|
||||||
</MudText>
|
</MudText>
|
||||||
</MudItem>
|
|
||||||
<MudItem xs="2" Class="d-flex justify-end align-start">
|
|
||||||
<MudIconButton Variant="Variant.Filled" Icon="@Icons.Material.Filled.Settings" OnClick="() => this.OpenSettingsDialog()"/>
|
|
||||||
</MudItem>
|
|
||||||
</MudGrid>
|
|
||||||
|
|
||||||
@if (this.Body is not null)
|
@if (this.Body is not null)
|
||||||
{
|
{
|
||||||
|
@ -146,7 +146,7 @@ public abstract partial class AssistantBase<TSettings> : AssistantLowerBase wher
|
|||||||
protected string? ValidatingProvider(AIStudio.Settings.Provider provider)
|
protected string? ValidatingProvider(AIStudio.Settings.Provider provider)
|
||||||
{
|
{
|
||||||
if(provider.UsedLLMProvider == LLMProviders.NONE)
|
if(provider.UsedLLMProvider == LLMProviders.NONE)
|
||||||
return "Please select a provider.";
|
return this.TB("Please select a provider.");
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -198,7 +198,7 @@ public abstract partial class AssistantBase<TSettings> : AssistantLowerBase wher
|
|||||||
SystemPrompt = this.SystemPrompt,
|
SystemPrompt = this.SystemPrompt,
|
||||||
WorkspaceId = Guid.Empty,
|
WorkspaceId = Guid.Empty,
|
||||||
ChatId = Guid.NewGuid(),
|
ChatId = Guid.NewGuid(),
|
||||||
Name = string.Format(T("Assistant - {0}"), this.Title),
|
Name = string.Format(this.TB("Assistant - {0}"), this.Title),
|
||||||
Seed = this.RNG.Next(),
|
Seed = this.RNG.Next(),
|
||||||
Blocks = [],
|
Blocks = [],
|
||||||
};
|
};
|
||||||
@ -244,6 +244,9 @@ public abstract partial class AssistantBase<TSettings> : AssistantLowerBase wher
|
|||||||
|
|
||||||
protected async Task<string> AddAIResponseAsync(DateTimeOffset time, bool hideContentFromUser = false)
|
protected async Task<string> AddAIResponseAsync(DateTimeOffset time, bool hideContentFromUser = false)
|
||||||
{
|
{
|
||||||
|
var manageCancellationLocally = this.cancellationTokenSource is null;
|
||||||
|
this.cancellationTokenSource ??= new CancellationTokenSource();
|
||||||
|
|
||||||
var aiText = new ContentText
|
var aiText = new ContentText
|
||||||
{
|
{
|
||||||
// We have to wait for the remote
|
// We have to wait for the remote
|
||||||
@ -277,6 +280,12 @@ public abstract partial class AssistantBase<TSettings> : AssistantLowerBase wher
|
|||||||
this.isProcessing = false;
|
this.isProcessing = false;
|
||||||
this.StateHasChanged();
|
this.StateHasChanged();
|
||||||
|
|
||||||
|
if(manageCancellationLocally)
|
||||||
|
{
|
||||||
|
this.cancellationTokenSource.Dispose();
|
||||||
|
this.cancellationTokenSource = null;
|
||||||
|
}
|
||||||
|
|
||||||
// Return the AI response:
|
// Return the AI response:
|
||||||
return aiText.Text;
|
return aiText.Text;
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
<MudTextField T="string" @bind-Text="@this.inputGreeting" Label="@T("(Optional) The greeting phrase to use")" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.Person" Variant="Variant.Outlined" Margin="Margin.Dense" UserAttributes="@USER_INPUT_ATTRIBUTES" Placeholder="@T("Dear Colleagues")" Class="mb-3"/>
|
<MudTextField T="string" @bind-Text="@this.inputGreeting" Label="@T("(Optional) The greeting phrase to use")" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.Person" Variant="Variant.Outlined" Margin="Margin.Dense" UserAttributes="@USER_INPUT_ATTRIBUTES" Placeholder="@T("Dear Colleagues")" Class="mb-3"/>
|
||||||
<MudTextField T="string" @bind-Text="@this.inputBulletPoints" Validation="@this.ValidateBulletPoints" AdornmentIcon="@Icons.Material.Filled.ListAlt" Adornment="Adornment.Start" Label="@T("Your bullet points")" Variant="Variant.Outlined" Lines="6" AutoGrow="@true" MaxLines="12" Class="mb-3" UserAttributes="@USER_INPUT_ATTRIBUTES" HelperText="@T("Bullet list the content of the e-mail roughly. Use dashes (-) to separate the items.")" Immediate="@false" DebounceInterval="1_000" OnDebounceIntervalElapsed="@this.OnContentChanged" Placeholder="@PLACEHOLDER_BULLET_POINTS"/>
|
<DebouncedTextField @bind-Text="@this.inputBulletPoints" ValidationFunc="@this.ValidateBulletPoints" Icon="@Icons.Material.Filled.ListAlt" Label="@T("Your bullet points")" Lines="6" MaxLines="12" Attributes="@USER_INPUT_ATTRIBUTES" HelpText="@T("Bullet list the content of the e-mail roughly. Use dashes (-) to separate the items.")" DebounceTime="TimeSpan.FromSeconds(1)" WhenTextCanged="@this.OnContentChanged" Placeholder="@PLACEHOLDER_BULLET_POINTS"/>
|
||||||
<MudSelect T="string" Label="@T("(Optional) Are any of your points particularly important?")" MultiSelection="@true" @bind-SelectedValues="@this.selectedFoci" Variant="Variant.Outlined" Class="mb-3" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.ListAlt">
|
<MudSelect T="string" Label="@T("(Optional) Are any of your points particularly important?")" MultiSelection="@true" @bind-SelectedValues="@this.selectedFoci" Variant="Variant.Outlined" Class="mb-3" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.ListAlt">
|
||||||
@foreach (var contentLine in this.bulletPointsLines)
|
@foreach (var contentLine in this.bulletPointsLines)
|
||||||
{
|
{
|
||||||
|
@ -49,9 +49,6 @@ UI_TEXT_CONTENT = {}
|
|||||||
-- Objective
|
-- Objective
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T1121586136"] = "Objective"
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T1121586136"] = "Objective"
|
||||||
|
|
||||||
-- This agenda planner helps you create a structured agenda for your meeting or seminar. Just provide some basic information about the event, and the assistant will generate an agenda for you. You can also specify the duration, the start time, the location, the target language, and other details.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T1193269953"] = "This agenda planner helps you create a structured agenda for your meeting or seminar. Just provide some basic information about the event, and the assistant will generate an agenda for you. You can also specify the duration, the start time, the location, the target language, and other details."
|
|
||||||
|
|
||||||
-- Describe the topic of the meeting, seminar, etc. Is it about quantum computing, software engineering, or is it a general business meeting?
|
-- Describe the topic of the meeting, seminar, etc. Is it about quantum computing, software engineering, or is it a general business meeting?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T12079368"] = "Describe the topic of the meeting, seminar, etc. Is it about quantum computing, software engineering, or is it a general business meeting?"
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T12079368"] = "Describe the topic of the meeting, seminar, etc. Is it about quantum computing, software engineering, or is it a general business meeting?"
|
||||||
|
|
||||||
@ -217,6 +214,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4155424204"] =
|
|||||||
-- Please select a target language for the agenda.
|
-- Please select a target language for the agenda.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4163183653"] = "Please select a target language for the agenda."
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4163183653"] = "Please select a target language for the agenda."
|
||||||
|
|
||||||
|
-- This agenda planner helps you create a structured agenda for your meeting or seminar. Just provide some basic information about the event, and the assistant will generate an agenda for you. You can also specify the duration, the start time, the location, the target language, and other details.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4178438053"] = "This agenda planner helps you create a structured agenda for your meeting or seminar. Just provide some basic information about the event, and the assistant will generate an agenda for you. You can also specify the duration, the start time, the location, the target language, and other details."
|
||||||
|
|
||||||
-- Yes, participants need to arrive and depart
|
-- Yes, participants need to arrive and depart
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4266648123"] = "Yes, participants need to arrive and depart"
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4266648123"] = "Yes, participants need to arrive and depart"
|
||||||
|
|
||||||
@ -244,6 +244,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T1317408357"] = "Stop gene
|
|||||||
-- Reset
|
-- Reset
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T180921696"] = "Reset"
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T180921696"] = "Reset"
|
||||||
|
|
||||||
|
-- Please select a provider.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T1809312323"] = "Please select a provider."
|
||||||
|
|
||||||
-- Assistant - {0}
|
-- Assistant - {0}
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T3043922"] = "Assistant - {0}"
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T3043922"] = "Assistant - {0}"
|
||||||
|
|
||||||
@ -733,6 +736,9 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T3403290862"] = "The selec
|
|||||||
-- Select a provider first
|
-- Select a provider first
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T3654197869"] = "Select a provider first"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T3654197869"] = "Select a provider first"
|
||||||
|
|
||||||
|
-- Start new chat in workspace '{0}'
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T3928697643"] = "Start new chat in workspace '{0}'"
|
||||||
|
|
||||||
-- Start temporary chat
|
-- Start temporary chat
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T4113970938"] = "Start temporary chat"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T4113970938"] = "Start temporary chat"
|
||||||
|
|
||||||
@ -745,9 +751,6 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T636393754"] = "Move the c
|
|||||||
-- Show your workspaces
|
-- Show your workspaces
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T733672375"] = "Show your workspaces"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T733672375"] = "Show your workspaces"
|
||||||
|
|
||||||
-- Start new chat in workspace "{0}"
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T896906391"] = "Start new chat in workspace \"{0}\""
|
|
||||||
|
|
||||||
-- Region
|
-- Region
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CONFIDENCEINFO::T1227782301"] = "Region"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CONFIDENCEINFO::T1227782301"] = "Region"
|
||||||
|
|
||||||
@ -1060,66 +1063,6 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELAPP::T817101267"]
|
|||||||
-- Would you like to set one provider as the default for the entire app? When you configure a different provider for an assistant, it will always take precedence.
|
-- Would you like to set one provider as the default for the entire app? When you configure a different provider for an assistant, it will always take precedence.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELAPP::T844514734"] = "Would you like to set one provider as the default for the entire app? When you configure a different provider for an assistant, it will always take precedence."
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELAPP::T844514734"] = "Would you like to set one provider as the default for the entire app? When you configure a different provider for an assistant, it will always take precedence."
|
||||||
|
|
||||||
-- Control how the LLM provider for loaded chats is selected and when assistant results are sent to chat.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T172255919"] = "Control how the LLM provider for loaded chats is selected and when assistant results are sent to chat."
|
|
||||||
|
|
||||||
-- Chat Options
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T1757092713"] = "Chat Options"
|
|
||||||
|
|
||||||
-- Shortcut to send input
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T1773585398"] = "Shortcut to send input"
|
|
||||||
|
|
||||||
-- Provider selection when creating new chats
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T189306836"] = "Provider selection when creating new chats"
|
|
||||||
|
|
||||||
-- Would you like to set one of your profiles as the default for chats?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T1933521846"] = "Would you like to set one of your profiles as the default for chats?"
|
|
||||||
|
|
||||||
-- Apply default data source option when sending assistant results to chat
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T2510376349"] = "Apply default data source option when sending assistant results to chat"
|
|
||||||
|
|
||||||
-- Control how the LLM provider for added chats is selected.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T263621180"] = "Control how the LLM provider for added chats is selected."
|
|
||||||
|
|
||||||
-- Provider selection when loading a chat and sending assistant results to chat
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T2868379953"] = "Provider selection when loading a chat and sending assistant results to chat"
|
|
||||||
|
|
||||||
-- Show the latest message after loading?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T2913693228"] = "Show the latest message after loading?"
|
|
||||||
|
|
||||||
-- Do you want to use any shortcut to send your input?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T2936560092"] = "Do you want to use any shortcut to send your input?"
|
|
||||||
|
|
||||||
-- No chat options are preselected
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T3383186996"] = "No chat options are preselected"
|
|
||||||
|
|
||||||
-- First (oldest) message is shown, after loading a chat
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T3507181366"] = "First (oldest) message is shown, after loading a chat"
|
|
||||||
|
|
||||||
-- Preselect chat options?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T3728624759"] = "Preselect chat options?"
|
|
||||||
|
|
||||||
-- Chat options are preselected
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T3730599555"] = "Chat options are preselected"
|
|
||||||
|
|
||||||
-- Latest message is shown, after loading a chat
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T3755993611"] = "Latest message is shown, after loading a chat"
|
|
||||||
|
|
||||||
-- Preselect one of your profiles?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T4004501229"] = "Preselect one of your profiles?"
|
|
||||||
|
|
||||||
-- Do you want to apply the default data source options when sending assistant results to chat?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T4033153439"] = "Do you want to apply the default data source options when sending assistant results to chat?"
|
|
||||||
|
|
||||||
-- When enabled, you can preselect chat options. This is might be useful when you prefer a specific provider.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T477675197"] = "When enabled, you can preselect chat options. This is might be useful when you prefer a specific provider."
|
|
||||||
|
|
||||||
-- You can set default data sources and options for new chats. You can change these settings later for each individual chat.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T492357592"] = "You can set default data sources and options for new chats. You can change these settings later for each individual chat."
|
|
||||||
|
|
||||||
-- When enabled, the latest message is shown after loading a chat. When disabled, the first (oldest) message is shown.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T582516016"] = "When enabled, the latest message is shown after loading a chat. When disabled, the first (oldest) message is shown."
|
|
||||||
|
|
||||||
-- Delete
|
-- Delete
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELEMBEDDINGS::T1469573738"] = "Delete"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELEMBEDDINGS::T1469573738"] = "Delete"
|
||||||
|
|
||||||
@ -1498,6 +1441,441 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::CONFIRMDIALOG::T1642511898"] = "No"
|
|||||||
-- Yes
|
-- Yes
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::CONFIRMDIALOG::T3013883440"] = "Yes"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::CONFIRMDIALOG::T3013883440"] = "Yes"
|
||||||
|
|
||||||
|
-- Update
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T1847791252"] = "Update"
|
||||||
|
|
||||||
|
-- Failed to connect to the ERI v1 server. The message was: {0}
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2150703468"] = "Failed to connect to the ERI v1 server. The message was: {0}"
|
||||||
|
|
||||||
|
-- Add
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2646845972"] = "Add"
|
||||||
|
|
||||||
|
-- Failed to store the auth. secret in the operating system. The message was: {0}. Please try again.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2772567701"] = "Failed to store the auth. secret in the operating system. The message was: {0}. Please try again."
|
||||||
|
|
||||||
|
-- Connection successful.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T279774933"] = "Connection successful."
|
||||||
|
|
||||||
|
-- Access Token
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2891154022"] = "Access Token"
|
||||||
|
|
||||||
|
-- Secret
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2895110961"] = "Secret"
|
||||||
|
|
||||||
|
-- Select one retrieval process
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2916077548"] = "Select one retrieval process"
|
||||||
|
|
||||||
|
-- Please note: the connection to the ERI v1 server is not encrypted. This means that all data sent to the server is transmitted in plain text. Please ask the ERI server administrator to enable encryption.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T299279954"] = "Please note: the connection to the ERI v1 server is not encrypted. This means that all data sent to the server is transmitted in plain text. Please ask the ERI server administrator to enable encryption."
|
||||||
|
|
||||||
|
-- ERI v1 Server Hostname
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T3494933602"] = "ERI v1 Server Hostname"
|
||||||
|
|
||||||
|
-- Port
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T3804576966"] = "Port"
|
||||||
|
|
||||||
|
-- Connection failed.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T3820825672"] = "Connection failed."
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T4081226330"] = "Your security policy"
|
||||||
|
|
||||||
|
-- Not tested yet.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T417002657"] = "Not tested yet."
|
||||||
|
|
||||||
|
-- Failed to connect to the ERI v1 server. The server is not supported.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T449168182"] = "Failed to connect to the ERI v1 server. The server is not supported."
|
||||||
|
|
||||||
|
-- Username
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T470340825"] = "Username"
|
||||||
|
|
||||||
|
-- Password
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T750979128"] = "Password"
|
||||||
|
|
||||||
|
-- Data Source Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T813773421"] = "Data Source Name"
|
||||||
|
|
||||||
|
-- Cancel
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T900713019"] = "Cancel"
|
||||||
|
|
||||||
|
-- Test connection & read available metadata
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T988671749"] = "Test connection & read available metadata"
|
||||||
|
|
||||||
|
-- the ERI server port
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T103013936"] = "the ERI server port"
|
||||||
|
|
||||||
|
-- Unnamed retrieval process
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1038776502"] = "Unnamed retrieval process"
|
||||||
|
|
||||||
|
-- the retrieval parameters
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1497074068"] = "the retrieval parameters"
|
||||||
|
|
||||||
|
-- [{0}] Unnamed retrieval process
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1501892586"] = "[{0}] Unnamed retrieval process"
|
||||||
|
|
||||||
|
-- the embedding type
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T16293243"] = "the embedding type"
|
||||||
|
|
||||||
|
-- the embedding description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1657824119"] = "the embedding description"
|
||||||
|
|
||||||
|
-- Data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T171124909"] = "Data source name"
|
||||||
|
|
||||||
|
-- Description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1725856265"] = "Description"
|
||||||
|
|
||||||
|
-- the retrieval description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1752127658"] = "the retrieval description"
|
||||||
|
|
||||||
|
-- Security requirements of the data provider
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1891090932"] = "Security requirements of the data provider"
|
||||||
|
|
||||||
|
-- Parameter:
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1917353274"] = "Parameter:"
|
||||||
|
|
||||||
|
-- the server description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1966565081"] = "the server description"
|
||||||
|
|
||||||
|
-- Failed to connect to the ERI v1 server. The message was: {0}
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2150703468"] = "Failed to connect to the ERI v1 server. The message was: {0}"
|
||||||
|
|
||||||
|
-- ERI server hostname
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T215899701"] = "ERI server hostname"
|
||||||
|
|
||||||
|
-- Server description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2562330120"] = "Server description"
|
||||||
|
|
||||||
|
-- the data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2717738728"] = "the data source name"
|
||||||
|
|
||||||
|
-- the ERI server hostname
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2753279450"] = "the ERI server hostname"
|
||||||
|
|
||||||
|
-- This retrieval process has no parameters.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2863339893"] = "This retrieval process has no parameters."
|
||||||
|
|
||||||
|
-- your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2879113658"] = "your security policy"
|
||||||
|
|
||||||
|
-- Open web link, show more information
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2968752071"] = "Open web link, show more information"
|
||||||
|
|
||||||
|
-- the username
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2991677780"] = "the username"
|
||||||
|
|
||||||
|
-- Please note: the connection to the ERI v1 server is not encrypted. This means that all data sent to the server is transmitted in plain text. Please ask the ERI server administrator to enable encryption.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T299279954"] = "Please note: the connection to the ERI v1 server is not encrypted. This means that all data sent to the server is transmitted in plain text. Please ask the ERI server administrator to enable encryption."
|
||||||
|
|
||||||
|
-- The data source does not provide any retrieval information.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T306340560"] = "The data source does not provide any retrieval information."
|
||||||
|
|
||||||
|
-- Common data source information
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T3206517471"] = "Common data source information"
|
||||||
|
|
||||||
|
-- when is the embedding used
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T3259327370"] = "when is the embedding used"
|
||||||
|
|
||||||
|
-- The data source does not provide any embedding information.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T3425007227"] = "The data source does not provide any embedding information."
|
||||||
|
|
||||||
|
-- Close
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T3448155331"] = "Close"
|
||||||
|
|
||||||
|
-- ERI server port
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T3843835535"] = "ERI server port"
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T4081226330"] = "Your security policy"
|
||||||
|
|
||||||
|
-- Reload
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T440640172"] = "Reload"
|
||||||
|
|
||||||
|
-- Failed to connect to the ERI v1 server. The server is not supported.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T449168182"] = "Failed to connect to the ERI v1 server. The server is not supported."
|
||||||
|
|
||||||
|
-- Username
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T470340825"] = "Username"
|
||||||
|
|
||||||
|
-- the security requirements of the data provider
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T503852885"] = "the security requirements of the data provider"
|
||||||
|
|
||||||
|
-- When to use
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T629595477"] = "When to use"
|
||||||
|
|
||||||
|
-- Retrieval information
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T742006305"] = "Retrieval information"
|
||||||
|
|
||||||
|
-- Embeddings
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T951463987"] = "Embeddings"
|
||||||
|
|
||||||
|
-- Select a root directory for this data source. All data in this directory and all its subdirectories will be processed for this data source.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T1265737624"] = "Select a root directory for this data source. All data in this directory and all its subdirectories will be processed for this data source."
|
||||||
|
|
||||||
|
-- Selected base directory for this data source
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T1312296210"] = "Selected base directory for this data source"
|
||||||
|
|
||||||
|
-- Update
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T1847791252"] = "Update"
|
||||||
|
|
||||||
|
-- Please note: the embedding you selected runs in the cloud. All your data will be sent to the cloud. Please confirm that you have read and understood this.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T1922618794"] = "Please note: the embedding you selected runs in the cloud. All your data will be sent to the cloud. Please confirm that you have read and understood this."
|
||||||
|
|
||||||
|
-- In order for the AI to be able to determine the appropriate data at any time, you must choose an embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T1948697886"] = "In order for the AI to be able to determine the appropriate data at any time, you must choose an embedding method."
|
||||||
|
|
||||||
|
-- Please note: the embedding you selected runs in the cloud. All your data from the folder '{0}' and all its subdirectories will be sent to the cloud. Please confirm that you have read and understood this.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T2403121734"] = "Please note: the embedding you selected runs in the cloud. All your data from the folder '{0}' and all its subdirectories will be sent to the cloud. Please confirm that you have read and understood this."
|
||||||
|
|
||||||
|
-- Add
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T2646845972"] = "Add"
|
||||||
|
|
||||||
|
-- The embedding you selected runs locally or in your organization. Your data is not sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T2814869210"] = "The embedding you selected runs locally or in your organization. Your data is not sent to the cloud."
|
||||||
|
|
||||||
|
-- Embedding
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T2838542994"] = "Embedding"
|
||||||
|
|
||||||
|
-- Yes, please send my data to the cloud
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T3572613009"] = "Yes, please send my data to the cloud"
|
||||||
|
|
||||||
|
-- I confirm that I have read and understood the above
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T3683380716"] = "I confirm that I have read and understood the above"
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T4081226330"] = "Your security policy"
|
||||||
|
|
||||||
|
-- No, I will chose another embedding
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T4253147533"] = "No, I will chose another embedding"
|
||||||
|
|
||||||
|
-- Select the base directory
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T562479068"] = "Select the base directory"
|
||||||
|
|
||||||
|
-- Data Source Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T813773421"] = "Data Source Name"
|
||||||
|
|
||||||
|
-- Cancel
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T900713019"] = "Cancel"
|
||||||
|
|
||||||
|
-- the total directory size
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T1082241458"] = "the total directory size"
|
||||||
|
|
||||||
|
-- Total directory size
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T1101400963"] = "Total directory size"
|
||||||
|
|
||||||
|
-- Data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T171124909"] = "Data source name"
|
||||||
|
|
||||||
|
-- the number of files in the directory
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T1795263412"] = "the number of files in the directory"
|
||||||
|
|
||||||
|
-- The embedding runs locally or in your organization. Your data is not sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T1950544032"] = "The embedding runs locally or in your organization. Your data is not sent to the cloud."
|
||||||
|
|
||||||
|
-- the files list
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2072700997"] = "the files list"
|
||||||
|
|
||||||
|
-- the data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2717738728"] = "the data source name"
|
||||||
|
|
||||||
|
-- The directory chosen for the data source does not exist anymore. Please edit the data source and correct the path.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2875614207"] = "The directory chosen for the data source does not exist anymore. Please edit the data source and correct the path."
|
||||||
|
|
||||||
|
-- your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2879113658"] = "your security policy"
|
||||||
|
|
||||||
|
-- the embedding name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2937209992"] = "the embedding name"
|
||||||
|
|
||||||
|
-- this path
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2944855252"] = "this path"
|
||||||
|
|
||||||
|
-- Embedding name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T3153201045"] = "Embedding name"
|
||||||
|
|
||||||
|
-- Files list
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T3238813368"] = "Files list"
|
||||||
|
|
||||||
|
-- Close
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T3448155331"] = "Close"
|
||||||
|
|
||||||
|
-- For performance reasons, only the first 100 files are shown. The directory contains {0} files in total.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T360238400"] = "For performance reasons, only the first 100 files are shown. The directory contains {0} files in total."
|
||||||
|
|
||||||
|
-- Path
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T3949388886"] = "Path"
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T4081226330"] = "Your security policy"
|
||||||
|
|
||||||
|
-- Number of files
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T417749210"] = "Number of files"
|
||||||
|
|
||||||
|
-- The embedding runs in the cloud. All your data from the folder '{0}' and all its subdirectories will be sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T443873444"] = "The embedding runs in the cloud. All your data from the folder '{0}' and all its subdirectories will be sent to the cloud."
|
||||||
|
|
||||||
|
-- The directory chosen for the data source exists.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T445858624"] = "The directory chosen for the data source exists."
|
||||||
|
|
||||||
|
-- Select a file for this data source. The content of this file will be processed for the data source.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T1190880267"] = "Select a file for this data source. The content of this file will be processed for the data source."
|
||||||
|
|
||||||
|
-- Update
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T1847791252"] = "Update"
|
||||||
|
|
||||||
|
-- Please note: the embedding you selected runs in the cloud. All your data will be sent to the cloud. Please confirm that you have read and understood this.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T1922618794"] = "Please note: the embedding you selected runs in the cloud. All your data will be sent to the cloud. Please confirm that you have read and understood this."
|
||||||
|
|
||||||
|
-- In order for the AI to be able to determine the appropriate data at any time, you must choose an embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T1948697886"] = "In order for the AI to be able to determine the appropriate data at any time, you must choose an embedding method."
|
||||||
|
|
||||||
|
-- Please note: the embedding you selected runs in the cloud. All your data within the file '{0}' will be sent to the cloud. Please confirm that you have read and understood this.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T2090178026"] = "Please note: the embedding you selected runs in the cloud. All your data within the file '{0}' will be sent to the cloud. Please confirm that you have read and understood this."
|
||||||
|
|
||||||
|
-- Add
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T2646845972"] = "Add"
|
||||||
|
|
||||||
|
-- The embedding you selected runs locally or in your organization. Your data is not sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T2814869210"] = "The embedding you selected runs locally or in your organization. Your data is not sent to the cloud."
|
||||||
|
|
||||||
|
-- Embedding
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T2838542994"] = "Embedding"
|
||||||
|
|
||||||
|
-- Yes, please send my data to the cloud
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T3572613009"] = "Yes, please send my data to the cloud"
|
||||||
|
|
||||||
|
-- I confirm that I have read and understood the above
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T3683380716"] = "I confirm that I have read and understood the above"
|
||||||
|
|
||||||
|
-- Select the file
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T3740148848"] = "Select the file"
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T4081226330"] = "Your security policy"
|
||||||
|
|
||||||
|
-- No, I will chose another embedding
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T4253147533"] = "No, I will chose another embedding"
|
||||||
|
|
||||||
|
-- Data Source Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T813773421"] = "Data Source Name"
|
||||||
|
|
||||||
|
-- Cancel
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T900713019"] = "Cancel"
|
||||||
|
|
||||||
|
-- Selected file path for this data source
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T939749563"] = "Selected file path for this data source"
|
||||||
|
|
||||||
|
-- The file chosen for the data source exists.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T1294177559"] = "The file chosen for the data source exists."
|
||||||
|
|
||||||
|
-- Data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T171124909"] = "Data source name"
|
||||||
|
|
||||||
|
-- The embedding runs locally or in your organization. Your data is not sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T1950544032"] = "The embedding runs locally or in your organization. Your data is not sent to the cloud."
|
||||||
|
|
||||||
|
-- The file chosen for the data source does not exist anymore. Please edit the data source and choose another file or correct the path.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2235729121"] = "The file chosen for the data source does not exist anymore. Please edit the data source and choose another file or correct the path."
|
||||||
|
|
||||||
|
-- the data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2717738728"] = "the data source name"
|
||||||
|
|
||||||
|
-- the file size
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2837935239"] = "the file size"
|
||||||
|
|
||||||
|
-- your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2879113658"] = "your security policy"
|
||||||
|
|
||||||
|
-- File path
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2879895266"] = "File path"
|
||||||
|
|
||||||
|
-- the embedding name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2937209992"] = "the embedding name"
|
||||||
|
|
||||||
|
-- this path
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2944855252"] = "this path"
|
||||||
|
|
||||||
|
-- Embedding name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T3153201045"] = "Embedding name"
|
||||||
|
|
||||||
|
-- Close
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T3448155331"] = "Close"
|
||||||
|
|
||||||
|
-- File size
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T3650018664"] = "File size"
|
||||||
|
|
||||||
|
-- The embedding runs in the cloud. All your data within the file '{0}' will be sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T3688254408"] = "The embedding runs in the cloud. All your data within the file '{0}' will be sent to the cloud."
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T4081226330"] = "Your security policy"
|
||||||
|
|
||||||
|
-- Embedding Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T1427271797"] = "Embedding Name"
|
||||||
|
|
||||||
|
-- Embedding Description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T1625164424"] = "Embedding Description"
|
||||||
|
|
||||||
|
-- Update
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T1847791252"] = "Update"
|
||||||
|
|
||||||
|
-- Please describe when the embedding is used. Might be anytime or when certain keywords are present, etc.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T2346653528"] = "Please describe when the embedding is used. Might be anytime or when certain keywords are present, etc."
|
||||||
|
|
||||||
|
-- Add
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T2646845972"] = "Add"
|
||||||
|
|
||||||
|
-- Embedding Type
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T2764429350"] = "Embedding Type"
|
||||||
|
|
||||||
|
-- Embedding Link
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T290945550"] = "Embedding Link"
|
||||||
|
|
||||||
|
-- Used when
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3229398952"] = "Used when"
|
||||||
|
|
||||||
|
-- The embedding type must not be longer than 56 characters.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T32602319"] = "The embedding type must not be longer than 56 characters."
|
||||||
|
|
||||||
|
-- The name of the embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3415350123"] = "The name of the embedding method."
|
||||||
|
|
||||||
|
-- A short description of the embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3588690510"] = "A short description of the embedding method."
|
||||||
|
|
||||||
|
-- The embedding name must not be longer than 26 characters.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T359150945"] = "The embedding name must not be longer than 26 characters."
|
||||||
|
|
||||||
|
-- The embedding method name '{0}' is already used. Please choose a unique name.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3601888052"] = "The embedding method name '{0}' is already used. Please choose a unique name."
|
||||||
|
|
||||||
|
-- When is this embedding used? When you define multiple embeddings, it is helpful to know when to use which one.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3779802582"] = "When is this embedding used? When you define multiple embeddings, it is helpful to know when to use which one."
|
||||||
|
|
||||||
|
-- See Wikipedia for more information about word embeddings
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3806477732"] = "See Wikipedia for more information about word embeddings"
|
||||||
|
|
||||||
|
-- The embedding type must not be empty. Please specify the embedding type.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3902812924"] = "The embedding type must not be empty. Please specify the embedding type."
|
||||||
|
|
||||||
|
-- See Wikipedia for more information about knowledge graph embeddings
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3928412408"] = "See Wikipedia for more information about knowledge graph embeddings"
|
||||||
|
|
||||||
|
-- The embedding name must not be empty. Please name the embedding.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T4242514061"] = "The embedding name must not be empty. Please name the embedding."
|
||||||
|
|
||||||
|
-- What kind of embedding is used. For example, Transformer Embedding, Contextual Word Embedding, Graph Embedding, etc.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T4263395074"] = "What kind of embedding is used. For example, Transformer Embedding, Contextual Word Embedding, Graph Embedding, etc."
|
||||||
|
|
||||||
|
-- The description must not be empty. Please describe the embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T4268946588"] = "The description must not be empty. Please describe the embedding method."
|
||||||
|
|
||||||
|
-- A link to the embedding, e.g., to the model, the source code, the paper, it's Wikipedia page, etc.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T662524223"] = "A link to the embedding, e.g., to the model, the source code, the paper, it's Wikipedia page, etc."
|
||||||
|
|
||||||
|
-- Cancel
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T900713019"] = "Cancel"
|
||||||
|
|
||||||
-- Failed to store the API key in the operating system. The message was: {0}. Please try again.
|
-- Failed to store the API key in the operating system. The message was: {0}. Please try again.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGPROVIDERDIALOG::T1122745046"] = "Failed to store the API key in the operating system. The message was: {0}. Please try again."
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGPROVIDERDIALOG::T1122745046"] = "Failed to store the API key in the operating system. The message was: {0}. Please try again."
|
||||||
|
|
||||||
@ -1660,6 +2038,120 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROVIDERDIALOG::T900237532"] = "Provider"
|
|||||||
-- Cancel
|
-- Cancel
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROVIDERDIALOG::T900713019"] = "Cancel"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROVIDERDIALOG::T900713019"] = "Cancel"
|
||||||
|
|
||||||
|
-- The parameter name. It must be unique within the retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T100726215"] = "The parameter name. It must be unique within the retrieval process."
|
||||||
|
|
||||||
|
-- New Parameter {0}
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1064532992"] = "New Parameter {0}"
|
||||||
|
|
||||||
|
-- Add Parameter
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1082847843"] = "Add Parameter"
|
||||||
|
|
||||||
|
-- Parameter Description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1093935834"] = "Parameter Description"
|
||||||
|
|
||||||
|
-- The retrieval process name must not be empty. Please name your retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1133451355"] = "The retrieval process name must not be empty. Please name your retrieval process."
|
||||||
|
|
||||||
|
-- The parameter name must not be empty. Please name the parameter.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1359500913"] = "The parameter name must not be empty. Please name the parameter."
|
||||||
|
|
||||||
|
-- A short description of the parameter. What data type is it? What is it used for? What are the possible values?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1519220950"] = "A short description of the parameter. What data type is it? What is it used for? What are the possible values?"
|
||||||
|
|
||||||
|
-- Update
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1847791252"] = "Update"
|
||||||
|
|
||||||
|
-- Optional. Select the embedding methods that are used for this retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1869391009"] = "Optional. Select the embedding methods that are used for this retrieval process."
|
||||||
|
|
||||||
|
-- Retrieval Process Link
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1936369410"] = "Retrieval Process Link"
|
||||||
|
|
||||||
|
-- Here you can select which embedding methods are used for this retrieval process. Embeddings are optional; if your retrieval process works without embedding, you can ignore this part. You can only choose the embedding methods you have previously defined.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2076115062"] = "Here you can select which embedding methods are used for this retrieval process. Embeddings are optional; if your retrieval process works without embedding, you can ignore this part. You can only choose the embedding methods you have previously defined."
|
||||||
|
|
||||||
|
-- The parameter description must not be empty. Please describe the parameter '{0}'. What data type is it? What is it used for? What are the possible values?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2139013415"] = "The parameter description must not be empty. Please describe the parameter '{0}'. What data type is it? What is it used for? What are the possible values?"
|
||||||
|
|
||||||
|
-- A link to the retrieval process, e.g., the source code, the paper, it's Wikipedia page, etc. Make sense for common retrieval processes. Leave empty if not applicable.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2352603560"] = "A link to the retrieval process, e.g., the source code, the paper, it's Wikipedia page, etc. Make sense for common retrieval processes. Leave empty if not applicable."
|
||||||
|
|
||||||
|
-- No embedding methods selected.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2508820480"] = "No embedding methods selected."
|
||||||
|
|
||||||
|
-- Add a parameter first, then select it to edit.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2534894635"] = "Add a parameter first, then select it to edit."
|
||||||
|
|
||||||
|
-- Add
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2646845972"] = "Add"
|
||||||
|
|
||||||
|
-- You have selected {0} embedding methods.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2933579640"] = "You have selected {0} embedding methods."
|
||||||
|
|
||||||
|
-- Please provide some general information about your retrieval process first. This data may be displayed to the users.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3015844908"] = "Please provide some general information about your retrieval process first. This data may be displayed to the users."
|
||||||
|
|
||||||
|
-- The name of your retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3207262684"] = "The name of your retrieval process."
|
||||||
|
|
||||||
|
-- You may want to parameterize your retrieval process. However, this is optional. You can specify any parameters that can be set by the user or the system during the call. Nevertheless, you should use sensible default values in your code so that users are not forced to set the parameters manually.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3292152705"] = "You may want to parameterize your retrieval process. However, this is optional. You can specify any parameters that can be set by the user or the system during the call. Nevertheless, you should use sensible default values in your code so that users are not forced to set the parameters manually."
|
||||||
|
|
||||||
|
-- Select a parameter to show and edit it.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3300669027"] = "Select a parameter to show and edit it."
|
||||||
|
|
||||||
|
-- The parameter name '{0}' must be unique. Please choose a different name.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3378166475"] = "The parameter name '{0}' must be unique. Please choose a different name."
|
||||||
|
|
||||||
|
-- The retrieval process name '{0}' must be unique. Please choose a different name.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3387731069"] = "The retrieval process name '{0}' must be unique. Please choose a different name."
|
||||||
|
|
||||||
|
-- Delete this parameter
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3464622501"] = "Delete this parameter"
|
||||||
|
|
||||||
|
-- Retrieval Process Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3481092305"] = "Retrieval Process Name"
|
||||||
|
|
||||||
|
-- A short description of the retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3524519535"] = "A short description of the retrieval process."
|
||||||
|
|
||||||
|
-- Currently, you have not defined any embedding methods. If your retrieval process does not require embedding, you can ignore this part. Otherwise, you can define one or more embedding methods in the previous view to assign them to your retrieval process here.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3821108204"] = "Currently, you have not defined any embedding methods. If your retrieval process does not require embedding, you can ignore this part. Otherwise, you can define one or more embedding methods in the previous view to assign them to your retrieval process here."
|
||||||
|
|
||||||
|
-- Retrieval Process Parameters
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3894388618"] = "Retrieval Process Parameters"
|
||||||
|
|
||||||
|
-- The description must not be empty. Please describe the retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T40530321"] = "The description must not be empty. Please describe the retrieval process."
|
||||||
|
|
||||||
|
-- Embeddings methods
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T4119328701"] = "Embeddings methods"
|
||||||
|
|
||||||
|
-- General Information
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T4286878385"] = "General Information"
|
||||||
|
|
||||||
|
-- Retrieval Process Description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T546772364"] = "Retrieval Process Description"
|
||||||
|
|
||||||
|
-- You have selected 1 embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T673052164"] = "You have selected 1 embedding method."
|
||||||
|
|
||||||
|
-- The retrieval process name must not be longer than 26 characters.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T769031589"] = "The retrieval process name must not be longer than 26 characters."
|
||||||
|
|
||||||
|
-- Parameter Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T873729811"] = "Parameter Name"
|
||||||
|
|
||||||
|
-- The parameter name must not be longer than 26 characters.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T898422027"] = "The parameter name must not be longer than 26 characters."
|
||||||
|
|
||||||
|
-- Cancel
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T900713019"] = "Cancel"
|
||||||
|
|
||||||
|
-- Embeddings
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T951463987"] = "Embeddings"
|
||||||
|
|
||||||
-- There is no social event
|
-- There is no social event
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T1222800281"] = "There is no social event"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T1222800281"] = "There is no social event"
|
||||||
|
|
||||||
@ -1729,6 +2221,9 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3175009548"
|
|||||||
-- Preselect an objective?
|
-- Preselect an objective?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3439476935"] = "Preselect an objective?"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3439476935"] = "Preselect an objective?"
|
||||||
|
|
||||||
|
-- Close
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3448155331"] = "Close"
|
||||||
|
|
||||||
-- Preselect a moderator?
|
-- Preselect a moderator?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3482798491"] = "Preselect a moderator?"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3482798491"] = "Preselect a moderator?"
|
||||||
|
|
||||||
@ -1834,6 +2329,69 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGASSISTANTBIAS::T6790
|
|||||||
-- When enabled, you can preselect options. This is might be useful when you prefer a specific language or LLM model.
|
-- When enabled, you can preselect options. This is might be useful when you prefer a specific language or LLM model.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGASSISTANTBIAS::T711745239"] = "When enabled, you can preselect options. This is might be useful when you prefer a specific language or LLM model."
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGASSISTANTBIAS::T711745239"] = "When enabled, you can preselect options. This is might be useful when you prefer a specific language or LLM model."
|
||||||
|
|
||||||
|
-- Control how the LLM provider for loaded chats is selected and when assistant results are sent to chat.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T172255919"] = "Control how the LLM provider for loaded chats is selected and when assistant results are sent to chat."
|
||||||
|
|
||||||
|
-- Chat Options
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T1757092713"] = "Chat Options"
|
||||||
|
|
||||||
|
-- Shortcut to send input
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T1773585398"] = "Shortcut to send input"
|
||||||
|
|
||||||
|
-- Provider selection when creating new chats
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T189306836"] = "Provider selection when creating new chats"
|
||||||
|
|
||||||
|
-- Would you like to set one of your profiles as the default for chats?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T1933521846"] = "Would you like to set one of your profiles as the default for chats?"
|
||||||
|
|
||||||
|
-- Apply default data source option when sending assistant results to chat
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T2510376349"] = "Apply default data source option when sending assistant results to chat"
|
||||||
|
|
||||||
|
-- Control how the LLM provider for added chats is selected.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T263621180"] = "Control how the LLM provider for added chats is selected."
|
||||||
|
|
||||||
|
-- Provider selection when loading a chat and sending assistant results to chat
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T2868379953"] = "Provider selection when loading a chat and sending assistant results to chat"
|
||||||
|
|
||||||
|
-- Show the latest message after loading?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T2913693228"] = "Show the latest message after loading?"
|
||||||
|
|
||||||
|
-- Do you want to use any shortcut to send your input?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T2936560092"] = "Do you want to use any shortcut to send your input?"
|
||||||
|
|
||||||
|
-- No chat options are preselected
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3383186996"] = "No chat options are preselected"
|
||||||
|
|
||||||
|
-- Close
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3448155331"] = "Close"
|
||||||
|
|
||||||
|
-- First (oldest) message is shown, after loading a chat
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3507181366"] = "First (oldest) message is shown, after loading a chat"
|
||||||
|
|
||||||
|
-- Preselect chat options?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3728624759"] = "Preselect chat options?"
|
||||||
|
|
||||||
|
-- Chat options are preselected
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3730599555"] = "Chat options are preselected"
|
||||||
|
|
||||||
|
-- Latest message is shown, after loading a chat
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3755993611"] = "Latest message is shown, after loading a chat"
|
||||||
|
|
||||||
|
-- Preselect one of your profiles?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T4004501229"] = "Preselect one of your profiles?"
|
||||||
|
|
||||||
|
-- Do you want to apply the default data source options when sending assistant results to chat?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T4033153439"] = "Do you want to apply the default data source options when sending assistant results to chat?"
|
||||||
|
|
||||||
|
-- When enabled, you can preselect chat options. This is might be useful when you prefer a specific provider.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T477675197"] = "When enabled, you can preselect chat options. This is might be useful when you prefer a specific provider."
|
||||||
|
|
||||||
|
-- You can set default data sources and options for new chats. You can change these settings later for each individual chat.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T492357592"] = "You can set default data sources and options for new chats. You can change these settings later for each individual chat."
|
||||||
|
|
||||||
|
-- When enabled, the latest message is shown after loading a chat. When disabled, the first (oldest) message is shown.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T582516016"] = "When enabled, the latest message is shown after loading a chat. When disabled, the first (oldest) message is shown."
|
||||||
|
|
||||||
-- Which programming language should be preselected for added contexts?
|
-- Which programming language should be preselected for added contexts?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCODING::T1073540083"] = "Which programming language should be preselected for added contexts?"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCODING::T1073540083"] = "Which programming language should be preselected for added contexts?"
|
||||||
|
|
||||||
@ -2791,6 +3349,9 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::ASSISTANTS::T897888480"] = "Localization"
|
|||||||
-- Hide your workspaces
|
-- Hide your workspaces
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::CHAT::T2351468526"] = "Hide your workspaces"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::CHAT::T2351468526"] = "Hide your workspaces"
|
||||||
|
|
||||||
|
-- Open Chat Options
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::CHAT::T2813205227"] = "Open Chat Options"
|
||||||
|
|
||||||
-- Disappearing Chat
|
-- Disappearing Chat
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::CHAT::T3046519404"] = "Disappearing Chat"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::CHAT::T3046519404"] = "Disappearing Chat"
|
||||||
|
|
||||||
@ -2920,6 +3481,9 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2410456125"] = "The first 10 supp
|
|||||||
-- We would like to thank the DLR for its courage in supporting MindWork AI Studio at an early stage. The DLR not only uses AI Studio in various projects but also supports its further development with personnel resources.
|
-- We would like to thank the DLR for its courage in supporting MindWork AI Studio at an early stage. The DLR not only uses AI Studio in various projects but also supports its further development with personnel resources.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2438064678"] = "We would like to thank the DLR for its courage in supporting MindWork AI Studio at an early stage. The DLR not only uses AI Studio in various projects but also supports its further development with personnel resources."
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2438064678"] = "We would like to thank the DLR for its courage in supporting MindWork AI Studio at an early stage. The DLR not only uses AI Studio in various projects but also supports its further development with personnel resources."
|
||||||
|
|
||||||
|
-- Become one of our titans
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2640760894"] = "Become one of our titans"
|
||||||
|
|
||||||
-- Supporters
|
-- Supporters
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2929332068"] = "Supporters"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2929332068"] = "Supporters"
|
||||||
|
|
||||||
@ -2953,9 +3517,6 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T4106820759"] = "Thank you, Peer,
|
|||||||
-- Code Contributions
|
-- Code Contributions
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T4135925647"] = "Code Contributions"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T4135925647"] = "Code Contributions"
|
||||||
|
|
||||||
-- Become our first Titan
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T414428338"] = "Become our first Titan"
|
|
||||||
|
|
||||||
-- Become a contributor
|
-- Become a contributor
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T414604046"] = "Become a contributor"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T414604046"] = "Become a contributor"
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
@attribute [Route(Routes.ASSISTANT_LEGAL_CHECK)]
|
@attribute [Route(Routes.ASSISTANT_LEGAL_CHECK)]
|
||||||
@using AIStudio.Settings.DataModel
|
|
||||||
@inherits AssistantBaseCore<AIStudio.Dialogs.Settings.SettingsDialogLegalCheck>
|
@inherits AssistantBaseCore<AIStudio.Dialogs.Settings.SettingsDialogLegalCheck>
|
||||||
|
|
||||||
@if (!this.SettingsManager.ConfigurationData.LegalCheck.HideWebContentReader)
|
@if (!this.SettingsManager.ConfigurationData.LegalCheck.HideWebContentReader)
|
||||||
@ -7,11 +6,7 @@
|
|||||||
<ReadWebContent @bind-Content="@this.inputLegalDocument" ProviderSettings="@this.providerSettings" @bind-AgentIsRunning="@this.isAgentRunning" Preselect="@(this.SettingsManager.ConfigurationData.LegalCheck.PreselectOptions && this.SettingsManager.ConfigurationData.LegalCheck.PreselectWebContentReader)" PreselectContentCleanerAgent="@(this.SettingsManager.ConfigurationData.LegalCheck.PreselectOptions && this.SettingsManager.ConfigurationData.LegalCheck.PreselectContentCleanerAgent)"/>
|
<ReadWebContent @bind-Content="@this.inputLegalDocument" ProviderSettings="@this.providerSettings" @bind-AgentIsRunning="@this.isAgentRunning" Preselect="@(this.SettingsManager.ConfigurationData.LegalCheck.PreselectOptions && this.SettingsManager.ConfigurationData.LegalCheck.PreselectWebContentReader)" PreselectContentCleanerAgent="@(this.SettingsManager.ConfigurationData.LegalCheck.PreselectOptions && this.SettingsManager.ConfigurationData.LegalCheck.PreselectContentCleanerAgent)"/>
|
||||||
}
|
}
|
||||||
|
|
||||||
@if (PreviewFeatures.PRE_READ_PDF_2025.IsEnabled(this.SettingsManager))
|
|
||||||
{
|
|
||||||
<ReadPDFContent @bind-PDFContent="@this.inputLegalDocument"/>
|
<ReadPDFContent @bind-PDFContent="@this.inputLegalDocument"/>
|
||||||
}
|
|
||||||
|
|
||||||
<MudTextField T="string" Disabled="@this.isAgentRunning" @bind-Text="@this.inputLegalDocument" Validation="@this.ValidatingLegalDocument" AdornmentIcon="@Icons.Material.Filled.DocumentScanner" Adornment="Adornment.Start" Label="@T("Legal document")" Variant="Variant.Outlined" Lines="12" AutoGrow="@true" MaxLines="24" Class="mb-3" UserAttributes="@USER_INPUT_ATTRIBUTES"/>
|
<MudTextField T="string" Disabled="@this.isAgentRunning" @bind-Text="@this.inputLegalDocument" Validation="@this.ValidatingLegalDocument" AdornmentIcon="@Icons.Material.Filled.DocumentScanner" Adornment="Adornment.Start" Label="@T("Legal document")" Variant="Variant.Outlined" Lines="12" AutoGrow="@true" MaxLines="24" Class="mb-3" UserAttributes="@USER_INPUT_ATTRIBUTES"/>
|
||||||
<MudTextField T="string" Disabled="@this.isAgentRunning" @bind-Text="@this.inputQuestions" Validation="@this.ValidatingQuestions" AdornmentIcon="@Icons.Material.Filled.QuestionAnswer" Adornment="Adornment.Start" Label="@T("Your questions")" Variant="Variant.Outlined" Lines="6" AutoGrow="@true" MaxLines="12" Class="mb-3" UserAttributes="@USER_INPUT_ATTRIBUTES"/>
|
<MudTextField T="string" Disabled="@this.isAgentRunning" @bind-Text="@this.inputQuestions" Validation="@this.ValidatingQuestions" AdornmentIcon="@Icons.Material.Filled.QuestionAnswer" Adornment="Adornment.Start" Label="@T("Your questions")" Variant="Variant.Outlined" Lines="6" AutoGrow="@true" MaxLines="12" Class="mb-3" UserAttributes="@USER_INPUT_ATTRIBUTES"/>
|
||||||
<ProviderSelection @bind-ProviderSettings="@this.providerSettings" ValidateProvider="@this.ValidatingProvider"/>
|
<ProviderSelection @bind-ProviderSettings="@this.providerSettings" ValidateProvider="@this.ValidatingProvider"/>
|
@ -1,5 +1,4 @@
|
|||||||
@attribute [Route(Routes.ASSISTANT_SUMMARIZER)]
|
@attribute [Route(Routes.ASSISTANT_SUMMARIZER)]
|
||||||
@using AIStudio.Settings.DataModel
|
|
||||||
@inherits AssistantBaseCore<AIStudio.Dialogs.Settings.SettingsDialogTextSummarizer>
|
@inherits AssistantBaseCore<AIStudio.Dialogs.Settings.SettingsDialogTextSummarizer>
|
||||||
|
|
||||||
@if (!this.SettingsManager.ConfigurationData.TextSummarizer.HideWebContentReader)
|
@if (!this.SettingsManager.ConfigurationData.TextSummarizer.HideWebContentReader)
|
||||||
@ -7,11 +6,7 @@
|
|||||||
<ReadWebContent @bind-Content="@this.inputText" ProviderSettings="@this.providerSettings" @bind-AgentIsRunning="@this.isAgentRunning" Preselect="@(this.SettingsManager.ConfigurationData.TextSummarizer.PreselectOptions && this.SettingsManager.ConfigurationData.TextSummarizer.PreselectWebContentReader)" PreselectContentCleanerAgent="@(this.SettingsManager.ConfigurationData.TextSummarizer.PreselectOptions && this.SettingsManager.ConfigurationData.TextSummarizer.PreselectContentCleanerAgent)"/>
|
<ReadWebContent @bind-Content="@this.inputText" ProviderSettings="@this.providerSettings" @bind-AgentIsRunning="@this.isAgentRunning" Preselect="@(this.SettingsManager.ConfigurationData.TextSummarizer.PreselectOptions && this.SettingsManager.ConfigurationData.TextSummarizer.PreselectWebContentReader)" PreselectContentCleanerAgent="@(this.SettingsManager.ConfigurationData.TextSummarizer.PreselectOptions && this.SettingsManager.ConfigurationData.TextSummarizer.PreselectContentCleanerAgent)"/>
|
||||||
}
|
}
|
||||||
|
|
||||||
@if (PreviewFeatures.PRE_READ_PDF_2025.IsEnabled(this.SettingsManager))
|
|
||||||
{
|
|
||||||
<ReadPDFContent @bind-PDFContent="@this.inputText"/>
|
<ReadPDFContent @bind-PDFContent="@this.inputText"/>
|
||||||
}
|
|
||||||
|
|
||||||
<MudTextField T="string" Disabled="@this.isAgentRunning" @bind-Text="@this.inputText" Validation="@this.ValidatingText" AdornmentIcon="@Icons.Material.Filled.DocumentScanner" Adornment="Adornment.Start" Label="@T("Your input")" Variant="Variant.Outlined" Lines="6" AutoGrow="@true" MaxLines="12" Class="mb-3" UserAttributes="@USER_INPUT_ATTRIBUTES"/>
|
<MudTextField T="string" Disabled="@this.isAgentRunning" @bind-Text="@this.inputText" Validation="@this.ValidatingText" AdornmentIcon="@Icons.Material.Filled.DocumentScanner" Adornment="Adornment.Start" Label="@T("Your input")" Variant="Variant.Outlined" Lines="6" AutoGrow="@true" MaxLines="12" Class="mb-3" UserAttributes="@USER_INPUT_ATTRIBUTES"/>
|
||||||
<EnumSelection T="CommonLanguages" NameFunc="@(language => language.Name())" @bind-Value="@this.selectedTargetLanguage" Icon="@Icons.Material.Filled.Translate" Label="@T("Target language")" AllowOther="@true" @bind-OtherInput="@this.customTargetLanguage" OtherValue="CommonLanguages.OTHER" LabelOther="@T("Custom target language")" ValidateOther="@this.ValidateCustomLanguage" />
|
<EnumSelection T="CommonLanguages" NameFunc="@(language => language.Name())" @bind-Value="@this.selectedTargetLanguage" Icon="@Icons.Material.Filled.Translate" Label="@T("Target language")" AllowOther="@true" @bind-OtherInput="@this.customTargetLanguage" OtherValue="CommonLanguages.OTHER" LabelOther="@T("Custom target language")" ValidateOther="@this.ValidateCustomLanguage" />
|
||||||
<EnumSelection T="Complexity" NameFunc="@(complexity => complexity.Name())" @bind-Value="@this.selectedComplexity" Icon="@Icons.Material.Filled.Layers" Label="@T("Target complexity")" AllowOther="@true" @bind-OtherInput="@this.expertInField" OtherValue="Complexity.SCIENTIFIC_LANGUAGE_OTHER_EXPERTS" LabelOther="@T("Your expertise")" ValidateOther="@this.ValidateExpertInField" />
|
<EnumSelection T="Complexity" NameFunc="@(complexity => complexity.Name())" @bind-Value="@this.selectedComplexity" Icon="@Icons.Material.Filled.Layers" Label="@T("Target complexity")" AllowOther="@true" @bind-OtherInput="@this.expertInField" OtherValue="Complexity.SCIENTIFIC_LANGUAGE_OTHER_EXPERTS" LabelOther="@T("Your expertise")" ValidateOther="@this.ValidateExpertInField" />
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
@attribute [Route(Routes.ASSISTANT_TRANSLATION)]
|
@attribute [Route(Routes.ASSISTANT_TRANSLATION)]
|
||||||
@using AIStudio.Settings.DataModel
|
|
||||||
@inherits AssistantBaseCore<AIStudio.Dialogs.Settings.SettingsDialogTranslation>
|
@inherits AssistantBaseCore<AIStudio.Dialogs.Settings.SettingsDialogTranslation>
|
||||||
|
|
||||||
@if (!this.SettingsManager.ConfigurationData.Translation.HideWebContentReader)
|
@if (!this.SettingsManager.ConfigurationData.Translation.HideWebContentReader)
|
||||||
@ -7,15 +6,11 @@
|
|||||||
<ReadWebContent @bind-Content="@this.inputText" ProviderSettings="@this.providerSettings" @bind-AgentIsRunning="@this.isAgentRunning" Preselect="@(this.SettingsManager.ConfigurationData.Translation.PreselectOptions && this.SettingsManager.ConfigurationData.Translation.PreselectWebContentReader)" PreselectContentCleanerAgent="@(this.SettingsManager.ConfigurationData.Translation.PreselectOptions && this.SettingsManager.ConfigurationData.Translation.PreselectContentCleanerAgent)"/>
|
<ReadWebContent @bind-Content="@this.inputText" ProviderSettings="@this.providerSettings" @bind-AgentIsRunning="@this.isAgentRunning" Preselect="@(this.SettingsManager.ConfigurationData.Translation.PreselectOptions && this.SettingsManager.ConfigurationData.Translation.PreselectWebContentReader)" PreselectContentCleanerAgent="@(this.SettingsManager.ConfigurationData.Translation.PreselectOptions && this.SettingsManager.ConfigurationData.Translation.PreselectContentCleanerAgent)"/>
|
||||||
}
|
}
|
||||||
|
|
||||||
@if (PreviewFeatures.PRE_READ_PDF_2025.IsEnabled(this.SettingsManager))
|
|
||||||
{
|
|
||||||
<ReadPDFContent @bind-PDFContent="@this.inputText"/>
|
<ReadPDFContent @bind-PDFContent="@this.inputText"/>
|
||||||
}
|
|
||||||
|
|
||||||
<MudTextSwitch Label="@T("Live translation")" @bind-Value="@this.liveTranslation" LabelOn="@T("Live translation")" LabelOff="@T("No live translation")"/>
|
<MudTextSwitch Label="@T("Live translation")" @bind-Value="@this.liveTranslation" LabelOn="@T("Live translation")" LabelOff="@T("No live translation")"/>
|
||||||
@if (this.liveTranslation)
|
@if (this.liveTranslation)
|
||||||
{
|
{
|
||||||
<MudTextField T="string" Disabled="@this.isAgentRunning" @bind-Text="@this.inputText" Validation="@this.ValidatingText" AdornmentIcon="@Icons.Material.Filled.DocumentScanner" Adornment="Adornment.Start" Label="@T("Your input")" Variant="Variant.Outlined" Lines="6" AutoGrow="@true" MaxLines="12" Class="mb-3" Immediate="@true" DebounceInterval="@this.SettingsManager.ConfigurationData.Translation.DebounceIntervalMilliseconds" OnDebounceIntervalElapsed="() => this.TranslateText(force: false)" UserAttributes="@USER_INPUT_ATTRIBUTES"/>
|
<DebouncedTextField Disabled="@this.isAgentRunning" @bind-Text="@this.inputText" ValidationFunc="@this.ValidatingText" Icon="@Icons.Material.Filled.DocumentScanner" Label="@T("Your input")" Lines="6" MaxLines="12" DebounceTime="@TimeSpan.FromMilliseconds(this.SettingsManager.ConfigurationData.Translation.DebounceIntervalMilliseconds)" WhenTextChangedAsync="async _ => await this.TranslateText(force: false)" Attributes="@USER_INPUT_ATTRIBUTES"/>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -13,6 +13,7 @@ public partial class Changelog
|
|||||||
|
|
||||||
public static readonly Log[] LOGS =
|
public static readonly Log[] LOGS =
|
||||||
[
|
[
|
||||||
|
new (219, "v0.9.44, build 219 (2025-05-18 19:33 UTC)", "v0.9.44.md"),
|
||||||
new (218, "v0.9.43, build 218 (2025-05-11 17:22 UTC)", "v0.9.43.md"),
|
new (218, "v0.9.43, build 218 (2025-05-11 17:22 UTC)", "v0.9.43.md"),
|
||||||
new (217, "v0.9.42, build 217 (2025-05-04 13:03 UTC)", "v0.9.42.md"),
|
new (217, "v0.9.42, build 217 (2025-05-04 13:03 UTC)", "v0.9.42.md"),
|
||||||
new (216, "v0.9.41, build 216 (2025-04-27 14:18 UTC)", "v0.9.41.md"),
|
new (216, "v0.9.41, build 216 (2025-04-27 14:18 UTC)", "v0.9.41.md"),
|
||||||
|
@ -274,9 +274,7 @@ public partial class ChatComponent : MSGComponentBase, IAsyncDisposable
|
|||||||
|
|
||||||
private bool CanThreadBeSaved => this.ChatThread is not null && this.ChatThread.Blocks.Count > 0;
|
private bool CanThreadBeSaved => this.ChatThread is not null && this.ChatThread.Blocks.Count > 0;
|
||||||
|
|
||||||
private string TooltipAddChatToWorkspace => string.Format(T("""
|
private string TooltipAddChatToWorkspace => string.Format(T("Start new chat in workspace '{0}'"), this.currentWorkspaceName);
|
||||||
Start new chat in workspace "{0}"
|
|
||||||
"""), this.currentWorkspaceName);
|
|
||||||
|
|
||||||
private string UserInputStyle => this.SettingsManager.ConfigurationData.LLMProviders.ShowProviderConfidence ? this.Provider.UsedLLMProvider.GetConfidence(this.SettingsManager).SetColorStyle(this.SettingsManager) : string.Empty;
|
private string UserInputStyle => this.SettingsManager.ConfigurationData.LLMProviders.ShowProviderConfidence ? this.Provider.UsedLLMProvider.GetConfidence(this.SettingsManager).SetColorStyle(this.SettingsManager) : string.Empty;
|
||||||
|
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
@inherits MudComponentBase
|
||||||
|
|
||||||
|
<MudTextField T="string" Disabled="@this.Disabled" Text="@this.text" TextChanged="@this.OnTextChanged" Validation="@this.ValidationFunc" Label="@this.Label" Variant="Variant.Outlined" Lines="@this.Lines" MaxLines="@this.MaxLines" AutoGrow="@(this.MaxLines > this.Lines)" Margin="Margin.Dense" UserAttributes="@this.Attributes" HelperText="@this.HelpText" Placeholder="@this.Placeholder" Class="mb-3" Immediate="true" Adornment="Adornment.Start" AdornmentIcon="@this.Icon"/>
|
@ -0,0 +1,80 @@
|
|||||||
|
using Microsoft.AspNetCore.Components;
|
||||||
|
|
||||||
|
using Timer = System.Timers.Timer;
|
||||||
|
|
||||||
|
namespace AIStudio.Components;
|
||||||
|
|
||||||
|
public partial class DebouncedTextField : MudComponentBase
|
||||||
|
{
|
||||||
|
[Parameter]
|
||||||
|
public string Label { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public string Text { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public EventCallback<string> TextChanged { get; set; }
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public Func<string, Task> WhenTextChangedAsync { get; set; } = _ => Task.CompletedTask;
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public Action<string> WhenTextCanged { get; set; } = _ => { };
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public int Lines { get; set; } = 1;
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public int MaxLines { get; set; } = 1;
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public Dictionary<string, object?> Attributes { get; set; } = [];
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public Func<string, string?> ValidationFunc { get; set; } = _ => null;
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public string HelpText { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public string Placeholder { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public string Icon { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public TimeSpan DebounceTime { get; set; } = TimeSpan.FromMilliseconds(800);
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public bool Disabled { get; set; }
|
||||||
|
|
||||||
|
private readonly Timer debounceTimer = new();
|
||||||
|
private string text = string.Empty;
|
||||||
|
|
||||||
|
#region Overrides of ComponentBase
|
||||||
|
|
||||||
|
protected override async Task OnInitializedAsync()
|
||||||
|
{
|
||||||
|
this.text = this.Text;
|
||||||
|
this.debounceTimer.AutoReset = false;
|
||||||
|
this.debounceTimer.Interval = this.DebounceTime.TotalMilliseconds;
|
||||||
|
this.debounceTimer.Elapsed += (_, _) =>
|
||||||
|
{
|
||||||
|
this.debounceTimer.Stop();
|
||||||
|
this.InvokeAsync(async () => await this.TextChanged.InvokeAsync(this.text));
|
||||||
|
this.InvokeAsync(async () => await this.WhenTextChangedAsync(this.text));
|
||||||
|
this.InvokeAsync(() => this.WhenTextCanged(this.text));
|
||||||
|
};
|
||||||
|
|
||||||
|
await base.OnInitializedAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private void OnTextChanged(string value)
|
||||||
|
{
|
||||||
|
this.text = value;
|
||||||
|
this.debounceTimer.Stop();
|
||||||
|
this.debounceTimer.Start();
|
||||||
|
}
|
||||||
|
}
|
@ -26,7 +26,7 @@
|
|||||||
var availablePreviewFeatures = ConfigurationSelectDataFactory.GetPreviewFeaturesData(this.SettingsManager).ToList();
|
var availablePreviewFeatures = ConfigurationSelectDataFactory.GetPreviewFeaturesData(this.SettingsManager).ToList();
|
||||||
if (availablePreviewFeatures.Count > 0)
|
if (availablePreviewFeatures.Count > 0)
|
||||||
{
|
{
|
||||||
<ConfigurationMultiSelect OptionDescription="@T("Select preview features")" SelectedValues="@(() => this.SettingsManager.ConfigurationData.App.EnabledPreviewFeatures)" Data="@availablePreviewFeatures" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.App.EnabledPreviewFeatures = selectedValue)" OptionHelp="@T("Which preview features would you like to enable?")"/>
|
<ConfigurationMultiSelect OptionDescription="@T("Select preview features")" SelectedValues="@(() => this.SettingsManager.ConfigurationData.App.EnabledPreviewFeatures.Where(x => !x.IsReleased()).ToHashSet())" Data="@availablePreviewFeatures" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.App.EnabledPreviewFeatures = selectedValue)" OptionHelp="@T("Which preview features would you like to enable?")"/>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
@using AIStudio.Settings
|
|
||||||
@using AIStudio.Settings.DataModel
|
|
||||||
@inherits SettingsPanelBase
|
|
||||||
|
|
||||||
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.Chat" HeaderText="@T("Chat Options")">
|
|
||||||
<ConfigurationSelect OptionDescription="@T("Shortcut to send input")" SelectedValue="@(() => this.SettingsManager.ConfigurationData.Chat.ShortcutSendBehavior)" Data="@ConfigurationSelectDataFactory.GetSendBehaviorData()" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.Chat.ShortcutSendBehavior = selectedValue)" OptionHelp="@T("Do you want to use any shortcut to send your input?")"/>
|
|
||||||
<ConfigurationOption OptionDescription="@T("Show the latest message after loading?")" LabelOn="@T("Latest message is shown, after loading a chat")" LabelOff="@T("First (oldest) message is shown, after loading a chat")" State="@(() => this.SettingsManager.ConfigurationData.Chat.ShowLatestMessageAfterLoading)" StateUpdate="@(updatedState => this.SettingsManager.ConfigurationData.Chat.ShowLatestMessageAfterLoading = updatedState)" OptionHelp="@T("When enabled, the latest message is shown after loading a chat. When disabled, the first (oldest) message is shown.")"/>
|
|
||||||
<ConfigurationSelect OptionDescription="@T("Provider selection when creating new chats")" SelectedValue="@(() => this.SettingsManager.ConfigurationData.Chat.AddChatProviderBehavior)" Data="@ConfigurationSelectDataFactory.GetAddChatProviderBehavior()" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.Chat.AddChatProviderBehavior = selectedValue)" OptionHelp="@T("Control how the LLM provider for added chats is selected.")"/>
|
|
||||||
<ConfigurationSelect OptionDescription="@T("Provider selection when loading a chat and sending assistant results to chat")" SelectedValue="@(() => this.SettingsManager.ConfigurationData.Chat.LoadingProviderBehavior)" Data="@ConfigurationSelectDataFactory.GetLoadingChatProviderBehavior()" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.Chat.LoadingProviderBehavior = selectedValue)" OptionHelp="@T("Control how the LLM provider for loaded chats is selected and when assistant results are sent to chat.")"/>
|
|
||||||
|
|
||||||
<MudPaper Class="pa-3 mb-8 border-dashed border rounded-lg">
|
|
||||||
<ConfigurationOption OptionDescription="@T("Preselect chat options?")" LabelOn="@T("Chat options are preselected")" LabelOff="@T("No chat options are preselected")" State="@(() => this.SettingsManager.ConfigurationData.Chat.PreselectOptions)" StateUpdate="@(updatedState => this.SettingsManager.ConfigurationData.Chat.PreselectOptions = updatedState)" OptionHelp="@T("When enabled, you can preselect chat options. This is might be useful when you prefer a specific provider.")"/>
|
|
||||||
<ConfigurationProviderSelection Component="Components.CHAT" Data="@this.AvailableLLMProvidersFunc()" Disabled="@(() => !this.SettingsManager.ConfigurationData.Chat.PreselectOptions)" SelectedValue="@(() => this.SettingsManager.ConfigurationData.Chat.PreselectedProvider)" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.Chat.PreselectedProvider = selectedValue)"/>
|
|
||||||
<ConfigurationSelect OptionDescription="@T("Preselect one of your profiles?")" Disabled="@(() => !this.SettingsManager.ConfigurationData.Chat.PreselectOptions)" SelectedValue="@(() => this.SettingsManager.ConfigurationData.Chat.PreselectedProfile)" Data="@ConfigurationSelectDataFactory.GetProfilesData(this.SettingsManager.ConfigurationData.Profiles)" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.Chat.PreselectedProfile = selectedValue)" OptionHelp="@T("Would you like to set one of your profiles as the default for chats?")"/>
|
|
||||||
<ConfigurationSelect OptionDescription="@T("Preselect one of your chat templates?")" Disabled="@(() => !this.SettingsManager.ConfigurationData.Chat.PreselectOptions)" SelectedValue="@(() => this.SettingsManager.ConfigurationData.Chat.PreselectedChatTemplate)" Data="@ConfigurationSelectDataFactory.GetChatTemplatesData(this.SettingsManager.ConfigurationData.ChatTemplates)" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.Chat.PreselectedChatTemplate = selectedValue)" OptionHelp="@T("Would you like to set one of your chat templates as the default for chats?")"/>
|
|
||||||
</MudPaper>
|
|
||||||
|
|
||||||
@if (PreviewFeatures.PRE_RAG_2024.IsEnabled(this.SettingsManager))
|
|
||||||
{
|
|
||||||
<DataSourceSelection SelectionMode="DataSourceSelectionMode.CONFIGURATION_MODE" AutoSaveAppSettings="@true" @bind-DataSourceOptions="@this.SettingsManager.ConfigurationData.Chat.PreselectedDataSourceOptions" ConfigurationHeaderMessage="@T("You can set default data sources and options for new chats. You can change these settings later for each individual chat.")"/>
|
|
||||||
<ConfigurationSelect OptionDescription="@T("Apply default data source option when sending assistant results to chat")" SelectedValue="@(() => this.SettingsManager.ConfigurationData.Chat.SendToChatDataSourceBehavior)" Data="@ConfigurationSelectDataFactory.GetSendToChatDataSourceBehaviorData()" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.Chat.SendToChatDataSourceBehavior = selectedValue)" OptionHelp="@T("Do you want to apply the default data source options when sending assistant results to chat?")"/>
|
|
||||||
}
|
|
||||||
</ExpansionPanel>
|
|
@ -1,3 +0,0 @@
|
|||||||
namespace AIStudio.Components.Settings;
|
|
||||||
|
|
||||||
public partial class SettingsPanelChat : SettingsPanelBase;
|
|
@ -22,7 +22,7 @@
|
|||||||
<col style="width: 12em;"/>
|
<col style="width: 12em;"/>
|
||||||
<col style="width: 12em;"/>
|
<col style="width: 12em;"/>
|
||||||
<col/>
|
<col/>
|
||||||
<col style="width: 40em;"/>
|
<col style="width: 16em;"/>
|
||||||
</ColGroup>
|
</ColGroup>
|
||||||
<HeaderContent>
|
<HeaderContent>
|
||||||
<MudTh>#</MudTh>
|
<MudTh>#</MudTh>
|
||||||
@ -39,15 +39,15 @@
|
|||||||
|
|
||||||
<MudTd>
|
<MudTd>
|
||||||
<MudStack Row="true" Class="mb-2 mt-2" Wrap="Wrap.Wrap">
|
<MudStack Row="true" Class="mb-2 mt-2" Wrap="Wrap.Wrap">
|
||||||
<MudButton Variant="Variant.Filled" Color="Color.Info" StartIcon="@Icons.Material.Filled.OpenInBrowser" Href="@context.UsedLLMProvider.GetDashboardURL()" Target="_blank" Disabled="@(!context.UsedLLMProvider.HasDashboard())">
|
<MudTooltip Text="@T("Open Dashboard")">
|
||||||
@T("Open Dashboard")
|
<MudIconButton Color="Color.Info" Icon="@Icons.Material.Filled.OpenInBrowser" Href="@context.UsedLLMProvider.GetDashboardURL()" Target="_blank" Disabled="@(!context.UsedLLMProvider.HasDashboard())"/>
|
||||||
</MudButton>
|
</MudTooltip>
|
||||||
<MudButton Variant="Variant.Filled" Color="Color.Info" StartIcon="@Icons.Material.Filled.Edit" OnClick="() => this.EditEmbeddingProvider(context)">
|
<MudTooltip Text="@T("Edit")">
|
||||||
@T("Edit")
|
<MudIconButton Color="Color.Info" Icon="@Icons.Material.Filled.Edit" OnClick="() => this.EditEmbeddingProvider(context)"/>
|
||||||
</MudButton>
|
</MudTooltip>
|
||||||
<MudButton Variant="Variant.Filled" Color="Color.Error" StartIcon="@Icons.Material.Filled.Delete" OnClick="() => this.DeleteEmbeddingProvider(context)">
|
<MudTooltip Text="@T("Delete")">
|
||||||
@T("Delete")
|
<MudIconButton Color="Color.Error" Icon="@Icons.Material.Filled.Delete" OnClick="() => this.DeleteEmbeddingProvider(context)"/>
|
||||||
</MudButton>
|
</MudTooltip>
|
||||||
</MudStack>
|
</MudStack>
|
||||||
</MudTd>
|
</MudTd>
|
||||||
</RowTemplate>
|
</RowTemplate>
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
<ColGroup>
|
<ColGroup>
|
||||||
<col style="width: 3em;"/>
|
<col style="width: 3em;"/>
|
||||||
<col/>
|
<col/>
|
||||||
<col style="width: 40em;"/>
|
<col style="width: 16em;"/>
|
||||||
</ColGroup>
|
</ColGroup>
|
||||||
<HeaderContent>
|
<HeaderContent>
|
||||||
<MudTh>#</MudTh>
|
<MudTh>#</MudTh>
|
||||||
@ -27,12 +27,12 @@
|
|||||||
<MudTd>@context.Name</MudTd>
|
<MudTd>@context.Name</MudTd>
|
||||||
<MudTd>
|
<MudTd>
|
||||||
<MudStack Row="true" Class="mb-2 mt-2" Wrap="Wrap.Wrap">
|
<MudStack Row="true" Class="mb-2 mt-2" Wrap="Wrap.Wrap">
|
||||||
<MudButton Variant="Variant.Filled" Color="Color.Info" StartIcon="@Icons.Material.Filled.Edit" OnClick="() => this.EditProfile(context)">
|
<MudTooltip Text="@T("Edit")">
|
||||||
@T("Edit")
|
<MudIconButton Color="Color.Info" Icon="@Icons.Material.Filled.Edit" OnClick="() => this.EditProfile(context)"/>
|
||||||
</MudButton>
|
</MudTooltip>
|
||||||
<MudButton Variant="Variant.Filled" Color="Color.Error" StartIcon="@Icons.Material.Filled.Delete" OnClick="() => this.DeleteProfile(context)">
|
<MudTooltip Text="@T("Delete")">
|
||||||
@T("Delete")
|
<MudIconButton Color="Color.Error" Icon="@Icons.Material.Filled.Delete" OnClick="() => this.DeleteProfile(context)"/>
|
||||||
</MudButton>
|
</MudTooltip>
|
||||||
</MudStack>
|
</MudStack>
|
||||||
</MudTd>
|
</MudTd>
|
||||||
</RowTemplate>
|
</RowTemplate>
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
<col style="width: 12em;"/>
|
<col style="width: 12em;"/>
|
||||||
<col style="width: 12em;"/>
|
<col style="width: 12em;"/>
|
||||||
<col/>
|
<col/>
|
||||||
<col style="width: 34em;"/>
|
<col style="width: 16em;"/>
|
||||||
</ColGroup>
|
</ColGroup>
|
||||||
<HeaderContent>
|
<HeaderContent>
|
||||||
<MudTh>#</MudTh>
|
<MudTh>#</MudTh>
|
||||||
@ -44,16 +44,16 @@
|
|||||||
}
|
}
|
||||||
</MudTd>
|
</MudTd>
|
||||||
<MudTd>
|
<MudTd>
|
||||||
<MudStack Row="true" Class="mb-2 mt-2" Wrap="Wrap.Wrap">
|
<MudStack Row="true" Class="mb-2 mt-2" Spacing="1" Wrap="Wrap.Wrap">
|
||||||
<MudButton Variant="Variant.Filled" Color="Color.Info" StartIcon="@Icons.Material.Filled.OpenInBrowser" Href="@context.UsedLLMProvider.GetDashboardURL()" Target="_blank" Disabled="@(!context.UsedLLMProvider.HasDashboard())">
|
<MudTooltip Text="@T("Open Dashboard")">
|
||||||
@T("Open Dashboard")
|
<MudIconButton Color="Color.Info" Icon="@Icons.Material.Filled.OpenInBrowser" Href="@context.UsedLLMProvider.GetDashboardURL()" Target="_blank" Disabled="@(!context.UsedLLMProvider.HasDashboard())"/>
|
||||||
</MudButton>
|
</MudTooltip>
|
||||||
<MudButton Variant="Variant.Filled" Color="Color.Info" StartIcon="@Icons.Material.Filled.Edit" OnClick="() => this.EditLLMProvider(context)">
|
<MudTooltip Text="@T("Edit")">
|
||||||
@T("Edit")
|
<MudIconButton Color="Color.Info" Icon="@Icons.Material.Filled.Edit" OnClick="() => this.EditLLMProvider(context)"/>
|
||||||
</MudButton>
|
</MudTooltip>
|
||||||
<MudButton Variant="Variant.Filled" Color="Color.Error" StartIcon="@Icons.Material.Filled.Delete" OnClick="() => this.DeleteLLMProvider(context)">
|
<MudTooltip Text="@T("Delete")">
|
||||||
@T("Delete")
|
<MudIconButton Color="Color.Error" Icon="@Icons.Material.Filled.Delete" OnClick="() => this.DeleteLLMProvider(context)"/>
|
||||||
</MudButton>
|
</MudTooltip>
|
||||||
</MudStack>
|
</MudStack>
|
||||||
</MudTd>
|
</MudTd>
|
||||||
</RowTemplate>
|
</RowTemplate>
|
||||||
|
@ -344,6 +344,13 @@ public partial class Workspaces : MSGComponentBase
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
chat.Name = (dialogResult.Data as string)!;
|
chat.Name = (dialogResult.Data as string)!;
|
||||||
|
if(this.CurrentChatThread?.ChatId == chat.ChatId)
|
||||||
|
{
|
||||||
|
this.CurrentChatThread.Name = chat.Name;
|
||||||
|
await this.CurrentChatThreadChanged.InvokeAsync(this.CurrentChatThread);
|
||||||
|
await MessageBus.INSTANCE.SendMessage<bool>(this, Event.WORKSPACE_LOADED_CHAT_CHANGED);
|
||||||
|
}
|
||||||
|
|
||||||
await this.StoreChat(chat);
|
await this.StoreChat(chat);
|
||||||
await this.LoadTreeItems();
|
await this.LoadTreeItems();
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
@using AIStudio.Settings.DataModel
|
@using AIStudio.Settings.DataModel
|
||||||
@using AIStudio.Tools.ERIClient.DataModel
|
@using AIStudio.Tools.ERIClient.DataModel
|
||||||
|
@inherits MSGComponentBase
|
||||||
|
|
||||||
<MudDialog>
|
<MudDialog>
|
||||||
<DialogContent>
|
<DialogContent>
|
||||||
<MudForm @ref="@this.form" @bind-IsValid="@this.dataIsValid" @bind-Errors="@this.dataIssues">
|
<MudForm @ref="@this.form" @bind-IsValid="@this.dataIsValid" @bind-Errors="@this.dataIssues">
|
||||||
@ -7,7 +9,7 @@
|
|||||||
<MudTextField
|
<MudTextField
|
||||||
T="string"
|
T="string"
|
||||||
@bind-Text="@this.dataName"
|
@bind-Text="@this.dataName"
|
||||||
Label="Data Source Name"
|
Label="@T("Data Source Name")"
|
||||||
Class="mb-6"
|
Class="mb-6"
|
||||||
MaxLength="40"
|
MaxLength="40"
|
||||||
Counter="40"
|
Counter="40"
|
||||||
@ -24,7 +26,7 @@
|
|||||||
<MudTextField
|
<MudTextField
|
||||||
T="string"
|
T="string"
|
||||||
@bind-Text="@this.dataHostname"
|
@bind-Text="@this.dataHostname"
|
||||||
Label="ERI v1 Server Hostname"
|
Label="@T("ERI v1 Server Hostname")"
|
||||||
Class="mb-6"
|
Class="mb-6"
|
||||||
Immediate="@true"
|
Immediate="@true"
|
||||||
Validation="@this.dataSourceValidation.ValidatingHostname"
|
Validation="@this.dataSourceValidation.ValidatingHostname"
|
||||||
@ -35,7 +37,7 @@
|
|||||||
UserAttributes="@SPELLCHECK_ATTRIBUTES"/>
|
UserAttributes="@SPELLCHECK_ATTRIBUTES"/>
|
||||||
|
|
||||||
<MudNumericField
|
<MudNumericField
|
||||||
Label="Port"
|
Label="@T("Port")"
|
||||||
Immediate="@true"
|
Immediate="@true"
|
||||||
Min="1" Max="65535"
|
Min="1" Max="65535"
|
||||||
Validation="@this.dataSourceValidation.ValidatePort"
|
Validation="@this.dataSourceValidation.ValidatePort"
|
||||||
@ -47,9 +49,7 @@
|
|||||||
@if (!this.IsConnectionEncrypted())
|
@if (!this.IsConnectionEncrypted())
|
||||||
{
|
{
|
||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
|
||||||
Please note: the connection to the ERI v1 server is not encrypted. This means that all
|
@T("Please note: the connection to the ERI v1 server is not encrypted. This means that all data sent to the server is transmitted in plain text. Please ask the ERI server administrator to enable encryption.")
|
||||||
data sent to the server is transmitted in plain text. Please ask the ERI server administrator
|
|
||||||
to enable encryption.
|
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -57,7 +57,7 @@
|
|||||||
{
|
{
|
||||||
<MudStack Row="@true" AlignItems="AlignItems.Center">
|
<MudStack Row="@true" AlignItems="AlignItems.Center">
|
||||||
<MudButton Variant="Variant.Filled" Color="@this.GetTestResultColor()" StartIcon="@this.GetTestResultIcon()" Class="mb-3" OnClick="@this.TestConnection">
|
<MudButton Variant="Variant.Filled" Color="@this.GetTestResultColor()" StartIcon="@this.GetTestResultIcon()" Class="mb-3" OnClick="@this.TestConnection">
|
||||||
Test connection & read available metadata
|
@T("Test connection & read available metadata")
|
||||||
</MudButton>
|
</MudButton>
|
||||||
<MudText Typo="Typo.body1" Class="mb-3">
|
<MudText Typo="Typo.body1" Class="mb-3">
|
||||||
@this.GetTestResultText()
|
@this.GetTestResultText()
|
||||||
@ -70,7 +70,9 @@
|
|||||||
<MudSelect @bind-Value="@this.dataAuthMethod" Text="@this.dataAuthMethod.DisplayName()" Label="Authentication Method" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.dataSourceValidation.ValidateAuthMethod">
|
<MudSelect @bind-Value="@this.dataAuthMethod" Text="@this.dataAuthMethod.DisplayName()" Label="Authentication Method" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.dataSourceValidation.ValidateAuthMethod">
|
||||||
@foreach (var authMethod in this.availableAuthMethods)
|
@foreach (var authMethod in this.availableAuthMethods)
|
||||||
{
|
{
|
||||||
<MudSelectItem Value="@authMethod">@authMethod.DisplayName()</MudSelectItem>
|
<MudSelectItem Value="@authMethod">
|
||||||
|
@authMethod.DisplayName()
|
||||||
|
</MudSelectItem>
|
||||||
}
|
}
|
||||||
</MudSelect>
|
</MudSelect>
|
||||||
}
|
}
|
||||||
@ -83,7 +85,7 @@
|
|||||||
<MudTextField
|
<MudTextField
|
||||||
T="string"
|
T="string"
|
||||||
@bind-Text="@this.dataUsername"
|
@bind-Text="@this.dataUsername"
|
||||||
Label="Username"
|
Label="@T("Username")"
|
||||||
Class="mb-6"
|
Class="mb-6"
|
||||||
Immediate="@true"
|
Immediate="@true"
|
||||||
Validation="@this.dataSourceValidation.ValidateUsername"
|
Validation="@this.dataSourceValidation.ValidateUsername"
|
||||||
@ -112,7 +114,7 @@
|
|||||||
|
|
||||||
@if (this.availableRetrievalProcesses.Count > 0)
|
@if (this.availableRetrievalProcesses.Count > 0)
|
||||||
{
|
{
|
||||||
<MudSelect @bind-Value="@this.dataSelectedRetrievalProcess" Text="@this.dataSelectedRetrievalProcess.Name" Label="Select one retrieval process" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.dataSourceValidation.ValidateRetrievalProcess">
|
<MudSelect @bind-Value="@this.dataSelectedRetrievalProcess" Text="@this.dataSelectedRetrievalProcess.Name" Label="@T("Select one retrieval process")" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.dataSourceValidation.ValidateRetrievalProcess">
|
||||||
@foreach (var retrievalProcess in this.availableRetrievalProcesses)
|
@foreach (var retrievalProcess in this.availableRetrievalProcesses)
|
||||||
{
|
{
|
||||||
<MudSelectItem Value="@retrievalProcess">
|
<MudSelectItem Value="@retrievalProcess">
|
||||||
@ -122,7 +124,7 @@
|
|||||||
</MudSelect>
|
</MudSelect>
|
||||||
}
|
}
|
||||||
|
|
||||||
<MudSelect @bind-Value="@this.dataSecurityPolicy" Text="@this.dataSecurityPolicy.ToSelectionText()" Label="Your security policy" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.dataSourceValidation.ValidateSecurityPolicy">
|
<MudSelect @bind-Value="@this.dataSecurityPolicy" Text="@this.dataSecurityPolicy.ToSelectionText()" Label="@T("Your security policy")" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.dataSourceValidation.ValidateSecurityPolicy">
|
||||||
@foreach (var policy in Enum.GetValues<DataSourceSecurity>())
|
@foreach (var policy in Enum.GetValues<DataSourceSecurity>())
|
||||||
{
|
{
|
||||||
<MudSelectItem Value="@policy">
|
<MudSelectItem Value="@policy">
|
||||||
@ -135,15 +137,17 @@
|
|||||||
<Issues IssuesData="@this.dataIssues"/>
|
<Issues IssuesData="@this.dataIssues"/>
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
<DialogActions>
|
<DialogActions>
|
||||||
<MudButton OnClick="@this.Cancel" Variant="Variant.Filled">Cancel</MudButton>
|
<MudButton OnClick="@this.Cancel" Variant="Variant.Filled">
|
||||||
|
@T("Cancel")
|
||||||
|
</MudButton>
|
||||||
<MudButton OnClick="@this.Store" Variant="Variant.Filled" Color="Color.Primary">
|
<MudButton OnClick="@this.Store" Variant="Variant.Filled" Color="Color.Primary">
|
||||||
@if(this.IsEditing)
|
@if(this.IsEditing)
|
||||||
{
|
{
|
||||||
@:Update
|
@T("Update")
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@:Add
|
@T("Add")
|
||||||
}
|
}
|
||||||
</MudButton>
|
</MudButton>
|
||||||
</DialogActions>
|
</DialogActions>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
using AIStudio.Assistants.ERI;
|
using AIStudio.Assistants.ERI;
|
||||||
using AIStudio.Settings;
|
using AIStudio.Components;
|
||||||
using AIStudio.Settings.DataModel;
|
using AIStudio.Settings.DataModel;
|
||||||
using AIStudio.Tools.ERIClient;
|
using AIStudio.Tools.ERIClient;
|
||||||
using AIStudio.Tools.ERIClient.DataModel;
|
using AIStudio.Tools.ERIClient.DataModel;
|
||||||
@ -13,7 +13,7 @@ using RetrievalInfo = AIStudio.Tools.ERIClient.DataModel.RetrievalInfo;
|
|||||||
// ReSharper disable InconsistentNaming
|
// ReSharper disable InconsistentNaming
|
||||||
namespace AIStudio.Dialogs;
|
namespace AIStudio.Dialogs;
|
||||||
|
|
||||||
public partial class DataSourceERI_V1Dialog : ComponentBase, ISecretId
|
public partial class DataSourceERI_V1Dialog : MSGComponentBase, ISecretId
|
||||||
{
|
{
|
||||||
[CascadingParameter]
|
[CascadingParameter]
|
||||||
private IMudDialogInstance MudDialog { get; set; } = null!;
|
private IMudDialogInstance MudDialog { get; set; } = null!;
|
||||||
@ -24,9 +24,6 @@ public partial class DataSourceERI_V1Dialog : ComponentBase, ISecretId
|
|||||||
[Parameter]
|
[Parameter]
|
||||||
public DataSourceERI_V1 DataSource { get; set; }
|
public DataSourceERI_V1 DataSource { get; set; }
|
||||||
|
|
||||||
[Inject]
|
|
||||||
private SettingsManager SettingsManager { get; init; } = null!;
|
|
||||||
|
|
||||||
[Inject]
|
[Inject]
|
||||||
private ILogger<ProviderDialog> Logger { get; init; } = null!;
|
private ILogger<ProviderDialog> Logger { get; init; } = null!;
|
||||||
|
|
||||||
@ -195,7 +192,7 @@ public partial class DataSourceERI_V1Dialog : ComponentBase, ISecretId
|
|||||||
await this.form.Validate();
|
await this.form.Validate();
|
||||||
|
|
||||||
Array.Resize(ref this.dataIssues, this.dataIssues.Length + 1);
|
Array.Resize(ref this.dataIssues, this.dataIssues.Length + 1);
|
||||||
this.dataIssues[^1] = "Failed to connect to the ERI v1 server. The server is not supported.";
|
this.dataIssues[^1] = T("Failed to connect to the ERI v1 server. The server is not supported.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -254,7 +251,7 @@ public partial class DataSourceERI_V1Dialog : ComponentBase, ISecretId
|
|||||||
await this.form.Validate();
|
await this.form.Validate();
|
||||||
|
|
||||||
Array.Resize(ref this.dataIssues, this.dataIssues.Length + 1);
|
Array.Resize(ref this.dataIssues, this.dataIssues.Length + 1);
|
||||||
this.dataIssues[^1] = $"Failed to connect to the ERI v1 server. The message was: {e.Message}";
|
this.dataIssues[^1] = string.Format(T("Failed to connect to the ERI v1 server. The message was: {0}"), e.Message);
|
||||||
this.Logger.LogError($"Failed to connect to the ERI v1 server. Message: {e.Message}");
|
this.Logger.LogError($"Failed to connect to the ERI v1 server. Message: {e.Message}");
|
||||||
|
|
||||||
this.connectionTested = true;
|
this.connectionTested = true;
|
||||||
@ -265,9 +262,9 @@ public partial class DataSourceERI_V1Dialog : ComponentBase, ISecretId
|
|||||||
private string GetTestResultText()
|
private string GetTestResultText()
|
||||||
{
|
{
|
||||||
if(!this.connectionTested)
|
if(!this.connectionTested)
|
||||||
return "Not tested yet.";
|
return T("Not tested yet.");
|
||||||
|
|
||||||
return this.connectionSuccessfulTested ? "Connection successful." : "Connection failed.";
|
return this.connectionSuccessfulTested ? T("Connection successful.") : T("Connection failed.");
|
||||||
}
|
}
|
||||||
|
|
||||||
private Color GetTestResultColor()
|
private Color GetTestResultColor()
|
||||||
@ -290,9 +287,9 @@ public partial class DataSourceERI_V1Dialog : ComponentBase, ISecretId
|
|||||||
|
|
||||||
private string GetSecretLabel() => this.dataAuthMethod switch
|
private string GetSecretLabel() => this.dataAuthMethod switch
|
||||||
{
|
{
|
||||||
AuthMethod.TOKEN => "Access Token",
|
AuthMethod.TOKEN => T("Access Token"),
|
||||||
AuthMethod.USERNAME_PASSWORD => "Password",
|
AuthMethod.USERNAME_PASSWORD => T("Password"),
|
||||||
_ => "Secret",
|
_ => T("Secret"),
|
||||||
};
|
};
|
||||||
|
|
||||||
private async Task Store()
|
private async Task Store()
|
||||||
@ -320,7 +317,7 @@ public partial class DataSourceERI_V1Dialog : ComponentBase, ISecretId
|
|||||||
var storeResponse = await this.RustService.SetSecret(this, this.dataSecret);
|
var storeResponse = await this.RustService.SetSecret(this, this.dataSecret);
|
||||||
if (!storeResponse.Success)
|
if (!storeResponse.Success)
|
||||||
{
|
{
|
||||||
this.dataSecretStorageIssue = $"Failed to store the auth. secret in the operating system. The message was: {storeResponse.Issue}. Please try again.";
|
this.dataSecretStorageIssue = string.Format(T("Failed to store the auth. secret in the operating system. The message was: {0}. Please try again."), storeResponse.Issue);
|
||||||
await this.form.Validate();
|
await this.form.Validate();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1,66 +1,64 @@
|
|||||||
@using AIStudio.Settings.DataModel
|
@using AIStudio.Settings.DataModel
|
||||||
@using AIStudio.Tools.ERIClient.DataModel
|
@using AIStudio.Tools.ERIClient.DataModel
|
||||||
|
@inherits MSGComponentBase
|
||||||
<MudDialog>
|
<MudDialog>
|
||||||
<DialogContent>
|
<DialogContent>
|
||||||
|
|
||||||
<MudText Typo="Typo.h5">
|
<MudText Typo="Typo.h5">
|
||||||
Common data source information
|
@T("Common data source information")
|
||||||
</MudText>
|
</MudText>
|
||||||
|
|
||||||
<TextInfoLine Icon="@Icons.Material.Filled.Tag" Label="Data source name" Value="@this.DataSource.Name" ClipboardTooltipSubject="the data source name"/>
|
<TextInfoLine Icon="@Icons.Material.Filled.Tag" Label="@T("Data source name")" Value="@this.DataSource.Name" ClipboardTooltipSubject="@T("the data source name")"/>
|
||||||
<TextInfoLine Icon="@Icons.Material.Filled.NetworkCheck" Label="ERI server hostname" Value="@this.DataSource.Hostname" ClipboardTooltipSubject="the ERI server hostname"/>
|
<TextInfoLine Icon="@Icons.Material.Filled.NetworkCheck" Label="@T("ERI server hostname")" Value="@this.DataSource.Hostname" ClipboardTooltipSubject="@T("the ERI server hostname")"/>
|
||||||
<TextInfoLine Icon="@Icons.Material.Filled.Tag" Label="ERI server port" Value="@this.Port" ClipboardTooltipSubject="the ERI server port"/>
|
<TextInfoLine Icon="@Icons.Material.Filled.Tag" Label="@T("ERI server port")" Value="@this.Port" ClipboardTooltipSubject="@T("the ERI server port")"/>
|
||||||
|
|
||||||
@if (!this.IsConnectionEncrypted())
|
@if (!this.IsConnectionEncrypted())
|
||||||
{
|
{
|
||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
|
||||||
Please note: the connection to the ERI v1 server is not encrypted. This means that all
|
@T("Please note: the connection to the ERI v1 server is not encrypted. This means that all data sent to the server is transmitted in plain text. Please ask the ERI server administrator to enable encryption.")
|
||||||
data sent to the server is transmitted in plain text. Please ask the ERI server administrator
|
|
||||||
to enable encryption.
|
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
}
|
}
|
||||||
|
|
||||||
@if (this.DataSource.AuthMethod is AuthMethod.USERNAME_PASSWORD)
|
@if (this.DataSource.AuthMethod is AuthMethod.USERNAME_PASSWORD)
|
||||||
{
|
{
|
||||||
<TextInfoLine Icon="@Icons.Material.Filled.Person2" Label="Username" Value="@this.DataSource.Username" ClipboardTooltipSubject="the username"/>
|
<TextInfoLine Icon="@Icons.Material.Filled.Person2" Label="@T("Username")" Value="@this.DataSource.Username" ClipboardTooltipSubject="@T("the username")"/>
|
||||||
}
|
}
|
||||||
|
|
||||||
<TextInfoLines Label="Server description" MaxLines="14" Value="@this.serverDescription" ClipboardTooltipSubject="the server description"/>
|
<TextInfoLines Label="@T("Server description")" MaxLines="14" Value="@this.serverDescription" ClipboardTooltipSubject="@T("the server description")"/>
|
||||||
<TextInfoLines Label="Security requirements of the data provider" MaxLines="3" Value="@this.securityRequirements.Explain()" ClipboardTooltipSubject="the security requirements of the data provider"/>
|
<TextInfoLines Label="@T("Security requirements of the data provider")" MaxLines="3" Value="@this.securityRequirements.Explain()" ClipboardTooltipSubject="@T("the security requirements of the data provider")"/>
|
||||||
<TextInfoLines Label="Your security policy" MaxLines="3" Value="@this.DataSource.SecurityPolicy.ToInfoText()" Color="@this.DataSource.SecurityPolicy.GetColor()" ClipboardTooltipSubject="your security policy"/>
|
<TextInfoLines Label="@T("Your security policy")" MaxLines="3" Value="@this.DataSource.SecurityPolicy.ToInfoText()" Color="@this.DataSource.SecurityPolicy.GetColor()" ClipboardTooltipSubject="@T("your security policy")"/>
|
||||||
|
|
||||||
<MudText Typo="Typo.h5" Class="mt-6">
|
<MudText Typo="Typo.h5" Class="mt-6">
|
||||||
Retrieval information
|
@T("Retrieval information")
|
||||||
</MudText>
|
</MudText>
|
||||||
@if (!this.retrievalInfoformation.Any())
|
@if (!this.retrievalInfoformation.Any())
|
||||||
{
|
{
|
||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Info" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Info" Class="mb-3">
|
||||||
The data source does not provide any retrieval information.
|
@T("The data source does not provide any retrieval information.")
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<MudExpansionPanels Class="mb-3">
|
<MudExpansionPanels Class="mb-3">
|
||||||
<ExpansionPanel HeaderText="@this.RetrievalName(this.selectedRetrievalInfo)" HeaderIcon="@Icons.Material.Filled.Info">
|
<ExpansionPanel HeaderText="@this.RetrievalName(this.selectedRetrievalInfo)" HeaderIcon="@Icons.Material.Filled.Info">
|
||||||
<TextInfoLines Label="Description" MaxLines="14" Value="@this.selectedRetrievalInfo.Description" ClipboardTooltipSubject="the retrieval description"/>
|
<TextInfoLines Label="Description" MaxLines="14" Value="@this.selectedRetrievalInfo.Description" ClipboardTooltipSubject="@T("the retrieval description")"/>
|
||||||
<TextInfoLines Label="Parameters" MaxLines="14" Value="@this.RetrievalParameters(this.selectedRetrievalInfo)" ClipboardTooltipSubject="the retrieval parameters"/>
|
<TextInfoLines Label="Parameters" MaxLines="14" Value="@this.RetrievalParameters(this.selectedRetrievalInfo)" ClipboardTooltipSubject="@T("the retrieval parameters")"/>
|
||||||
|
|
||||||
@if (!string.IsNullOrWhiteSpace(this.selectedRetrievalInfo.Link))
|
@if (!string.IsNullOrWhiteSpace(this.selectedRetrievalInfo.Link))
|
||||||
{
|
{
|
||||||
<MudButton Href="@this.selectedRetrievalInfo.Link" Target="_blank" Class="mt-3" Color="Color.Primary" StartIcon="@Icons.Material.Filled.OpenInNew">
|
<MudButton Href="@this.selectedRetrievalInfo.Link" Target="_blank" Class="mt-3" Color="Color.Primary" StartIcon="@Icons.Material.Filled.OpenInNew">
|
||||||
Open web link, show more information
|
@T("Open web link, show more information")
|
||||||
</MudButton>
|
</MudButton>
|
||||||
}
|
}
|
||||||
|
|
||||||
<MudText Typo="Typo.h6" Class="mt-3">
|
<MudText Typo="Typo.h6" Class="mt-3">
|
||||||
Embeddings
|
@T("Embeddings")
|
||||||
</MudText>
|
</MudText>
|
||||||
@* ReSharper disable once ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract *@
|
@* ReSharper disable once ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract *@
|
||||||
@if (this.selectedRetrievalInfo.Embeddings is null || !this.selectedRetrievalInfo.Embeddings.Any())
|
@if (this.selectedRetrievalInfo.Embeddings is null || !this.selectedRetrievalInfo.Embeddings.Any())
|
||||||
{
|
{
|
||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Info" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Info" Class="mb-3">
|
||||||
The data source does not provide any embedding information.
|
@T("The data source does not provide any embedding information.")
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -70,14 +68,14 @@
|
|||||||
{
|
{
|
||||||
var embedding = this.selectedRetrievalInfo.Embeddings[embeddingIndex];
|
var embedding = this.selectedRetrievalInfo.Embeddings[embeddingIndex];
|
||||||
<ExpansionPanel HeaderText="@embedding.EmbeddingName" HeaderIcon="@Icons.Material.Filled.Info" IsExpanded="embeddingIndex == 0">
|
<ExpansionPanel HeaderText="@embedding.EmbeddingName" HeaderIcon="@Icons.Material.Filled.Info" IsExpanded="embeddingIndex == 0">
|
||||||
<TextInfoLine Icon="@Icons.Material.Filled.FormatShapes" Label="Type" Value="@embedding.EmbeddingType" ClipboardTooltipSubject="the embedding type"/>
|
<TextInfoLine Icon="@Icons.Material.Filled.FormatShapes" Label="Type" Value="@embedding.EmbeddingType" ClipboardTooltipSubject="@T("the embedding type")"/>
|
||||||
<TextInfoLines Label="Description" MaxLines="14" Value="@embedding.Description" ClipboardTooltipSubject="the embedding description"/>
|
<TextInfoLines Label="@T("Description")" MaxLines="14" Value="@embedding.Description" ClipboardTooltipSubject="@T("the embedding description")"/>
|
||||||
<TextInfoLines Label="When to use" MaxLines="3" Value="@embedding.UsedWhen" ClipboardTooltipSubject="when is the embedding used"/>
|
<TextInfoLines Label="@T("When to use")" MaxLines="3" Value="@embedding.UsedWhen" ClipboardTooltipSubject="@T("when is the embedding used")"/>
|
||||||
|
|
||||||
@if (!string.IsNullOrWhiteSpace(embedding.Link))
|
@if (!string.IsNullOrWhiteSpace(embedding.Link))
|
||||||
{
|
{
|
||||||
<MudButton Href="@embedding.Link" Target="_blank" Class="mt-3" Color="Color.Primary" StartIcon="@Icons.Material.Filled.OpenInNew">
|
<MudButton Href="@embedding.Link" Target="_blank" Class="mt-3" Color="Color.Primary" StartIcon="@Icons.Material.Filled.OpenInNew">
|
||||||
Open web link, show more information
|
@T("Open web link, show more information")
|
||||||
</MudButton>
|
</MudButton>
|
||||||
}
|
}
|
||||||
</ExpansionPanel>
|
</ExpansionPanel>
|
||||||
@ -95,7 +93,11 @@
|
|||||||
{
|
{
|
||||||
<MudProgressLinear Color="Color.Primary" Indeterminate="true" Class="ml-5 mr-5"/>
|
<MudProgressLinear Color="Color.Primary" Indeterminate="true" Class="ml-5 mr-5"/>
|
||||||
}
|
}
|
||||||
<MudButton OnClick="@this.GetERIMetadata" Variant="Variant.Filled" Color="Color.Info">Reload</MudButton>
|
<MudButton OnClick="@this.GetERIMetadata" Variant="Variant.Filled" Color="Color.Info">
|
||||||
<MudButton OnClick="@this.Close" Variant="Variant.Filled">Close</MudButton>
|
@T("Reload")
|
||||||
|
</MudButton>
|
||||||
|
<MudButton OnClick="@this.Close" Variant="Variant.Filled">
|
||||||
|
@T("Close")
|
||||||
|
</MudButton>
|
||||||
</DialogActions>
|
</DialogActions>
|
||||||
</MudDialog>
|
</MudDialog>
|
@ -3,6 +3,7 @@
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
using AIStudio.Assistants.ERI;
|
using AIStudio.Assistants.ERI;
|
||||||
|
using AIStudio.Components;
|
||||||
using AIStudio.Settings.DataModel;
|
using AIStudio.Settings.DataModel;
|
||||||
using AIStudio.Tools.ERIClient;
|
using AIStudio.Tools.ERIClient;
|
||||||
using AIStudio.Tools.ERIClient.DataModel;
|
using AIStudio.Tools.ERIClient.DataModel;
|
||||||
@ -14,7 +15,7 @@ using RetrievalInfo = AIStudio.Tools.ERIClient.DataModel.RetrievalInfo;
|
|||||||
|
|
||||||
namespace AIStudio.Dialogs;
|
namespace AIStudio.Dialogs;
|
||||||
|
|
||||||
public partial class DataSourceERI_V1InfoDialog : ComponentBase, IAsyncDisposable, ISecretId
|
public partial class DataSourceERI_V1InfoDialog : MSGComponentBase, IAsyncDisposable, ISecretId
|
||||||
{
|
{
|
||||||
[CascadingParameter]
|
[CascadingParameter]
|
||||||
private IMudDialogInstance MudDialog { get; set; } = null!;
|
private IMudDialogInstance MudDialog { get; set; } = null!;
|
||||||
@ -29,8 +30,8 @@ public partial class DataSourceERI_V1InfoDialog : ComponentBase, IAsyncDisposabl
|
|||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
this.eriServerTasks.Add(this.GetERIMetadata());
|
|
||||||
await base.OnInitializedAsync();
|
await base.OnInitializedAsync();
|
||||||
|
this.eriServerTasks.Add(this.GetERIMetadata());
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -59,21 +60,21 @@ public partial class DataSourceERI_V1InfoDialog : ComponentBase, IAsyncDisposabl
|
|||||||
return $"[{retrievalInfo.Id}] {retrievalInfo.Name}";
|
return $"[{retrievalInfo.Id}] {retrievalInfo.Name}";
|
||||||
|
|
||||||
if (hasId)
|
if (hasId)
|
||||||
return $"[{retrievalInfo.Id}] Unnamed retrieval process";
|
return string.Format(T("[{0}] Unnamed retrieval process"), retrievalInfo.Id);
|
||||||
|
|
||||||
return hasName ? retrievalInfo.Name : "Unnamed retrieval process";
|
return hasName ? retrievalInfo.Name : T("Unnamed retrieval process");
|
||||||
}
|
}
|
||||||
|
|
||||||
private string RetrievalParameters(RetrievalInfo retrievalInfo)
|
private string RetrievalParameters(RetrievalInfo retrievalInfo)
|
||||||
{
|
{
|
||||||
var parameters = retrievalInfo.ParametersDescription;
|
var parameters = retrievalInfo.ParametersDescription;
|
||||||
if (parameters is null || parameters.Count == 0)
|
if (parameters is null || parameters.Count == 0)
|
||||||
return "This retrieval process has no parameters.";
|
return T("This retrieval process has no parameters.");
|
||||||
|
|
||||||
var sb = new StringBuilder();
|
var sb = new StringBuilder();
|
||||||
foreach (var (paramName, description) in parameters)
|
foreach (var (paramName, description) in parameters)
|
||||||
{
|
{
|
||||||
sb.Append("Parameter: ");
|
sb.Append(T("Parameter: "));
|
||||||
sb.AppendLine(paramName);
|
sb.AppendLine(paramName);
|
||||||
sb.AppendLine(description);
|
sb.AppendLine(description);
|
||||||
sb.AppendLine();
|
sb.AppendLine();
|
||||||
@ -94,7 +95,7 @@ public partial class DataSourceERI_V1InfoDialog : ComponentBase, IAsyncDisposabl
|
|||||||
using var client = ERIClientFactory.Get(ERIVersion.V1, this.DataSource);
|
using var client = ERIClientFactory.Get(ERIVersion.V1, this.DataSource);
|
||||||
if(client is null)
|
if(client is null)
|
||||||
{
|
{
|
||||||
this.dataIssues.Add("Failed to connect to the ERI v1 server. The server is not supported.");
|
this.dataIssues.Add(T("Failed to connect to the ERI v1 server. The server is not supported."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -136,7 +137,7 @@ public partial class DataSourceERI_V1InfoDialog : ComponentBase, IAsyncDisposabl
|
|||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
this.dataIssues.Add($"Failed to connect to the ERI v1 server. The message was: {e.Message}");
|
this.dataIssues.Add(string.Format(T("Failed to connect to the ERI v1 server. The message was: {0}"), e.Message));
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
@ -1,4 +1,5 @@
|
|||||||
@using AIStudio.Settings.DataModel
|
@using AIStudio.Settings.DataModel
|
||||||
|
@inherits MSGComponentBase
|
||||||
|
|
||||||
<MudDialog>
|
<MudDialog>
|
||||||
<DialogContent>
|
<DialogContent>
|
||||||
@ -7,7 +8,7 @@
|
|||||||
<MudTextField
|
<MudTextField
|
||||||
T="string"
|
T="string"
|
||||||
@bind-Text="@this.dataName"
|
@bind-Text="@this.dataName"
|
||||||
Label="Data Source Name"
|
Label="@T("Data Source Name")"
|
||||||
Class="mb-6"
|
Class="mb-6"
|
||||||
MaxLength="40"
|
MaxLength="40"
|
||||||
Counter="40"
|
Counter="40"
|
||||||
@ -20,19 +21,19 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<MudJustifiedText Typo="Typo.body1" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Class="mb-3">
|
||||||
Select a root directory for this data source. All data in this directory and all
|
@T("Select a root directory for this data source. All data in this directory and all its subdirectories will be processed for this data source.")
|
||||||
its subdirectories will be processed for this data source.
|
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
<SelectDirectory @bind-Directory="@this.dataPath" Label="Selected base directory for this data source" DirectoryDialogTitle="Select the base directory" Validation="@this.dataSourceValidation.ValidatePath" />
|
<SelectDirectory @bind-Directory="@this.dataPath" Label="@T("Selected base directory for this data source")" DirectoryDialogTitle="@T("Select the base directory")" Validation="@this.dataSourceValidation.ValidatePath" />
|
||||||
|
|
||||||
<MudJustifiedText Typo="Typo.body1" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Class="mb-3">
|
||||||
In order for the AI to be able to determine the appropriate data at any time, you must
|
@T("In order for the AI to be able to determine the appropriate data at any time, you must choose an embedding method.")
|
||||||
choose an embedding method.
|
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
<MudSelect @bind-Value="@this.dataEmbeddingId" Label="Embedding" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.dataSourceValidation.ValidateEmbeddingId">
|
<MudSelect @bind-Value="@this.dataEmbeddingId" Label="@T("Embedding")" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.dataSourceValidation.ValidateEmbeddingId">
|
||||||
@foreach (var embedding in this.AvailableEmbeddings)
|
@foreach (var embedding in this.AvailableEmbeddings)
|
||||||
{
|
{
|
||||||
<MudSelectItem Value="@embedding.Value">@embedding.Name</MudSelectItem>
|
<MudSelectItem Value="@embedding.Value">
|
||||||
|
@embedding.Name
|
||||||
|
</MudSelectItem>
|
||||||
}
|
}
|
||||||
</MudSelect>
|
</MudSelect>
|
||||||
|
|
||||||
@ -43,45 +44,46 @@
|
|||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
|
||||||
@if (string.IsNullOrWhiteSpace(this.dataPath))
|
@if (string.IsNullOrWhiteSpace(this.dataPath))
|
||||||
{
|
{
|
||||||
@: Please note: the embedding you selected runs in the cloud. All your data will be sent to the cloud.
|
@T("Please note: the embedding you selected runs in the cloud. All your data will be sent to the cloud. Please confirm that you have read and understood this.")
|
||||||
@: Please confirm that you have read and understood this.
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@: Please note: the embedding you selected runs in the cloud. All your data from the
|
@string.Format(T("Please note: the embedding you selected runs in the cloud. All your data from the folder '{0}' and all its subdirectories will be sent to the cloud. Please confirm that you have read and understood this."), this.dataPath)
|
||||||
@: folder '@this.dataPath' and all its subdirectories will be sent to the cloud. Please
|
|
||||||
@: confirm that you have read and understood this.
|
|
||||||
}
|
}
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
<MudTextSwitch @bind-Value="@this.dataUserAcknowledgedCloudEmbedding" Label="I confirm that I have read and understood the above" LabelOn="Yes, please send my data to the cloud" LabelOff="No, I will chose another embedding" Validation="@this.dataSourceValidation.ValidateUserAcknowledgedCloudEmbedding"/>
|
<MudTextSwitch @bind-Value="@this.dataUserAcknowledgedCloudEmbedding" Label="@T("I confirm that I have read and understood the above")" LabelOn="@T("Yes, please send my data to the cloud")" LabelOff="@T("No, I will chose another embedding")" Validation="@this.dataSourceValidation.ValidateUserAcknowledgedCloudEmbedding"/>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Tertiary" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Tertiary" Class="mb-3">
|
||||||
The embedding you selected runs locally or in your organization. Your data is not sent to the cloud.
|
@T("The embedding you selected runs locally or in your organization. Your data is not sent to the cloud.")
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
<MudSelect @bind-Value="@this.dataSecurityPolicy" Text="@this.dataSecurityPolicy.ToSelectionText()" Label="Your security policy" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.dataSourceValidation.ValidateSecurityPolicy">
|
<MudSelect @bind-Value="@this.dataSecurityPolicy" Text="@this.dataSecurityPolicy.ToSelectionText()" Label="@T("Your security policy")" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.dataSourceValidation.ValidateSecurityPolicy">
|
||||||
@foreach (var policy in Enum.GetValues<DataSourceSecurity>())
|
@foreach (var policy in Enum.GetValues<DataSourceSecurity>())
|
||||||
{
|
{
|
||||||
<MudSelectItem Value="@policy">@policy.ToSelectionText()</MudSelectItem>
|
<MudSelectItem Value="@policy">
|
||||||
|
@policy.ToSelectionText()
|
||||||
|
</MudSelectItem>
|
||||||
}
|
}
|
||||||
</MudSelect>
|
</MudSelect>
|
||||||
</MudForm>
|
</MudForm>
|
||||||
<Issues IssuesData="@this.dataIssues"/>
|
<Issues IssuesData="@this.dataIssues"/>
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
<DialogActions>
|
<DialogActions>
|
||||||
<MudButton OnClick="@this.Cancel" Variant="Variant.Filled">Cancel</MudButton>
|
<MudButton OnClick="@this.Cancel" Variant="Variant.Filled">
|
||||||
|
@T("Cancel")
|
||||||
|
</MudButton>
|
||||||
<MudButton OnClick="@this.Store" Variant="Variant.Filled" Color="Color.Primary">
|
<MudButton OnClick="@this.Store" Variant="Variant.Filled" Color="Color.Primary">
|
||||||
@if(this.IsEditing)
|
@if(this.IsEditing)
|
||||||
{
|
{
|
||||||
@:Update
|
@T("Update")
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@:Add
|
@T("Add")
|
||||||
}
|
}
|
||||||
</MudButton>
|
</MudButton>
|
||||||
</DialogActions>
|
</DialogActions>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using AIStudio.Components;
|
||||||
using AIStudio.Settings;
|
using AIStudio.Settings;
|
||||||
using AIStudio.Settings.DataModel;
|
using AIStudio.Settings.DataModel;
|
||||||
using AIStudio.Tools.Validation;
|
using AIStudio.Tools.Validation;
|
||||||
@ -6,7 +7,7 @@ using Microsoft.AspNetCore.Components;
|
|||||||
|
|
||||||
namespace AIStudio.Dialogs;
|
namespace AIStudio.Dialogs;
|
||||||
|
|
||||||
public partial class DataSourceLocalDirectoryDialog : ComponentBase
|
public partial class DataSourceLocalDirectoryDialog : MSGComponentBase
|
||||||
{
|
{
|
||||||
[CascadingParameter]
|
[CascadingParameter]
|
||||||
private IMudDialogInstance MudDialog { get; set; } = null!;
|
private IMudDialogInstance MudDialog { get; set; } = null!;
|
||||||
@ -20,9 +21,6 @@ public partial class DataSourceLocalDirectoryDialog : ComponentBase
|
|||||||
[Parameter]
|
[Parameter]
|
||||||
public IReadOnlyList<ConfigurationSelectData<string>> AvailableEmbeddings { get; set; } = [];
|
public IReadOnlyList<ConfigurationSelectData<string>> AvailableEmbeddings { get; set; } = [];
|
||||||
|
|
||||||
[Inject]
|
|
||||||
private SettingsManager SettingsManager { get; init; } = null!;
|
|
||||||
|
|
||||||
private static readonly Dictionary<string, object?> SPELLCHECK_ATTRIBUTES = new();
|
private static readonly Dictionary<string, object?> SPELLCHECK_ATTRIBUTES = new();
|
||||||
|
|
||||||
private readonly DataSourceValidation dataSourceValidation;
|
private readonly DataSourceValidation dataSourceValidation;
|
||||||
|
@ -1,56 +1,58 @@
|
|||||||
@using AIStudio.Settings.DataModel
|
@using AIStudio.Settings.DataModel
|
||||||
|
@inherits MSGComponentBase
|
||||||
|
|
||||||
<MudDialog>
|
<MudDialog>
|
||||||
<DialogContent>
|
<DialogContent>
|
||||||
<TextInfoLine Icon="@Icons.Material.Filled.Tag" Label="Data source name" Value="@this.DataSource.Name" ClipboardTooltipSubject="the data source name"/>
|
<TextInfoLine Icon="@Icons.Material.Filled.Tag" Label="@T("Data source name")" Value="@this.DataSource.Name" ClipboardTooltipSubject="@T("the data source name")"/>
|
||||||
|
|
||||||
<TextInfoLine Icon="@Icons.Material.Filled.FolderOpen" Label="Path" Value="@this.DataSource.Path" ClipboardTooltipSubject="this path"/>
|
<TextInfoLine Icon="@Icons.Material.Filled.FolderOpen" Label="@T("Path")" Value="@this.DataSource.Path" ClipboardTooltipSubject="@T("this path")"/>
|
||||||
@if (!this.IsDirectoryAvailable)
|
@if (!this.IsDirectoryAvailable)
|
||||||
{
|
{
|
||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
|
||||||
The directory chosen for the data source does not exist anymore. Please edit the data source and correct the path.
|
@T("The directory chosen for the data source does not exist anymore. Please edit the data source and correct the path.")
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Tertiary" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Tertiary" Class="mb-3">
|
||||||
The directory chosen for the data source exists.
|
@T("The directory chosen for the data source exists.")
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
}
|
}
|
||||||
|
|
||||||
<TextInfoLine Icon="@Icons.Material.Filled.Layers" Label="Embedding name" Value="@this.embeddingProvider.Name" ClipboardTooltipSubject="the embedding name"/>
|
<TextInfoLine Icon="@Icons.Material.Filled.Layers" Label="@T("Embedding name")" Value="@this.embeddingProvider.Name" ClipboardTooltipSubject="@T("the embedding name")"/>
|
||||||
@if (this.IsCloudEmbedding)
|
@if (this.IsCloudEmbedding)
|
||||||
{
|
{
|
||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
|
||||||
The embedding runs in the cloud. All your data from the folder '@this.DataSource.Path' and all its subdirectories
|
@string.Format(T("The embedding runs in the cloud. All your data from the folder '{0}' and all its subdirectories will be sent to the cloud."), this.DataSource.Path)
|
||||||
will be sent to the cloud.
|
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Tertiary" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Tertiary" Class="mb-3">
|
||||||
The embedding runs locally or in your organization. Your data is not sent to the cloud.
|
@T("The embedding runs locally or in your organization. Your data is not sent to the cloud.")
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
}
|
}
|
||||||
|
|
||||||
<TextInfoLines Label="Your security policy" MaxLines="3" Value="@this.DataSource.SecurityPolicy.ToInfoText()" Color="@this.DataSource.SecurityPolicy.GetColor()" ClipboardTooltipSubject="your security policy"/>
|
<TextInfoLines Label="@T("Your security policy")" MaxLines="3" Value="@this.DataSource.SecurityPolicy.ToInfoText()" Color="@this.DataSource.SecurityPolicy.GetColor()" ClipboardTooltipSubject="@T("your security policy")"/>
|
||||||
|
|
||||||
<TextInfoLine Icon="@Icons.Material.Filled.SquareFoot" Label="Number of files" Value="@this.NumberFilesInDirectory" ClipboardTooltipSubject="the number of files in the directory"/>
|
<TextInfoLine Icon="@Icons.Material.Filled.SquareFoot" Label="@T("Number of files")" Value="@this.NumberFilesInDirectory" ClipboardTooltipSubject="@T("the number of files in the directory")"/>
|
||||||
<TextInfoLines Label="Files list" MaxLines="14" Value="@this.directoryFiles.ToString()" ClipboardTooltipSubject="the files list"/>
|
<TextInfoLines Label="@T("Files list")" MaxLines="14" Value="@this.directoryFiles.ToString()" ClipboardTooltipSubject="@T("the files list")"/>
|
||||||
@if (this.directorySizeNumFiles > 100)
|
@if (this.directorySizeNumFiles > 100)
|
||||||
{
|
{
|
||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Warning" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Warning" Class="mb-3">
|
||||||
For performance reasons, only the first 100 files are shown. The directory contains @this.NumberFilesInDirectory files in total.
|
@string.Format(T("For performance reasons, only the first 100 files are shown. The directory contains {0} files in total."), this.NumberFilesInDirectory)
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
}
|
}
|
||||||
|
|
||||||
<TextInfoLine Icon="@Icons.Material.Filled.SquareFoot" Label="Total directory size" Value="@this.directorySizeBytes.FileSize()" ClipboardTooltipSubject="the total directory size"/>
|
<TextInfoLine Icon="@Icons.Material.Filled.SquareFoot" Label="@T("Total directory size")" Value="@this.directorySizeBytes.FileSize()" ClipboardTooltipSubject="@T("the total directory size")"/>
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
<DialogActions>
|
<DialogActions>
|
||||||
@if (this.IsOperationInProgress)
|
@if (this.IsOperationInProgress)
|
||||||
{
|
{
|
||||||
<MudProgressLinear Color="Color.Primary" Indeterminate="true" Class="ml-5 mr-5"/>
|
<MudProgressLinear Color="Color.Primary" Indeterminate="true" Class="ml-5 mr-5"/>
|
||||||
}
|
}
|
||||||
<MudButton OnClick="@this.Close" Variant="Variant.Filled">Close</MudButton>
|
<MudButton OnClick="@this.Close" Variant="Variant.Filled">
|
||||||
|
@T("Close")
|
||||||
|
</MudButton>
|
||||||
</DialogActions>
|
</DialogActions>
|
||||||
</MudDialog>
|
</MudDialog>
|
@ -1,5 +1,6 @@
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
|
using AIStudio.Components;
|
||||||
using AIStudio.Settings;
|
using AIStudio.Settings;
|
||||||
using AIStudio.Settings.DataModel;
|
using AIStudio.Settings.DataModel;
|
||||||
|
|
||||||
@ -9,7 +10,7 @@ using Timer = System.Timers.Timer;
|
|||||||
|
|
||||||
namespace AIStudio.Dialogs;
|
namespace AIStudio.Dialogs;
|
||||||
|
|
||||||
public partial class DataSourceLocalDirectoryInfoDialog : ComponentBase, IAsyncDisposable
|
public partial class DataSourceLocalDirectoryInfoDialog : MSGComponentBase, IAsyncDisposable
|
||||||
{
|
{
|
||||||
[CascadingParameter]
|
[CascadingParameter]
|
||||||
private IMudDialogInstance MudDialog { get; set; } = null!;
|
private IMudDialogInstance MudDialog { get; set; } = null!;
|
||||||
@ -17,9 +18,6 @@ public partial class DataSourceLocalDirectoryInfoDialog : ComponentBase, IAsyncD
|
|||||||
[Parameter]
|
[Parameter]
|
||||||
public DataSourceLocalDirectory DataSource { get; set; }
|
public DataSourceLocalDirectory DataSource { get; set; }
|
||||||
|
|
||||||
[Inject]
|
|
||||||
private SettingsManager SettingsManager { get; init; } = null!;
|
|
||||||
|
|
||||||
private readonly Timer refreshTimer = new(TimeSpan.FromSeconds(1.6))
|
private readonly Timer refreshTimer = new(TimeSpan.FromSeconds(1.6))
|
||||||
{
|
{
|
||||||
AutoReset = true,
|
AutoReset = true,
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
@using AIStudio.Settings.DataModel
|
@using AIStudio.Settings.DataModel
|
||||||
|
@inherits MSGComponentBase
|
||||||
|
|
||||||
<MudDialog>
|
<MudDialog>
|
||||||
<DialogContent>
|
<DialogContent>
|
||||||
<MudForm @ref="@this.form" @bind-IsValid="@this.dataIsValid" @bind-Errors="@this.dataIssues">
|
<MudForm @ref="@this.form" @bind-IsValid="@this.dataIsValid" @bind-Errors="@this.dataIssues">
|
||||||
@ -6,7 +8,7 @@
|
|||||||
<MudTextField
|
<MudTextField
|
||||||
T="string"
|
T="string"
|
||||||
@bind-Text="@this.dataName"
|
@bind-Text="@this.dataName"
|
||||||
Label="Data Source Name"
|
Label="@T("Data Source Name")"
|
||||||
Class="mb-6"
|
Class="mb-6"
|
||||||
MaxLength="40"
|
MaxLength="40"
|
||||||
Counter="40"
|
Counter="40"
|
||||||
@ -19,18 +21,19 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<MudJustifiedText Typo="Typo.body1" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Class="mb-3">
|
||||||
Select a file for this data source. The content of this file will be processed for the data source.
|
@T("Select a file for this data source. The content of this file will be processed for the data source.")
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
<SelectFile @bind-File="@this.dataFilePath" Label="Selected file path for this data source" FileDialogTitle="Select the file" Validation="@this.dataSourceValidation.ValidateFilePath" />
|
<SelectFile @bind-File="@this.dataFilePath" Label="@T("Selected file path for this data source")" FileDialogTitle="@T("Select the file")" Validation="@this.dataSourceValidation.ValidateFilePath" />
|
||||||
|
|
||||||
<MudJustifiedText Typo="Typo.body1" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Class="mb-3">
|
||||||
In order for the AI to be able to determine the appropriate data at any time, you must
|
@T("In order for the AI to be able to determine the appropriate data at any time, you must choose an embedding method.")
|
||||||
choose an embedding method.
|
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
<MudSelect @bind-Value="@this.dataEmbeddingId" Label="Embedding" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.dataSourceValidation.GetSelectedCloudEmbedding">
|
<MudSelect @bind-Value="@this.dataEmbeddingId" Label="@T("Embedding")" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.dataSourceValidation.GetSelectedCloudEmbedding">
|
||||||
@foreach (var embedding in this.AvailableEmbeddings)
|
@foreach (var embedding in this.AvailableEmbeddings)
|
||||||
{
|
{
|
||||||
<MudSelectItem Value="@embedding.Value">@embedding.Name</MudSelectItem>
|
<MudSelectItem Value="@embedding.Value">
|
||||||
|
@embedding.Name
|
||||||
|
</MudSelectItem>
|
||||||
}
|
}
|
||||||
</MudSelect>
|
</MudSelect>
|
||||||
|
|
||||||
@ -41,45 +44,46 @@
|
|||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
|
||||||
@if (string.IsNullOrWhiteSpace(this.dataFilePath))
|
@if (string.IsNullOrWhiteSpace(this.dataFilePath))
|
||||||
{
|
{
|
||||||
@: Please note: the embedding you selected runs in the cloud. All your data will be sent to the cloud.
|
@T("Please note: the embedding you selected runs in the cloud. All your data will be sent to the cloud. Please confirm that you have read and understood this.")
|
||||||
@: Please confirm that you have read and understood this.
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@: Please note: the embedding you selected runs in the cloud. All your data within the
|
@string.Format(T("Please note: the embedding you selected runs in the cloud. All your data within the file '{0}' will be sent to the cloud. Please confirm that you have read and understood this."), this.dataFilePath)
|
||||||
@: file '@this.dataFilePath' will be sent to the cloud. Please confirm that you have read
|
|
||||||
@: and understood this.
|
|
||||||
}
|
}
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
<MudTextSwitch @bind-Value="@this.dataUserAcknowledgedCloudEmbedding" Label="I confirm that I have read and understood the above" LabelOn="Yes, please send my data to the cloud" LabelOff="No, I will chose another embedding" Validation="@this.dataSourceValidation.ValidateUserAcknowledgedCloudEmbedding"/>
|
<MudTextSwitch @bind-Value="@this.dataUserAcknowledgedCloudEmbedding" Label="@T("I confirm that I have read and understood the above")" LabelOn="@T("Yes, please send my data to the cloud")" LabelOff="@T("No, I will chose another embedding")" Validation="@this.dataSourceValidation.ValidateUserAcknowledgedCloudEmbedding"/>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Tertiary" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Tertiary" Class="mb-3">
|
||||||
The embedding you selected runs locally or in your organization. Your data is not sent to the cloud.
|
@T("The embedding you selected runs locally or in your organization. Your data is not sent to the cloud.")
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
<MudSelect @bind-Value="@this.dataSecurityPolicy" Text="@this.dataSecurityPolicy.ToSelectionText()" Label="Your security policy" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.dataSourceValidation.ValidateSecurityPolicy">
|
<MudSelect @bind-Value="@this.dataSecurityPolicy" Text="@this.dataSecurityPolicy.ToSelectionText()" Label="@T("Your security policy")" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.dataSourceValidation.ValidateSecurityPolicy">
|
||||||
@foreach (var policy in Enum.GetValues<DataSourceSecurity>())
|
@foreach (var policy in Enum.GetValues<DataSourceSecurity>())
|
||||||
{
|
{
|
||||||
<MudSelectItem Value="@policy">@policy.ToSelectionText()</MudSelectItem>
|
<MudSelectItem Value="@policy">
|
||||||
|
@policy.ToSelectionText()
|
||||||
|
</MudSelectItem>
|
||||||
}
|
}
|
||||||
</MudSelect>
|
</MudSelect>
|
||||||
</MudForm>
|
</MudForm>
|
||||||
<Issues IssuesData="@this.dataIssues"/>
|
<Issues IssuesData="@this.dataIssues"/>
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
<DialogActions>
|
<DialogActions>
|
||||||
<MudButton OnClick="@this.Cancel" Variant="Variant.Filled">Cancel</MudButton>
|
<MudButton OnClick="@this.Cancel" Variant="Variant.Filled">
|
||||||
|
@T("Cancel")
|
||||||
|
</MudButton>
|
||||||
<MudButton OnClick="@this.Store" Variant="Variant.Filled" Color="Color.Primary">
|
<MudButton OnClick="@this.Store" Variant="Variant.Filled" Color="Color.Primary">
|
||||||
@if(this.IsEditing)
|
@if(this.IsEditing)
|
||||||
{
|
{
|
||||||
@:Update
|
@T("Update")
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@:Add
|
@T("Add")
|
||||||
}
|
}
|
||||||
</MudButton>
|
</MudButton>
|
||||||
</DialogActions>
|
</DialogActions>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using AIStudio.Components;
|
||||||
using AIStudio.Settings;
|
using AIStudio.Settings;
|
||||||
using AIStudio.Settings.DataModel;
|
using AIStudio.Settings.DataModel;
|
||||||
using AIStudio.Tools.Validation;
|
using AIStudio.Tools.Validation;
|
||||||
@ -6,7 +7,7 @@ using Microsoft.AspNetCore.Components;
|
|||||||
|
|
||||||
namespace AIStudio.Dialogs;
|
namespace AIStudio.Dialogs;
|
||||||
|
|
||||||
public partial class DataSourceLocalFileDialog : ComponentBase
|
public partial class DataSourceLocalFileDialog : MSGComponentBase
|
||||||
{
|
{
|
||||||
[CascadingParameter]
|
[CascadingParameter]
|
||||||
private IMudDialogInstance MudDialog { get; set; } = null!;
|
private IMudDialogInstance MudDialog { get; set; } = null!;
|
||||||
@ -20,9 +21,6 @@ public partial class DataSourceLocalFileDialog : ComponentBase
|
|||||||
[Parameter]
|
[Parameter]
|
||||||
public IReadOnlyList<ConfigurationSelectData<string>> AvailableEmbeddings { get; set; } = [];
|
public IReadOnlyList<ConfigurationSelectData<string>> AvailableEmbeddings { get; set; } = [];
|
||||||
|
|
||||||
[Inject]
|
|
||||||
private SettingsManager SettingsManager { get; init; } = null!;
|
|
||||||
|
|
||||||
private static readonly Dictionary<string, object?> SPELLCHECK_ATTRIBUTES = new();
|
private static readonly Dictionary<string, object?> SPELLCHECK_ATTRIBUTES = new();
|
||||||
|
|
||||||
private readonly DataSourceValidation dataSourceValidation;
|
private readonly DataSourceValidation dataSourceValidation;
|
||||||
|
@ -1,42 +1,44 @@
|
|||||||
@using AIStudio.Settings.DataModel
|
@using AIStudio.Settings.DataModel
|
||||||
|
@inherits MSGComponentBase
|
||||||
|
|
||||||
<MudDialog>
|
<MudDialog>
|
||||||
<DialogContent>
|
<DialogContent>
|
||||||
<TextInfoLine Icon="@Icons.Material.Filled.Tag" Label="Data source name" Value="@this.DataSource.Name" ClipboardTooltipSubject="the data source name"/>
|
<TextInfoLine Icon="@Icons.Material.Filled.Tag" Label="@T("Data source name")" Value="@this.DataSource.Name" ClipboardTooltipSubject="@T("the data source name")"/>
|
||||||
|
|
||||||
<TextInfoLine Icon="@Icons.Material.Filled.FolderOpen" Label="File path" Value="@this.DataSource.FilePath" ClipboardTooltipSubject="this path"/>
|
<TextInfoLine Icon="@Icons.Material.Filled.FolderOpen" Label="@T("File path")" Value="@this.DataSource.FilePath" ClipboardTooltipSubject="@T("this path")"/>
|
||||||
@if (!this.IsFileAvailable)
|
@if (!this.IsFileAvailable)
|
||||||
{
|
{
|
||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
|
||||||
The file chosen for the data source does not exist anymore. Please edit the data source and choose another file or correct the path.
|
@T("The file chosen for the data source does not exist anymore. Please edit the data source and choose another file or correct the path.")
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Tertiary" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Tertiary" Class="mb-3">
|
||||||
The file chosen for the data source exists.
|
@T("The file chosen for the data source exists.")
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
}
|
}
|
||||||
|
|
||||||
<TextInfoLine Icon="@Icons.Material.Filled.Layers" Label="Embedding name" Value="@this.embeddingProvider.Name" ClipboardTooltipSubject="the embedding name"/>
|
<TextInfoLine Icon="@Icons.Material.Filled.Layers" Label="@T("Embedding name")" Value="@this.embeddingProvider.Name" ClipboardTooltipSubject="@T("the embedding name")"/>
|
||||||
@if (this.IsCloudEmbedding)
|
@if (this.IsCloudEmbedding)
|
||||||
{
|
{
|
||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
|
||||||
The embedding runs in the cloud. All your data within the
|
@string.Format(T("The embedding runs in the cloud. All your data within the file '{0}' will be sent to the cloud."), this.DataSource.FilePath)
|
||||||
file '@this.DataSource.FilePath' will be sent to the cloud.
|
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<MudJustifiedText Typo="Typo.body1" Color="Color.Tertiary" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body1" Color="Color.Tertiary" Class="mb-3">
|
||||||
The embedding runs locally or in your organization. Your data is not sent to the cloud.
|
@T("The embedding runs locally or in your organization. Your data is not sent to the cloud.")
|
||||||
</MudJustifiedText>
|
</MudJustifiedText>
|
||||||
}
|
}
|
||||||
|
|
||||||
<TextInfoLines Label="Your security policy" MaxLines="3" Value="@this.DataSource.SecurityPolicy.ToInfoText()" Color="@this.DataSource.SecurityPolicy.GetColor()" ClipboardTooltipSubject="your security policy"/>
|
<TextInfoLines Label="@T("Your security policy")" MaxLines="3" Value="@this.DataSource.SecurityPolicy.ToInfoText()" Color="@this.DataSource.SecurityPolicy.GetColor()" ClipboardTooltipSubject="@T("your security policy")"/>
|
||||||
<TextInfoLine Icon="@Icons.Material.Filled.SquareFoot" Label="File size" Value="@this.FileSize" ClipboardTooltipSubject="the file size"/>
|
<TextInfoLine Icon="@Icons.Material.Filled.SquareFoot" Label="@T("File size")" Value="@this.FileSize" ClipboardTooltipSubject="@T("the file size")"/>
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
<DialogActions>
|
<DialogActions>
|
||||||
<MudButton OnClick="@this.Close" Variant="Variant.Filled">Close</MudButton>
|
<MudButton OnClick="@this.Close" Variant="Variant.Filled">
|
||||||
|
@T("Close")
|
||||||
|
</MudButton>
|
||||||
</DialogActions>
|
</DialogActions>
|
||||||
</MudDialog>
|
</MudDialog>
|
@ -1,3 +1,4 @@
|
|||||||
|
using AIStudio.Components;
|
||||||
using AIStudio.Settings;
|
using AIStudio.Settings;
|
||||||
using AIStudio.Settings.DataModel;
|
using AIStudio.Settings.DataModel;
|
||||||
|
|
||||||
@ -5,7 +6,7 @@ using Microsoft.AspNetCore.Components;
|
|||||||
|
|
||||||
namespace AIStudio.Dialogs;
|
namespace AIStudio.Dialogs;
|
||||||
|
|
||||||
public partial class DataSourceLocalFileInfoDialog : ComponentBase
|
public partial class DataSourceLocalFileInfoDialog : MSGComponentBase
|
||||||
{
|
{
|
||||||
[CascadingParameter]
|
[CascadingParameter]
|
||||||
private IMudDialogInstance MudDialog { get; set; } = null!;
|
private IMudDialogInstance MudDialog { get; set; } = null!;
|
||||||
@ -13,9 +14,6 @@ public partial class DataSourceLocalFileInfoDialog : ComponentBase
|
|||||||
[Parameter]
|
[Parameter]
|
||||||
public DataSourceLocalFile DataSource { get; set; }
|
public DataSourceLocalFile DataSource { get; set; }
|
||||||
|
|
||||||
[Inject]
|
|
||||||
private SettingsManager SettingsManager { get; init; } = null!;
|
|
||||||
|
|
||||||
#region Overrides of ComponentBase
|
#region Overrides of ComponentBase
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
@inherits MSGComponentBase
|
||||||
|
|
||||||
<MudDialog>
|
<MudDialog>
|
||||||
<DialogContent>
|
<DialogContent>
|
||||||
<MudForm @ref="@this.form" @bind-IsValid="@this.dataIsValid" @bind-Errors="@this.dataIssues">
|
<MudForm @ref="@this.form" @bind-IsValid="@this.dataIsValid" @bind-Errors="@this.dataIssues">
|
||||||
@ -5,8 +7,8 @@
|
|||||||
<MudTextField
|
<MudTextField
|
||||||
T="string"
|
T="string"
|
||||||
@bind-Text="@this.DataEmbeddingName"
|
@bind-Text="@this.DataEmbeddingName"
|
||||||
Label="Embedding Name"
|
Label="@T("Embedding Name")"
|
||||||
HelperText="The name of the embedding method."
|
HelperText="@T("The name of the embedding method.")"
|
||||||
Class="mb-3"
|
Class="mb-3"
|
||||||
Adornment="Adornment.Start"
|
Adornment="Adornment.Start"
|
||||||
AdornmentIcon="@Icons.Material.Filled.Label"
|
AdornmentIcon="@Icons.Material.Filled.Label"
|
||||||
@ -22,8 +24,8 @@
|
|||||||
<MudTextField
|
<MudTextField
|
||||||
T="string"
|
T="string"
|
||||||
@bind-Text="@this.DataEmbeddingType"
|
@bind-Text="@this.DataEmbeddingType"
|
||||||
Label="Embedding Type"
|
Label="@T("Embedding Type")"
|
||||||
HelperText="What kind of embedding is used. For example, Transformer Embedding, Contextual Word Embedding, Graph Embedding, etc."
|
HelperText="@T("What kind of embedding is used. For example, Transformer Embedding, Contextual Word Embedding, Graph Embedding, etc.")"
|
||||||
Adornment="Adornment.Start"
|
Adornment="Adornment.Start"
|
||||||
AdornmentIcon="@Icons.Material.Filled.Extension"
|
AdornmentIcon="@Icons.Material.Filled.Extension"
|
||||||
AdornmentColor="Color.Info"
|
AdornmentColor="Color.Info"
|
||||||
@ -35,16 +37,16 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<MudList T="@string" Class="mb-3">
|
<MudList T="@string" Class="mb-3">
|
||||||
<MudListItem Icon="@Icons.Material.Filled.Link" Href="https://en.wikipedia.org/wiki/Word_embedding" Target="_blank" Text="See Wikipedia for more information about word embeddings"/>
|
<MudListItem Icon="@Icons.Material.Filled.Link" Href="https://en.wikipedia.org/wiki/Word_embedding" Target="_blank" Text="@T("See Wikipedia for more information about word embeddings")"/>
|
||||||
<MudListItem Icon="@Icons.Material.Filled.Link" Href="https://en.wikipedia.org/wiki/Knowledge_graph_embedding" Target="_blank" Text="See Wikipedia for more information about knowledge graph embeddings"/>
|
<MudListItem Icon="@Icons.Material.Filled.Link" Href="https://en.wikipedia.org/wiki/Knowledge_graph_embedding" Target="_blank" Text="@T("See Wikipedia for more information about knowledge graph embeddings")"/>
|
||||||
</MudList>
|
</MudList>
|
||||||
|
|
||||||
@* ReSharper disable once CSharpWarnings::CS8974 *@
|
@* ReSharper disable once CSharpWarnings::CS8974 *@
|
||||||
<MudTextField
|
<MudTextField
|
||||||
T="string"
|
T="string"
|
||||||
@bind-Text="@this.DataDescription"
|
@bind-Text="@this.DataDescription"
|
||||||
Label="Embedding Description"
|
Label="@T("Embedding Description")"
|
||||||
HelperText="A short description of the embedding method."
|
HelperText="@T("A short description of the embedding method.")"
|
||||||
Lines="3"
|
Lines="3"
|
||||||
AutoGrow="@true"
|
AutoGrow="@true"
|
||||||
MaxLines="6"
|
MaxLines="6"
|
||||||
@ -62,8 +64,8 @@
|
|||||||
<MudTextField
|
<MudTextField
|
||||||
T="string"
|
T="string"
|
||||||
@bind-Text="@this.DataUsedWhen"
|
@bind-Text="@this.DataUsedWhen"
|
||||||
Label="Used when"
|
Label="@T("Used when")"
|
||||||
HelperText="When is this embedding used? When you define multiple embeddings, it is helpful to know when to use which one."
|
HelperText="@T("When is this embedding used? When you define multiple embeddings, it is helpful to know when to use which one.")"
|
||||||
Lines="3"
|
Lines="3"
|
||||||
AutoGrow="@true"
|
AutoGrow="@true"
|
||||||
MaxLines="6"
|
MaxLines="6"
|
||||||
@ -81,8 +83,8 @@
|
|||||||
<MudTextField
|
<MudTextField
|
||||||
T="string"
|
T="string"
|
||||||
@bind-Text="@this.DataLink"
|
@bind-Text="@this.DataLink"
|
||||||
Label="Embedding Link"
|
Label="@T("Embedding Link")"
|
||||||
HelperText="A link to the embedding, e.g., to the model, the source code, the paper, it's Wikipedia page, etc."
|
HelperText="@T("A link to the embedding, e.g., to the model, the source code, the paper, it's Wikipedia page, etc.")"
|
||||||
Class="mb-3"
|
Class="mb-3"
|
||||||
Adornment="Adornment.Start"
|
Adornment="Adornment.Start"
|
||||||
AdornmentIcon="@Icons.Material.Filled.Link"
|
AdornmentIcon="@Icons.Material.Filled.Link"
|
||||||
@ -94,15 +96,17 @@
|
|||||||
<Issues IssuesData="@this.dataIssues"/>
|
<Issues IssuesData="@this.dataIssues"/>
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
<DialogActions>
|
<DialogActions>
|
||||||
<MudButton OnClick="@this.Cancel" Variant="Variant.Filled">Cancel</MudButton>
|
<MudButton OnClick="@this.Cancel" Variant="Variant.Filled">
|
||||||
|
@T("Cancel")
|
||||||
|
</MudButton>
|
||||||
<MudButton OnClick="@this.Store" Variant="Variant.Filled" Color="Color.Primary">
|
<MudButton OnClick="@this.Store" Variant="Variant.Filled" Color="Color.Primary">
|
||||||
@if(this.IsEditing)
|
@if(this.IsEditing)
|
||||||
{
|
{
|
||||||
@:Update
|
@T("Update")
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@:Add
|
@T("Add")
|
||||||
}
|
}
|
||||||
</MudButton>
|
</MudButton>
|
||||||
</DialogActions>
|
</DialogActions>
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
using AIStudio.Assistants.ERI;
|
using AIStudio.Assistants.ERI;
|
||||||
using AIStudio.Settings;
|
using AIStudio.Components;
|
||||||
|
|
||||||
using Microsoft.AspNetCore.Components;
|
using Microsoft.AspNetCore.Components;
|
||||||
|
|
||||||
namespace AIStudio.Dialogs;
|
namespace AIStudio.Dialogs;
|
||||||
|
|
||||||
public partial class EmbeddingMethodDialog : ComponentBase
|
public partial class EmbeddingMethodDialog : MSGComponentBase
|
||||||
{
|
{
|
||||||
[CascadingParameter]
|
[CascadingParameter]
|
||||||
private IMudDialogInstance MudDialog { get; set; } = null!;
|
private IMudDialogInstance MudDialog { get; set; } = null!;
|
||||||
@ -52,9 +52,6 @@ public partial class EmbeddingMethodDialog : ComponentBase
|
|||||||
[Parameter]
|
[Parameter]
|
||||||
public bool IsEditing { get; init; }
|
public bool IsEditing { get; init; }
|
||||||
|
|
||||||
[Inject]
|
|
||||||
private SettingsManager SettingsManager { get; init; } = null!;
|
|
||||||
|
|
||||||
private static readonly Dictionary<string, object?> SPELLCHECK_ATTRIBUTES = new();
|
private static readonly Dictionary<string, object?> SPELLCHECK_ATTRIBUTES = new();
|
||||||
|
|
||||||
private bool dataIsValid;
|
private bool dataIsValid;
|
||||||
@ -90,13 +87,13 @@ public partial class EmbeddingMethodDialog : ComponentBase
|
|||||||
private string? ValidateName(string name)
|
private string? ValidateName(string name)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(name))
|
if (string.IsNullOrWhiteSpace(name))
|
||||||
return "The embedding name must not be empty. Please name the embedding.";
|
return T("The embedding name must not be empty. Please name the embedding.");
|
||||||
|
|
||||||
if (name.Length > 26)
|
if (name.Length > 26)
|
||||||
return "The embedding name must not be longer than 26 characters.";
|
return T("The embedding name must not be longer than 26 characters.");
|
||||||
|
|
||||||
if (this.UsedEmbeddingMethodNames.Contains(name))
|
if (this.UsedEmbeddingMethodNames.Contains(name))
|
||||||
return $"The embedding method name '{name}' is already used. Please choose a unique name.";
|
return string.Format(T("The embedding method name '{0}' is already used. Please choose a unique name."), name);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -104,10 +101,10 @@ public partial class EmbeddingMethodDialog : ComponentBase
|
|||||||
private string? ValidateType(string type)
|
private string? ValidateType(string type)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(type))
|
if (string.IsNullOrWhiteSpace(type))
|
||||||
return "The embedding type must not be empty. Please specify the embedding type.";
|
return T("The embedding type must not be empty. Please specify the embedding type.");
|
||||||
|
|
||||||
if (type.Length > 56)
|
if (type.Length > 56)
|
||||||
return "The embedding type must not be longer than 56 characters.";
|
return T("The embedding type must not be longer than 56 characters.");
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -115,7 +112,7 @@ public partial class EmbeddingMethodDialog : ComponentBase
|
|||||||
private string? ValidateDescription(string description)
|
private string? ValidateDescription(string description)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(description))
|
if (string.IsNullOrWhiteSpace(description))
|
||||||
return "The description must not be empty. Please describe the embedding method.";
|
return T("The description must not be empty. Please describe the embedding method.");
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -123,7 +120,7 @@ public partial class EmbeddingMethodDialog : ComponentBase
|
|||||||
private string? ValidateUsedWhen(string usedWhen)
|
private string? ValidateUsedWhen(string usedWhen)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(usedWhen))
|
if (string.IsNullOrWhiteSpace(usedWhen))
|
||||||
return "Please describe when the embedding is used. Might be anytime or when certain keywords are present, etc.";
|
return T("Please describe when the embedding is used. Might be anytime or when certain keywords are present, etc.");
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,25 @@
|
|||||||
@using AIStudio.Assistants.ERI
|
@using AIStudio.Assistants.ERI
|
||||||
@using MudExtensions
|
@using MudExtensions
|
||||||
|
@inherits MSGComponentBase
|
||||||
|
|
||||||
<MudDialog>
|
<MudDialog>
|
||||||
<DialogContent>
|
<DialogContent>
|
||||||
<MudForm @ref="@this.form" @bind-IsValid="@this.dataIsValid" @bind-Errors="@this.dataIssues">
|
<MudForm @ref="@this.form" @bind-IsValid="@this.dataIsValid" @bind-Errors="@this.dataIssues">
|
||||||
|
|
||||||
<MudText Typo="Typo.h5" Class="mb-3">
|
<MudText Typo="Typo.h5" Class="mb-3">
|
||||||
General Information
|
@T("General Information")
|
||||||
</MudText>
|
</MudText>
|
||||||
|
|
||||||
<MudText Typo="Typo.body1" Class="mb-3">
|
<MudText Typo="Typo.body1" Class="mb-3">
|
||||||
Please provide some general information about your retrieval process first. This data may be
|
@T("Please provide some general information about your retrieval process first. This data may be displayed to the users.")
|
||||||
displayed to the users.
|
|
||||||
</MudText>
|
</MudText>
|
||||||
|
|
||||||
@* ReSharper disable once CSharpWarnings::CS8974 *@
|
@* ReSharper disable once CSharpWarnings::CS8974 *@
|
||||||
<MudTextField
|
<MudTextField
|
||||||
T="string"
|
T="string"
|
||||||
@bind-Text="@this.DataName"
|
@bind-Text="@this.DataName"
|
||||||
Label="Retrieval Process Name"
|
Label="@T("Retrieval Process Name")"
|
||||||
HelperText="The name of your retrieval process."
|
HelperText="@T("The name of your retrieval process.")"
|
||||||
Class="mb-3"
|
Class="mb-3"
|
||||||
Adornment="Adornment.Start"
|
Adornment="Adornment.Start"
|
||||||
AdornmentIcon="@Icons.Material.Filled.Label"
|
AdornmentIcon="@Icons.Material.Filled.Label"
|
||||||
@ -34,8 +35,8 @@
|
|||||||
<MudTextField
|
<MudTextField
|
||||||
T="string"
|
T="string"
|
||||||
@bind-Text="@this.DataDescription"
|
@bind-Text="@this.DataDescription"
|
||||||
Label="Retrieval Process Description"
|
Label="@T("Retrieval Process Description")"
|
||||||
HelperText="A short description of the retrieval process."
|
HelperText="@T("A short description of the retrieval process.")"
|
||||||
Lines="3"
|
Lines="3"
|
||||||
AutoGrow="@true"
|
AutoGrow="@true"
|
||||||
MaxLines="6"
|
MaxLines="6"
|
||||||
@ -53,8 +54,8 @@
|
|||||||
<MudTextField
|
<MudTextField
|
||||||
T="string"
|
T="string"
|
||||||
@bind-Text="@this.DataLink"
|
@bind-Text="@this.DataLink"
|
||||||
Label="Retrieval Process Link"
|
Label="@T("Retrieval Process Link")"
|
||||||
HelperText="A link to the retrieval process, e.g., the source code, the paper, it's Wikipedia page, etc. Make sense for common retrieval processes. Leave empty if not applicable."
|
HelperText="@T("A link to the retrieval process, e.g., the source code, the paper, it's Wikipedia page, etc. Make sense for common retrieval processes. Leave empty if not applicable.")"
|
||||||
Class="mb-6"
|
Class="mb-6"
|
||||||
Adornment="Adornment.Start"
|
Adornment="Adornment.Start"
|
||||||
AdornmentIcon="@Icons.Material.Filled.Link"
|
AdornmentIcon="@Icons.Material.Filled.Link"
|
||||||
@ -63,13 +64,11 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<MudText Typo="Typo.h5" Class="mb-3">
|
<MudText Typo="Typo.h5" Class="mb-3">
|
||||||
Retrieval Process Parameters
|
@T("Retrieval Process Parameters")
|
||||||
</MudText>
|
</MudText>
|
||||||
|
|
||||||
<MudText Typo="Typo.body1" Class="mb-3">
|
<MudText Typo="Typo.body1" Class="mb-3">
|
||||||
You may want to parameterize your retrieval process. However, this is optional. You can specify any
|
@T("You may want to parameterize your retrieval process. However, this is optional. You can specify any parameters that can be set by the user or the system during the call. Nevertheless, you should use sensible default values in your code so that users are not forced to set the parameters manually.")
|
||||||
parameters that can be set by the user or the system during the call. Nevertheless, you should use
|
|
||||||
sensible default values in your code so that users are not forced to set the parameters manually.
|
|
||||||
</MudText>
|
</MudText>
|
||||||
|
|
||||||
<MudStack Row="@true" Spacing="6" AlignItems="AlignItems.Start" StretchItems="StretchItems.None">
|
<MudStack Row="@true" Spacing="6" AlignItems="AlignItems.Start" StretchItems="StretchItems.None">
|
||||||
@ -87,7 +86,7 @@
|
|||||||
</MudList>
|
</MudList>
|
||||||
}
|
}
|
||||||
<MudButton OnClick="@this.AddRetrievalProcessParameter" Variant="Variant.Filled" Color="Color.Primary" Class="mt-1">
|
<MudButton OnClick="@this.AddRetrievalProcessParameter" Variant="Variant.Filled" Color="Color.Primary" Class="mt-1">
|
||||||
Add Parameter
|
@T("Add Parameter")
|
||||||
</MudButton>
|
</MudButton>
|
||||||
</MudStack>
|
</MudStack>
|
||||||
|
|
||||||
@ -98,13 +97,13 @@
|
|||||||
@if(this.retrievalParameters.Count == 0)
|
@if(this.retrievalParameters.Count == 0)
|
||||||
{
|
{
|
||||||
<MudText>
|
<MudText>
|
||||||
Add a parameter first, then select it to edit.
|
@T("Add a parameter first, then select it to edit.")
|
||||||
</MudText>
|
</MudText>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<MudText>
|
<MudText>
|
||||||
Select a parameter to show and edit it.
|
@T("Select a parameter to show and edit it.")
|
||||||
</MudText>
|
</MudText>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -114,8 +113,8 @@
|
|||||||
<MudTextField
|
<MudTextField
|
||||||
T="string"
|
T="string"
|
||||||
@bind-Text="@this.selectedParameter.Name"
|
@bind-Text="@this.selectedParameter.Name"
|
||||||
Label="Parameter Name"
|
Label="@T("Parameter Name")"
|
||||||
HelperText="The parameter name. It must be unique within the retrieval process."
|
HelperText="@T("The parameter name. It must be unique within the retrieval process.")"
|
||||||
Class="mb-3"
|
Class="mb-3"
|
||||||
Adornment="Adornment.Start"
|
Adornment="Adornment.Start"
|
||||||
AdornmentIcon="@Icons.Material.Filled.Label"
|
AdornmentIcon="@Icons.Material.Filled.Label"
|
||||||
@ -130,8 +129,8 @@
|
|||||||
<MudTextField
|
<MudTextField
|
||||||
T="string"
|
T="string"
|
||||||
@bind-Text="@this.selectedParameter.Description"
|
@bind-Text="@this.selectedParameter.Description"
|
||||||
Label="Parameter Description"
|
Label="@T("Parameter Description")"
|
||||||
HelperText="A short description of the parameter. What data type is it? What is it used for? What are the possible values?"
|
HelperText="@T("A short description of the parameter. What data type is it? What is it used for? What are the possible values?")"
|
||||||
Lines="3"
|
Lines="3"
|
||||||
AutoGrow="@true"
|
AutoGrow="@true"
|
||||||
MaxLines="6"
|
MaxLines="6"
|
||||||
@ -146,7 +145,7 @@
|
|||||||
|
|
||||||
<MudStack Row="@true">
|
<MudStack Row="@true">
|
||||||
<MudButton OnClick="@this.RemoveRetrievalProcessParameter" Variant="Variant.Filled" Color="Color.Secondary">
|
<MudButton OnClick="@this.RemoveRetrievalProcessParameter" Variant="Variant.Filled" Color="Color.Secondary">
|
||||||
Delete this parameter
|
@T("Delete this parameter")
|
||||||
</MudButton>
|
</MudButton>
|
||||||
</MudStack>
|
</MudStack>
|
||||||
|
|
||||||
@ -155,22 +154,19 @@
|
|||||||
</MudStack>
|
</MudStack>
|
||||||
|
|
||||||
<MudText Typo="Typo.h5" Class="mb-3">
|
<MudText Typo="Typo.h5" Class="mb-3">
|
||||||
Embeddings
|
@T("Embeddings")
|
||||||
</MudText>
|
</MudText>
|
||||||
|
|
||||||
@if(this.AvailableEmbeddings.Count == 0)
|
@if(this.AvailableEmbeddings.Count == 0)
|
||||||
{
|
{
|
||||||
<MudText Typo="Typo.body1" Class="mb-3">
|
<MudText Typo="Typo.body1" Class="mb-3">
|
||||||
Currently, you have not defined any embedding methods. If your retrieval process does not require embedding, you can ignore this part.
|
@T("Currently, you have not defined any embedding methods. If your retrieval process does not require embedding, you can ignore this part. Otherwise, you can define one or more embedding methods in the previous view to assign them to your retrieval process here.")
|
||||||
Otherwise, you can define one or more embedding methods in the previous view to assign them to your retrieval process here.
|
|
||||||
</MudText>
|
</MudText>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<MudText Typo="Typo.body1" Class="mb-3">
|
<MudText Typo="Typo.body1" Class="mb-3">
|
||||||
Here you can select which embedding methods are used for this retrieval process. Embeddings are optional;
|
@T("Here you can select which embedding methods are used for this retrieval process. Embeddings are optional; if your retrieval process works without embedding, you can ignore this part. You can only choose the embedding methods you have previously defined.")
|
||||||
if your retrieval process works without embedding, you can ignore this part. You can only choose the embedding
|
|
||||||
methods you have previously defined.
|
|
||||||
</MudText>
|
</MudText>
|
||||||
|
|
||||||
<MudSelectExtended
|
<MudSelectExtended
|
||||||
@ -181,11 +177,11 @@
|
|||||||
SelectedValuesChanged="@this.EmbeddingsChanged"
|
SelectedValuesChanged="@this.EmbeddingsChanged"
|
||||||
Strict="@true"
|
Strict="@true"
|
||||||
Margin="Margin.Dense"
|
Margin="Margin.Dense"
|
||||||
Label="Embeddings methods"
|
Label="@T("Embeddings methods")"
|
||||||
ShrinkLabel="@true"
|
ShrinkLabel="@true"
|
||||||
Class="mb-3"
|
Class="mb-3"
|
||||||
Variant="Variant.Outlined"
|
Variant="Variant.Outlined"
|
||||||
HelperText="Optional. Select the embedding methods that are used for this retrieval process.">
|
HelperText="@T("Optional. Select the embedding methods that are used for this retrieval process.")">
|
||||||
@foreach (var embedding in this.AvailableEmbeddings)
|
@foreach (var embedding in this.AvailableEmbeddings)
|
||||||
{
|
{
|
||||||
<MudSelectItemExtended Value="@embedding">
|
<MudSelectItemExtended Value="@embedding">
|
||||||
@ -198,15 +194,17 @@
|
|||||||
<Issues IssuesData="@this.dataIssues"/>
|
<Issues IssuesData="@this.dataIssues"/>
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
<DialogActions>
|
<DialogActions>
|
||||||
<MudButton OnClick="@this.Cancel" Variant="Variant.Filled">Cancel</MudButton>
|
<MudButton OnClick="@this.Cancel" Variant="Variant.Filled">
|
||||||
|
@T("Cancel")
|
||||||
|
</MudButton>
|
||||||
<MudButton OnClick="@this.Store" Variant="Variant.Filled" Color="Color.Primary">
|
<MudButton OnClick="@this.Store" Variant="Variant.Filled" Color="Color.Primary">
|
||||||
@if(this.IsEditing)
|
@if(this.IsEditing)
|
||||||
{
|
{
|
||||||
@:Update
|
@T("Update")
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@:Add
|
@T("Add")
|
||||||
}
|
}
|
||||||
</MudButton>
|
</MudButton>
|
||||||
</DialogActions>
|
</DialogActions>
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
using AIStudio.Assistants.ERI;
|
using AIStudio.Assistants.ERI;
|
||||||
using AIStudio.Settings;
|
using AIStudio.Components;
|
||||||
|
|
||||||
using Microsoft.AspNetCore.Components;
|
using Microsoft.AspNetCore.Components;
|
||||||
|
|
||||||
namespace AIStudio.Dialogs;
|
namespace AIStudio.Dialogs;
|
||||||
|
|
||||||
public partial class RetrievalProcessDialog : ComponentBase
|
public partial class RetrievalProcessDialog : MSGComponentBase
|
||||||
{
|
{
|
||||||
[CascadingParameter]
|
[CascadingParameter]
|
||||||
private IMudDialogInstance MudDialog { get; set; } = null!;
|
private IMudDialogInstance MudDialog { get; set; } = null!;
|
||||||
@ -60,9 +60,6 @@ public partial class RetrievalProcessDialog : ComponentBase
|
|||||||
[Parameter]
|
[Parameter]
|
||||||
public bool IsEditing { get; init; }
|
public bool IsEditing { get; init; }
|
||||||
|
|
||||||
[Inject]
|
|
||||||
private SettingsManager SettingsManager { get; init; } = null!;
|
|
||||||
|
|
||||||
private static readonly Dictionary<string, object?> SPELLCHECK_ATTRIBUTES = new();
|
private static readonly Dictionary<string, object?> SPELLCHECK_ATTRIBUTES = new();
|
||||||
|
|
||||||
private bool dataIsValid;
|
private bool dataIsValid;
|
||||||
@ -80,13 +77,13 @@ public partial class RetrievalProcessDialog : ComponentBase
|
|||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
|
await base.OnInitializedAsync();
|
||||||
|
|
||||||
// Configure the spellchecking for the instance name input:
|
// Configure the spellchecking for the instance name input:
|
||||||
this.SettingsManager.InjectSpellchecking(SPELLCHECK_ATTRIBUTES);
|
this.SettingsManager.InjectSpellchecking(SPELLCHECK_ATTRIBUTES);
|
||||||
|
|
||||||
// Convert the parameters:
|
// Convert the parameters:
|
||||||
this.retrievalParameters = this.DataParametersDescription.Select(pair => new RetrievalParameter { Name = pair.Key, Description = pair.Value }).ToList();
|
this.retrievalParameters = this.DataParametersDescription.Select(pair => new RetrievalParameter { Name = pair.Key, Description = pair.Value }).ToList();
|
||||||
|
|
||||||
await base.OnInitializedAsync();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||||
@ -104,13 +101,13 @@ public partial class RetrievalProcessDialog : ComponentBase
|
|||||||
private string? ValidateName(string name)
|
private string? ValidateName(string name)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(name))
|
if (string.IsNullOrWhiteSpace(name))
|
||||||
return "The retrieval process name must not be empty. Please name your retrieval process.";
|
return T("The retrieval process name must not be empty. Please name your retrieval process.");
|
||||||
|
|
||||||
if (name.Length > 26)
|
if (name.Length > 26)
|
||||||
return "The retrieval process name must not be longer than 26 characters.";
|
return T("The retrieval process name must not be longer than 26 characters.");
|
||||||
|
|
||||||
if (this.UsedRetrievalProcessNames.Contains(name))
|
if (this.UsedRetrievalProcessNames.Contains(name))
|
||||||
return $"The retrieval process name '{name}' must be unique. Please choose a different name.";
|
return string.Format(T("The retrieval process name '{0}' must be unique. Please choose a different name."), name);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -118,26 +115,26 @@ public partial class RetrievalProcessDialog : ComponentBase
|
|||||||
private string? ValidateDescription(string description)
|
private string? ValidateDescription(string description)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(description))
|
if (string.IsNullOrWhiteSpace(description))
|
||||||
return "The description must not be empty. Please describe the retrieval process.";
|
return T("The description must not be empty. Please describe the retrieval process.");
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddRetrievalProcessParameter()
|
private void AddRetrievalProcessParameter()
|
||||||
{
|
{
|
||||||
this.retrievalParameters.Add(new() { Name = $"New Parameter {this.nextParameterId++}", Description = string.Empty });
|
this.retrievalParameters.Add(new() { Name = string.Format(T("New Parameter {0}"), this.nextParameterId++), Description = string.Empty });
|
||||||
}
|
}
|
||||||
|
|
||||||
private string? ValidateParameterName(string name)
|
private string? ValidateParameterName(string name)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(name))
|
if (string.IsNullOrWhiteSpace(name))
|
||||||
return "The parameter name must not be empty. Please name the parameter.";
|
return T("The parameter name must not be empty. Please name the parameter.");
|
||||||
|
|
||||||
if(name.Length > 26)
|
if(name.Length > 26)
|
||||||
return "The parameter name must not be longer than 26 characters.";
|
return T("The parameter name must not be longer than 26 characters.");
|
||||||
|
|
||||||
if (this.retrievalParameters.Count(parameter => parameter.Name == name) > 1)
|
if (this.retrievalParameters.Count(parameter => parameter.Name == name) > 1)
|
||||||
return $"The parameter name '{name}' must be unique. Please choose a different name.";
|
return string.Format(T("The parameter name '{0}' must be unique. Please choose a different name."), name);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -145,7 +142,7 @@ public partial class RetrievalProcessDialog : ComponentBase
|
|||||||
private string? ValidateParameterDescription(string description)
|
private string? ValidateParameterDescription(string description)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(description))
|
if (string.IsNullOrWhiteSpace(description))
|
||||||
return $"The parameter description must not be empty. Please describe the parameter '{this.selectedParameter?.Name}'. What data type is it? What is it used for? What are the possible values?";
|
return string.Format(T("The parameter description must not be empty. Please describe the parameter '{0}'. What data type is it? What is it used for? What are the possible values?"), this.selectedParameter?.Name);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -156,7 +153,7 @@ public partial class RetrievalProcessDialog : ComponentBase
|
|||||||
return nameIssue;
|
return nameIssue;
|
||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(parameter.Description))
|
if (string.IsNullOrWhiteSpace(parameter.Description))
|
||||||
return $"The parameter description must not be empty. Please describe the parameter '{parameter.Name}'. What data type is it? What is it used for? What are the possible values?";
|
return string.Format(T("The parameter description must not be empty. Please describe the parameter '{0}'. What data type is it? What is it used for? What are the possible values?"), parameter.Name);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -172,12 +169,12 @@ public partial class RetrievalProcessDialog : ComponentBase
|
|||||||
private string GetMultiSelectionText(List<EmbeddingInfo> selectedEmbeddings)
|
private string GetMultiSelectionText(List<EmbeddingInfo> selectedEmbeddings)
|
||||||
{
|
{
|
||||||
if(selectedEmbeddings.Count == 0)
|
if(selectedEmbeddings.Count == 0)
|
||||||
return "No embedding methods selected.";
|
return T("No embedding methods selected.");
|
||||||
|
|
||||||
if(selectedEmbeddings.Count == 1)
|
if(selectedEmbeddings.Count == 1)
|
||||||
return "You have selected 1 embedding method.";
|
return T("You have selected 1 embedding method.");
|
||||||
|
|
||||||
return $"You have selected {selectedEmbeddings.Count} embedding methods.";
|
return string.Format(T("You have selected {0} embedding methods."), selectedEmbeddings.Count);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void EmbeddingsChanged(IEnumerable<EmbeddingInfo>? updatedEmbeddings)
|
private void EmbeddingsChanged(IEnumerable<EmbeddingInfo>? updatedEmbeddings)
|
||||||
|
@ -38,6 +38,8 @@
|
|||||||
</MudPaper>
|
</MudPaper>
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
<DialogActions>
|
<DialogActions>
|
||||||
<MudButton OnClick="@this.Close" Variant="Variant.Filled">Close</MudButton>
|
<MudButton OnClick="@this.Close" Variant="Variant.Filled">
|
||||||
|
@T("Close")
|
||||||
|
</MudButton>
|
||||||
</DialogActions>
|
</DialogActions>
|
||||||
</MudDialog>
|
</MudDialog>
|
@ -0,0 +1,35 @@
|
|||||||
|
@using AIStudio.Settings
|
||||||
|
@using AIStudio.Settings.DataModel
|
||||||
|
@inherits SettingsDialogBase
|
||||||
|
|
||||||
|
<MudDialog>
|
||||||
|
<TitleContent>
|
||||||
|
<MudText Typo="Typo.h6" Class="d-flex align-center">
|
||||||
|
<MudIcon Icon="@Icons.Material.Filled.Chat" Class="mr-2" />
|
||||||
|
@T("Chat Options")
|
||||||
|
</MudText>
|
||||||
|
</TitleContent>
|
||||||
|
<DialogContent>
|
||||||
|
<ConfigurationSelect OptionDescription="@T("Shortcut to send input")" SelectedValue="@(() => this.SettingsManager.ConfigurationData.Chat.ShortcutSendBehavior)" Data="@ConfigurationSelectDataFactory.GetSendBehaviorData()" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.Chat.ShortcutSendBehavior = selectedValue)" OptionHelp="@T("Do you want to use any shortcut to send your input?")"/>
|
||||||
|
<ConfigurationOption OptionDescription="@T("Show the latest message after loading?")" LabelOn="@T("Latest message is shown, after loading a chat")" LabelOff="@T("First (oldest) message is shown, after loading a chat")" State="@(() => this.SettingsManager.ConfigurationData.Chat.ShowLatestMessageAfterLoading)" StateUpdate="@(updatedState => this.SettingsManager.ConfigurationData.Chat.ShowLatestMessageAfterLoading = updatedState)" OptionHelp="@T("When enabled, the latest message is shown after loading a chat. When disabled, the first (oldest) message is shown.")"/>
|
||||||
|
<ConfigurationSelect OptionDescription="@T("Provider selection when creating new chats")" SelectedValue="@(() => this.SettingsManager.ConfigurationData.Chat.AddChatProviderBehavior)" Data="@ConfigurationSelectDataFactory.GetAddChatProviderBehavior()" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.Chat.AddChatProviderBehavior = selectedValue)" OptionHelp="@T("Control how the LLM provider for added chats is selected.")"/>
|
||||||
|
<ConfigurationSelect OptionDescription="@T("Provider selection when loading a chat and sending assistant results to chat")" SelectedValue="@(() => this.SettingsManager.ConfigurationData.Chat.LoadingProviderBehavior)" Data="@ConfigurationSelectDataFactory.GetLoadingChatProviderBehavior()" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.Chat.LoadingProviderBehavior = selectedValue)" OptionHelp="@T("Control how the LLM provider for loaded chats is selected and when assistant results are sent to chat.")"/>
|
||||||
|
|
||||||
|
<MudPaper Class="pa-3 mb-8 border-dashed border rounded-lg">
|
||||||
|
<ConfigurationOption OptionDescription="@T("Preselect chat options?")" LabelOn="@T("Chat options are preselected")" LabelOff="@T("No chat options are preselected")" State="@(() => this.SettingsManager.ConfigurationData.Chat.PreselectOptions)" StateUpdate="@(updatedState => this.SettingsManager.ConfigurationData.Chat.PreselectOptions = updatedState)" OptionHelp="@T("When enabled, you can preselect chat options. This is might be useful when you prefer a specific provider.")"/>
|
||||||
|
<ConfigurationProviderSelection Component="Components.CHAT" Data="@this.availableLLMProviders" Disabled="@(() => !this.SettingsManager.ConfigurationData.Chat.PreselectOptions)" SelectedValue="@(() => this.SettingsManager.ConfigurationData.Chat.PreselectedProvider)" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.Chat.PreselectedProvider = selectedValue)"/>
|
||||||
|
<ConfigurationSelect OptionDescription="@T("Preselect one of your profiles?")" Disabled="@(() => !this.SettingsManager.ConfigurationData.Chat.PreselectOptions)" SelectedValue="@(() => this.SettingsManager.ConfigurationData.Chat.PreselectedProfile)" Data="@ConfigurationSelectDataFactory.GetProfilesData(this.SettingsManager.ConfigurationData.Profiles)" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.Chat.PreselectedProfile = selectedValue)" OptionHelp="@T("Would you like to set one of your profiles as the default for chats?")"/>
|
||||||
|
</MudPaper>
|
||||||
|
|
||||||
|
@if (PreviewFeatures.PRE_RAG_2024.IsEnabled(this.SettingsManager))
|
||||||
|
{
|
||||||
|
<DataSourceSelection SelectionMode="DataSourceSelectionMode.CONFIGURATION_MODE" AutoSaveAppSettings="@true" @bind-DataSourceOptions="@this.SettingsManager.ConfigurationData.Chat.PreselectedDataSourceOptions" ConfigurationHeaderMessage="@T("You can set default data sources and options for new chats. You can change these settings later for each individual chat.")"/>
|
||||||
|
<ConfigurationSelect OptionDescription="@T("Apply default data source option when sending assistant results to chat")" SelectedValue="@(() => this.SettingsManager.ConfigurationData.Chat.SendToChatDataSourceBehavior)" Data="@ConfigurationSelectDataFactory.GetSendToChatDataSourceBehaviorData()" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.Chat.SendToChatDataSourceBehavior = selectedValue)" OptionHelp="@T("Do you want to apply the default data source options when sending assistant results to chat?")"/>
|
||||||
|
}
|
||||||
|
</DialogContent>
|
||||||
|
<DialogActions>
|
||||||
|
<MudButton OnClick="@this.Close" Variant="Variant.Filled">
|
||||||
|
@T("Close")
|
||||||
|
</MudButton>
|
||||||
|
</DialogActions>
|
||||||
|
</MudDialog>
|
@ -0,0 +1,3 @@
|
|||||||
|
namespace AIStudio.Dialogs.Settings;
|
||||||
|
|
||||||
|
public partial class SettingsDialogChat : SettingsDialogBase;
|
@ -47,9 +47,9 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="CodeBeam.MudBlazor.Extensions" Version="8.2.0" />
|
<PackageReference Include="CodeBeam.MudBlazor.Extensions" Version="8.2.1" />
|
||||||
<PackageReference Include="HtmlAgilityPack" Version="1.12.1" />
|
<PackageReference Include="HtmlAgilityPack" Version="1.12.1" />
|
||||||
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="9.0.4" />
|
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="9.0.5" />
|
||||||
<PackageReference Include="MudBlazor" Version="8.6.0" />
|
<PackageReference Include="MudBlazor" Version="8.6.0" />
|
||||||
<PackageReference Include="MudBlazor.Markdown" Version="8.6.0" />
|
<PackageReference Include="MudBlazor.Markdown" Version="8.6.0" />
|
||||||
<PackageReference Include="ReverseMarkdown" Version="4.6.0" />
|
<PackageReference Include="ReverseMarkdown" Version="4.6.0" />
|
||||||
|
@ -4,17 +4,21 @@
|
|||||||
|
|
||||||
<div class="inner-scrolling-context">
|
<div class="inner-scrolling-context">
|
||||||
|
|
||||||
<MudText Typo="Typo.h3" Class="mb-2 mr-3">
|
<MudStack Row="true" AlignItems="AlignItems.Center" Class="mb-2 mr-3" StretchItems="StretchItems.Start">
|
||||||
|
<MudText Typo="Typo.h3">
|
||||||
@if (this.chatThread is not null && this.chatThread.WorkspaceId != Guid.Empty)
|
@if (this.chatThread is not null && this.chatThread.WorkspaceId != Guid.Empty)
|
||||||
{
|
{
|
||||||
@(T("Chat in Workspace") + $" \"{this.currentWorkspaceName}\"")
|
@(T("Chat in Workspace") + $" \"{this.currentWorkspaceName}\"")
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@(T("Disappearing Chat"))
|
@T("Disappearing Chat")
|
||||||
}
|
}
|
||||||
</MudText>
|
</MudText>
|
||||||
|
|
||||||
|
<MudIconButton Variant="Variant.Text" Icon="@Icons.Material.Filled.Settings" Color="Color.Default" OnClick="@this.OpenSettingsDialog"/>
|
||||||
|
</MudStack>
|
||||||
|
|
||||||
<ProviderSelection @bind-ProviderSettings="@this.providerSettings"/>
|
<ProviderSelection @bind-ProviderSettings="@this.providerSettings"/>
|
||||||
@if (this.AreWorkspacesVisible)
|
@if (this.AreWorkspacesVisible)
|
||||||
{
|
{
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
using AIStudio.Chat;
|
using AIStudio.Chat;
|
||||||
using AIStudio.Components;
|
using AIStudio.Components;
|
||||||
|
using AIStudio.Dialogs.Settings;
|
||||||
using AIStudio.Settings.DataModel;
|
using AIStudio.Settings.DataModel;
|
||||||
|
|
||||||
using Microsoft.AspNetCore.Components;
|
using Microsoft.AspNetCore.Components;
|
||||||
|
using DialogOptions = AIStudio.Dialogs.DialogOptions;
|
||||||
|
|
||||||
using Timer = System.Timers.Timer;
|
using Timer = System.Timers.Timer;
|
||||||
|
|
||||||
@ -15,6 +17,9 @@ public partial class Chat : MSGComponentBase
|
|||||||
{
|
{
|
||||||
private const Placement TOOLBAR_TOOLTIP_PLACEMENT = Placement.Bottom;
|
private const Placement TOOLBAR_TOOLTIP_PLACEMENT = Placement.Bottom;
|
||||||
|
|
||||||
|
[Inject]
|
||||||
|
private IDialogService DialogService { get; init; } = null!;
|
||||||
|
|
||||||
private ChatThread? chatThread;
|
private ChatThread? chatThread;
|
||||||
private AIStudio.Settings.Provider providerSettings;
|
private AIStudio.Settings.Provider providerSettings;
|
||||||
private bool workspaceOverlayVisible;
|
private bool workspaceOverlayVisible;
|
||||||
@ -80,6 +85,13 @@ public partial class Chat : MSGComponentBase
|
|||||||
this.StateHasChanged();
|
this.StateHasChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async Task OpenSettingsDialog()
|
||||||
|
{
|
||||||
|
var dialogParameters = new DialogParameters();
|
||||||
|
|
||||||
|
await this.DialogService.ShowAsync<SettingsDialogChat>(T("Open Chat Options"), dialogParameters, DialogOptions.FULLSCREEN);
|
||||||
|
}
|
||||||
|
|
||||||
#region Overrides of MSGComponentBase
|
#region Overrides of MSGComponentBase
|
||||||
|
|
||||||
protected override Task ProcessIncomingMessage<T>(ComponentBase? sendingComponent, Event triggeredEvent, T? data) where T : default
|
protected override Task ProcessIncomingMessage<T>(ComponentBase? sendingComponent, Event triggeredEvent, T? data) where T : default
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
<SettingsPanelProfiles AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
|
<SettingsPanelProfiles AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
|
||||||
<SettingsPanelChatTemplates AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
|
<SettingsPanelChatTemplates AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
|
||||||
<SettingsPanelApp AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
|
<SettingsPanelApp AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
|
||||||
<SettingsPanelChat AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
|
|
||||||
<SettingsPanelWorkspaces AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
|
<SettingsPanelWorkspaces AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
|
||||||
|
|
||||||
@if (PreviewFeatures.PRE_RAG_2024.IsEnabled(this.SettingsManager))
|
@if (PreviewFeatures.PRE_RAG_2024.IsEnabled(this.SettingsManager))
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
</MudList>
|
</MudList>
|
||||||
|
|
||||||
<MudButton Href="https://github.com/sponsors/MindWorkAI" StartIcon="@Icons.Material.Filled.Business" Variant="Variant.Filled" Target="_blank">
|
<MudButton Href="https://github.com/sponsors/MindWorkAI" StartIcon="@Icons.Material.Filled.Business" Variant="Variant.Filled" Target="_blank">
|
||||||
@T("Become our first Titan")
|
@T("Become one of our titans")
|
||||||
</MudButton>
|
</MudButton>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -51,9 +51,6 @@ UI_TEXT_CONTENT = {}
|
|||||||
-- Objective
|
-- Objective
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T1121586136"] = "Ziel"
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T1121586136"] = "Ziel"
|
||||||
|
|
||||||
-- This agenda planner helps you create a structured agenda for your meeting or seminar. Just provide some basic information about the event, and the assistant will generate an agenda for you. You can also specify the duration, the start time, the location, the target language, and other details.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T1193269953"] = "Dieser Agenda-Planer hilft Ihnen, eine strukturierte Tagesordnung für Ihr Meeting oder Seminar zu erstellen. Geben Sie einfach einige grundlegende Informationen zur Veranstaltung an, und der Assistent erstellt eine Agenda für Sie. Sie können außerdem die Dauer, die Startzeit, den Ort, die Zielsprache und weitere Details festlegen."
|
|
||||||
|
|
||||||
-- Describe the topic of the meeting, seminar, etc. Is it about quantum computing, software engineering, or is it a general business meeting?
|
-- Describe the topic of the meeting, seminar, etc. Is it about quantum computing, software engineering, or is it a general business meeting?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T12079368"] = "Beschreiben Sie das Thema des Treffens, Seminars usw. Geht es um Quantencomputing, Softwareentwicklung oder handelt es sich um ein allgemeines Geschäftstreffen?"
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T12079368"] = "Beschreiben Sie das Thema des Treffens, Seminars usw. Geht es um Quantencomputing, Softwareentwicklung oder handelt es sich um ein allgemeines Geschäftstreffen?"
|
||||||
|
|
||||||
@ -130,7 +127,7 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T237828418"] = "
|
|||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T2380198832"] = "9:00 Uhr"
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T2380198832"] = "9:00 Uhr"
|
||||||
|
|
||||||
-- Agenda Planner
|
-- Agenda Planner
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T2435638853"] = "Agenda-Planer"
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T2435638853"] = "Agenda-Assistent"
|
||||||
|
|
||||||
-- When will the meeting, seminar, etc. start? E.g., '9:00 AM', or '9:00 AM (CET)', etc. When the meeting is a multi-day event, specify the start time for each day.
|
-- When will the meeting, seminar, etc. start? E.g., '9:00 AM', or '9:00 AM (CET)', etc. When the meeting is a multi-day event, specify the start time for each day.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T2446959989"] = "Wann beginnt das Meeting, Seminar usw.? Zum Beispiel: „9:00 Uhr“ oder „9:00 Uhr (MEZ)“ usw. Wenn das Meeting eine mehrtägige Veranstaltung ist, geben Sie bitte die Startzeit für jeden Tag an."
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T2446959989"] = "Wann beginnt das Meeting, Seminar usw.? Zum Beispiel: „9:00 Uhr“ oder „9:00 Uhr (MEZ)“ usw. Wenn das Meeting eine mehrtägige Veranstaltung ist, geben Sie bitte die Startzeit für jeden Tag an."
|
||||||
@ -219,6 +216,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4155424204"] =
|
|||||||
-- Please select a target language for the agenda.
|
-- Please select a target language for the agenda.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4163183653"] = "Bitte wählen Sie eine Zielsprache für die Agenda aus."
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4163183653"] = "Bitte wählen Sie eine Zielsprache für die Agenda aus."
|
||||||
|
|
||||||
|
-- This agenda planner helps you create a structured agenda for your meeting or seminar. Just provide some basic information about the event, and the assistant will generate an agenda for you. You can also specify the duration, the start time, the location, the target language, and other details.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4178438053"] = "Dieser Agenda-Assistent hilft Ihnen, eine strukturierte Tagesordnung für Ihr Meeting oder Seminar zu erstellen. Geben Sie einfach einige grundlegende Informationen zur Veranstaltung an, und der Assistent erstellt eine Agenda für Sie. Sie können außerdem die Dauer, die Startzeit, den Ort, die Zielsprache und weitere Details festlegen."
|
||||||
|
|
||||||
-- Yes, participants need to arrive and depart
|
-- Yes, participants need to arrive and depart
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4266648123"] = "Ja, die Teilnehmenden müssen anreisen und abreisen."
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4266648123"] = "Ja, die Teilnehmenden müssen anreisen und abreisen."
|
||||||
|
|
||||||
@ -246,6 +246,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T1317408357"] = "Generieru
|
|||||||
-- Reset
|
-- Reset
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T180921696"] = "Zurücksetzen"
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T180921696"] = "Zurücksetzen"
|
||||||
|
|
||||||
|
-- Please select a provider.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T1809312323"] = "Bitte wählen Sie einen Anbieter aus."
|
||||||
|
|
||||||
-- Assistant - {0}
|
-- Assistant - {0}
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T3043922"] = "Assistent – {0}"
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T3043922"] = "Assistent – {0}"
|
||||||
|
|
||||||
@ -735,6 +738,9 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T3403290862"] = "Der ausge
|
|||||||
-- Select a provider first
|
-- Select a provider first
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T3654197869"] = "Wähle zuerst einen Anbieter aus"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T3654197869"] = "Wähle zuerst einen Anbieter aus"
|
||||||
|
|
||||||
|
-- Start new chat in workspace "{0}"
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T3928697643"] = "Neuen Chat im Arbeitsbereich \"{0}\" starten"
|
||||||
|
|
||||||
-- New disappearing chat
|
-- New disappearing chat
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T4113970938"] = "Neuen selbstlöschenden Chat starten"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T4113970938"] = "Neuen selbstlöschenden Chat starten"
|
||||||
|
|
||||||
@ -747,9 +753,6 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T636393754"] = "Verschiebe
|
|||||||
-- Show your workspaces
|
-- Show your workspaces
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T733672375"] = "Ihre Arbeitsbereiche anzeigen"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T733672375"] = "Ihre Arbeitsbereiche anzeigen"
|
||||||
|
|
||||||
-- Start new chat in workspace "{0}"
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T896906391"] = "Neuen Chat im Arbeitsbereich \"{0}\" starten"
|
|
||||||
|
|
||||||
-- Region
|
-- Region
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CONFIDENCEINFO::T1227782301"] = "Region"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CONFIDENCEINFO::T1227782301"] = "Region"
|
||||||
|
|
||||||
@ -814,7 +817,7 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::DATASOURCESELECTION::T1744745490"] = "KI-
|
|||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::DATASOURCESELECTION::T1975014927"] = "Ja, ich möchte Datenquellen verwenden."
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::DATASOURCESELECTION::T1975014927"] = "Ja, ich möchte Datenquellen verwenden."
|
||||||
|
|
||||||
-- You haven't configured any data sources. To grant the AI access to your data, you need to add such a source. However, if you wish to use data from your device, you first have to set up a so-called embedding. This embedding is necessary so the AI can effectively search your data, find and retrieve the correct information required for each task. In addition to local data, you can also incorporate your company's data. To do so, your company must provide the data through an ERI (External Retrieval Interface).
|
-- You haven't configured any data sources. To grant the AI access to your data, you need to add such a source. However, if you wish to use data from your device, you first have to set up a so-called embedding. This embedding is necessary so the AI can effectively search your data, find and retrieve the correct information required for each task. In addition to local data, you can also incorporate your company's data. To do so, your company must provide the data through an ERI (External Retrieval Interface).
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::DATASOURCESELECTION::T2113594442"] = "Sie haben noch keine Datenquellen konfiguriert. Um der KI Zugriff auf Ihre Daten zu ermöglichen, müssen Sie zunächst eine solche Quelle hinzufügen. Wenn Sie jedoch Daten von Ihrem Gerät verwenden möchten, müssen Sie zuerst ein sogenanntes Embedding einrichten. Dieses Embedding ist notwendig, damit die KI Ihre Daten effektiv durchsuchen, die passenden Informationen finden und für jede Aufgabe bereitstellen kann. Neben lokalen Daten können Sie auch die Daten Ihres Unternehmens einbinden. Dafür muss Ihr Unternehmen die Daten über eine ERI (External Retrieval Interface) bereitstellen."
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::DATASOURCESELECTION::T2113594442"] = "Sie haben noch keine Datenquellen konfiguriert. Um der KI Zugriff auf Ihre Daten zu ermöglichen, müssen Sie zunächst eine solche Quelle hinzufügen. Wenn Sie jedoch Daten von Ihrem Gerät verwenden möchten, müssen Sie zuerst eine sogenannte Einbettung einrichten. Diese Einbettung ist notwendig, damit die KI Ihre Daten effektiv durchsuchen, die passenden Informationen finden und für jede Aufgabe bereitstellen kann. Neben lokalen Daten können Sie auch die Daten Ihres Unternehmens einbinden. Dafür muss Ihr Unternehmen die Daten über eine ERI (External Retrieval Interface) bereitstellen."
|
||||||
|
|
||||||
-- Select the data you want to use here.
|
-- Select the data you want to use here.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::DATASOURCESELECTION::T21181525"] = "Wählen Sie hier die Daten aus, die Sie verwenden möchten."
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::DATASOURCESELECTION::T21181525"] = "Wählen Sie hier die Daten aus, die Sie verwenden möchten."
|
||||||
@ -1062,66 +1065,6 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELAPP::T817101267"]
|
|||||||
-- Would you like to set one provider as the default for the entire app? When you configure a different provider for an assistant, it will always take precedence.
|
-- Would you like to set one provider as the default for the entire app? When you configure a different provider for an assistant, it will always take precedence.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELAPP::T844514734"] = "Möchten Sie einen Anbieter als Standard für die gesamte App festlegen? Wenn Sie einen anderen Anbieter für einen Assistenten konfigurieren, hat dieser immer Vorrang."
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELAPP::T844514734"] = "Möchten Sie einen Anbieter als Standard für die gesamte App festlegen? Wenn Sie einen anderen Anbieter für einen Assistenten konfigurieren, hat dieser immer Vorrang."
|
||||||
|
|
||||||
-- Control how the LLM provider for loaded chats is selected and when assistant results are sent to chat.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T172255919"] = "Legen Sie fest, wie der LLM-Anbieter für geladene Chats ausgewählt wird und wann Assistenten-Ergebnisse an den Chat gesendet werden."
|
|
||||||
|
|
||||||
-- Chat Options
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T1757092713"] = "Chat-Optionen"
|
|
||||||
|
|
||||||
-- Shortcut to send input
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T1773585398"] = "Tastenkombination zum Senden der Eingabe"
|
|
||||||
|
|
||||||
-- Provider selection when creating new chats
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T189306836"] = "Anbieterauswahl beim Erstellen neuer Chats"
|
|
||||||
|
|
||||||
-- Would you like to set one of your profiles as the default for chats?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T1933521846"] = "Möchten Sie eines Ihrer Profile als Standardprofil für Chats festlegen?"
|
|
||||||
|
|
||||||
-- Apply default data source option when sending assistant results to chat
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T2510376349"] = "Standarddatenquelle verwenden, wenn Assistentenergebnisse in den Chat gesendet werden"
|
|
||||||
|
|
||||||
-- Control how the LLM provider for added chats is selected.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T263621180"] = "Steuern Sie, wie der LLM-Anbieter für hinzugefügte Chats ausgewählt wird."
|
|
||||||
|
|
||||||
-- Provider selection when loading a chat and sending assistant results to chat
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T2868379953"] = "Anbieterauswahl beim Laden eines Chats und beim Senden von Assistentenergebnissen in den Chat"
|
|
||||||
|
|
||||||
-- Show the latest message after loading?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T2913693228"] = "Die neueste Nachricht nach dem Laden anzeigen?"
|
|
||||||
|
|
||||||
-- Do you want to use any shortcut to send your input?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T2936560092"] = "Möchten Sie eine Tastenkombination verwenden, um Ihre Eingabe zu senden?"
|
|
||||||
|
|
||||||
-- No chat options are preselected
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T3383186996"] = "Keine Chat-Optionen sind vorausgewählt"
|
|
||||||
|
|
||||||
-- First (oldest) message is shown, after loading a chat
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T3507181366"] = "Die erste (älteste) Nachricht wird nach dem Laden eines Chats angezeigt."
|
|
||||||
|
|
||||||
-- Preselect chat options?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T3728624759"] = "Chat-Optionen vorauswählen?"
|
|
||||||
|
|
||||||
-- Chat options are preselected
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T3730599555"] = "Chat-Optionen sind vorausgewählt"
|
|
||||||
|
|
||||||
-- Latest message is shown, after loading a chat
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T3755993611"] = "Die neueste Nachricht wird nach dem Laden eines Chats angezeigt."
|
|
||||||
|
|
||||||
-- Preselect one of your profiles?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T4004501229"] = "Eines Ihrer Profile vorauswählen?"
|
|
||||||
|
|
||||||
-- Do you want to apply the default data source options when sending assistant results to chat?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T4033153439"] = "Möchten Sie die Standardoptionen für Datenquellen verwenden, wenn die Ergebnisse des Assistenten an den Chat gesendet werden?"
|
|
||||||
|
|
||||||
-- When enabled, you can preselect chat options. This is might be useful when you prefer a specific provider.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T477675197"] = "Wenn aktiviert, können Sie Chat-Optionen im Voraus auswählen. Das kann nützlich sein, wenn Sie einen bestimmten Anbieter bevorzugen."
|
|
||||||
|
|
||||||
-- You can set default data sources and options for new chats. You can change these settings later for each individual chat.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T492357592"] = "Sie können Standarddatenquellen und -optionen für neue Chats festlegen. Diese Einstellungen lassen sich später für jeden einzelnen Chat anpassen."
|
|
||||||
|
|
||||||
-- When enabled, the latest message is shown after loading a chat. When disabled, the first (oldest) message is shown.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T582516016"] = "Wenn diese Option aktiviert ist, wird nach dem Laden eines Chats die neueste Nachricht angezeigt. Wenn sie deaktiviert ist, wird die erste (älteste) Nachricht angezeigt."
|
|
||||||
|
|
||||||
-- Delete
|
-- Delete
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELEMBEDDINGS::T1469573738"] = "Löschen"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELEMBEDDINGS::T1469573738"] = "Löschen"
|
||||||
|
|
||||||
@ -1314,8 +1257,8 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELPROVIDERS::T853225
|
|||||||
-- Provider
|
-- Provider
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELPROVIDERS::T900237532"] = "Anbieter"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELPROVIDERS::T900237532"] = "Anbieter"
|
||||||
|
|
||||||
-- If and when should we delete your temporary chats?
|
-- If and when should we delete your disappearing chats?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELWORKSPACES::T1014418451"] = "Sollen Ihre temporären Chats gelöscht werden, und wenn ja, wann?"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELWORKSPACES::T1014418451"] = "Sollen Ihre selbstlöschenden Chats gelöscht werden, und wenn ja, wann?"
|
||||||
|
|
||||||
-- Workspace display behavior
|
-- Workspace display behavior
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELWORKSPACES::T2151409362"] = "Verhalten der Arbeitsbereichsanzeige"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELWORKSPACES::T2151409362"] = "Verhalten der Arbeitsbereichsanzeige"
|
||||||
@ -1458,8 +1401,8 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T2244038752"] = "Chat lösche
|
|||||||
-- Move to workspace
|
-- Move to workspace
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T2509305748"] = "In einen Arbeitsbereich verschieben"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T2509305748"] = "In einen Arbeitsbereich verschieben"
|
||||||
|
|
||||||
-- Are you sure you want to delete the temporary chat '{0}'?
|
-- Are you sure you want to delete the chat '{0}'?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T3043761007"] = "Sind Sie sicher, dass Sie den temporären Chat „{0}“ löschen möchten?"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T3043761007"] = "Sind Sie sicher, dass Sie den Chat „{0}“ löschen möchten?"
|
||||||
|
|
||||||
-- Move Chat to Workspace
|
-- Move Chat to Workspace
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T3045856778"] = "Chat in den Arbeitsbereich verschieben"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T3045856778"] = "Chat in den Arbeitsbereich verschieben"
|
||||||
@ -1500,6 +1443,441 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::CONFIRMDIALOG::T1642511898"] = "Nein"
|
|||||||
-- Yes
|
-- Yes
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::CONFIRMDIALOG::T3013883440"] = "Ja"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::CONFIRMDIALOG::T3013883440"] = "Ja"
|
||||||
|
|
||||||
|
-- Update
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T1847791252"] = "Aktualisieren"
|
||||||
|
|
||||||
|
-- Failed to connect to the ERI v1 server. The message was: {0}
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2150703468"] = "Verbindung zum ERI v1-Server fehlgeschlagen. Die Meldung war: {0}"
|
||||||
|
|
||||||
|
-- Add
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2646845972"] = "Hinzufügen"
|
||||||
|
|
||||||
|
-- Failed to store the auth. secret in the operating system. The message was: {0}. Please try again.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2772567701"] = "Das Authentifizierungsgeheimnis konnte nicht im Betriebssystem gespeichert werden. Die Meldung war: {0}. Bitte versuchen Sie es erneut."
|
||||||
|
|
||||||
|
-- Connection successful.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T279774933"] = "Verbindung erfolgreich."
|
||||||
|
|
||||||
|
-- Access Token
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2891154022"] = "Zugangstoken"
|
||||||
|
|
||||||
|
-- Secret
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2895110961"] = "Geheimnis"
|
||||||
|
|
||||||
|
-- Select one retrieval process
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2916077548"] = "Wählen Sie einen Abrufprozess aus"
|
||||||
|
|
||||||
|
-- Please note: the connection to the ERI v1 server is not encrypted. This means that all data sent to the server is transmitted in plain text. Please ask the ERI server administrator to enable encryption.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T299279954"] = "Bitte beachten Sie: Die Verbindung zum ERI v1-Server ist nicht verschlüsselt. Das bedeutet, dass alle an den Server gesendeten Daten im Klartext übertragen werden. Bitte wenden Sie sich an den Administrator des ERI-Servers und bitten Sie ihn, die Verschlüsselung zu aktivieren."
|
||||||
|
|
||||||
|
-- ERI v1 Server Hostname
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T3494933602"] = "ERI v1 Server-Hostname"
|
||||||
|
|
||||||
|
-- Port
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T3804576966"] = "Port"
|
||||||
|
|
||||||
|
-- Connection failed.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T3820825672"] = "Verbindung fehlgeschlagen."
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T4081226330"] = "Ihre Sicherheitsrichtlinie"
|
||||||
|
|
||||||
|
-- Not tested yet.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T417002657"] = "Noch nicht getestet."
|
||||||
|
|
||||||
|
-- Failed to connect to the ERI v1 server. The server is not supported.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T449168182"] = "Verbindung zum ERI v1-Server fehlgeschlagen. Der Server wird nicht unterstützt."
|
||||||
|
|
||||||
|
-- Username
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T470340825"] = "Benutzername"
|
||||||
|
|
||||||
|
-- Password
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T750979128"] = "Passwort"
|
||||||
|
|
||||||
|
-- Data Source Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T813773421"] = "Name der Datenquelle"
|
||||||
|
|
||||||
|
-- Cancel
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T900713019"] = "Abbrechen"
|
||||||
|
|
||||||
|
-- Test connection & read available metadata
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T988671749"] = "Verbindung testen & verfügbare Metadaten auslesen"
|
||||||
|
|
||||||
|
-- the ERI server port
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T103013936"] = "den ERI-Server-Port"
|
||||||
|
|
||||||
|
-- Unnamed retrieval process
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1038776502"] = "Unbenannter Abrufprozess"
|
||||||
|
|
||||||
|
-- the retrieval parameters
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1497074068"] = "die Abrufparameter"
|
||||||
|
|
||||||
|
-- [{0}] Unnamed retrieval process
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1501892586"] = "[{0}] Unbenannter Abrufprozess"
|
||||||
|
|
||||||
|
-- the embedding type
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T16293243"] = "den Einbettungstyp"
|
||||||
|
|
||||||
|
-- the embedding description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1657824119"] = "die Einbettungsbeschreibung"
|
||||||
|
|
||||||
|
-- Data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T171124909"] = "Name der Datenquelle"
|
||||||
|
|
||||||
|
-- Description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1725856265"] = "Beschreibung"
|
||||||
|
|
||||||
|
-- the retrieval description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1752127658"] = "die Abruf-Beschreibung"
|
||||||
|
|
||||||
|
-- Security requirements of the data provider
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1891090932"] = "Sicherheitsanforderungen des Datenanbieters"
|
||||||
|
|
||||||
|
-- Parameter:
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1917353274"] = "Parameter:"
|
||||||
|
|
||||||
|
-- the server description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1966565081"] = "Die Serverbeschreibung"
|
||||||
|
|
||||||
|
-- Failed to connect to the ERI v1 server. The message was: {0}
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2150703468"] = "Verbindung zum ERI v1-Server fehlgeschlagen. Die Meldung war: {0}"
|
||||||
|
|
||||||
|
-- ERI server hostname
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T215899701"] = "ERI-Server-Hostname"
|
||||||
|
|
||||||
|
-- Server description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2562330120"] = "Serverbeschreibung"
|
||||||
|
|
||||||
|
-- the data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2717738728"] = "den Namen der Datenquelle"
|
||||||
|
|
||||||
|
-- the ERI server hostname
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2753279450"] = "den Hostnamen des ERI-Servers"
|
||||||
|
|
||||||
|
-- This retrieval process has no parameters.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2863339893"] = "Dieser Abrufprozess hat keine Parameter."
|
||||||
|
|
||||||
|
-- your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2879113658"] = "Ihre Sicherheitsrichtlinie"
|
||||||
|
|
||||||
|
-- Open web link, show more information
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2968752071"] = "Weblink öffnen & mehr Informationen anzeigen"
|
||||||
|
|
||||||
|
-- the username
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2991677780"] = "den Benutzernamen"
|
||||||
|
|
||||||
|
-- Please note: the connection to the ERI v1 server is not encrypted. This means that all data sent to the server is transmitted in plain text. Please ask the ERI server administrator to enable encryption.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T299279954"] = "Bitte beachten Sie: Die Verbindung zum ERI v1-Server ist nicht verschlüsselt. Das bedeutet, dass alle an den Server gesendeten Daten im Klartext übertragen werden. Bitten Sie den Administrator des ERI-Servers, die Verschlüsselung zu aktivieren."
|
||||||
|
|
||||||
|
-- The data source does not provide any retrieval information.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T306340560"] = "Die Datenquelle stellt keine Abrufinformationen bereit."
|
||||||
|
|
||||||
|
-- Common data source information
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T3206517471"] = "Allgemeine Informationen zur Datenquelle"
|
||||||
|
|
||||||
|
-- when is the embedding used
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T3259327370"] = "Wann wird diese Einbettung verwendet?"
|
||||||
|
|
||||||
|
-- The data source does not provide any embedding information.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T3425007227"] = "Die Datenquelle stellt keine Einbettungsinformationen zur Verfügung."
|
||||||
|
|
||||||
|
-- Close
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T3448155331"] = "Schließen"
|
||||||
|
|
||||||
|
-- ERI server port
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T3843835535"] = "ERI-Server-Port"
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T4081226330"] = "Ihre Sicherheitsrichtlinie"
|
||||||
|
|
||||||
|
-- Reload
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T440640172"] = "Neu laden"
|
||||||
|
|
||||||
|
-- Failed to connect to the ERI v1 server. The server is not supported.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T449168182"] = "Verbindung zum ERI v1-Server fehlgeschlagen. Der Server wird nicht unterstützt."
|
||||||
|
|
||||||
|
-- Username
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T470340825"] = "Benutzername"
|
||||||
|
|
||||||
|
-- the security requirements of the data provider
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T503852885"] = "Die Sicherheitsanforderungen des Datenanbieters"
|
||||||
|
|
||||||
|
-- When to use
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T629595477"] = "Wann verwenden"
|
||||||
|
|
||||||
|
-- Retrieval information
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T742006305"] = "Abrufinformationen"
|
||||||
|
|
||||||
|
-- Embeddings
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T951463987"] = "Einbettungen"
|
||||||
|
|
||||||
|
-- Select a root directory for this data source. All data in this directory and all its subdirectories will be processed for this data source.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T1265737624"] = "Wählen Sie ein Stammverzeichnis für diese Datenquelle aus. Alle Daten in diesem Verzeichnis und in allen Unterverzeichnissen werden für diese Datenquelle verarbeitet."
|
||||||
|
|
||||||
|
-- Selected base directory for this data source
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T1312296210"] = "Ausgewähltes Stammverzeichnis für diese Datenquelle"
|
||||||
|
|
||||||
|
-- Update
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T1847791252"] = "Aktualisieren"
|
||||||
|
|
||||||
|
-- Please note: the embedding you selected runs in the cloud. All your data will be sent to the cloud. Please confirm that you have read and understood this.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T1922618794"] = "Bitte beachten Sie: Die von Ihnen ausgewählte Einbettung läuft in der Cloud. Alle Ihre Daten werden in die Cloud gesendet. Bitte bestätigen Sie, dass Sie dies gelesen und verstanden haben."
|
||||||
|
|
||||||
|
-- In order for the AI to be able to determine the appropriate data at any time, you must choose an embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T1948697886"] = "Damit die KI jederzeit die passenden Daten ermitteln kann, müssen Sie eine Einbettungsmethode auswählen."
|
||||||
|
|
||||||
|
-- Please note: the embedding you selected runs in the cloud. All your data from the folder '{0}' and all its subdirectories will be sent to the cloud. Please confirm that you have read and understood this.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T2403121734"] = "Bitte beachten Sie: Die von Ihnen ausgewählte Einbettung wird in der Cloud ausgeführt. Alle Ihre Daten aus dem Ordner „{0}“ sowie aus allen Unterordnern werden in die Cloud gesendet. Bitte bestätigen Sie, dass Sie dies gelesen und verstanden haben."
|
||||||
|
|
||||||
|
-- Add
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T2646845972"] = "Hinzufügen"
|
||||||
|
|
||||||
|
-- The embedding you selected runs locally or in your organization. Your data is not sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T2814869210"] = "Die von Ihnen ausgewählte Einbettung läuft lokal oder innerhalb Ihrer Organisation. Ihre Daten werden nicht in die Cloud übertragen."
|
||||||
|
|
||||||
|
-- Embedding
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T2838542994"] = "Einbettung"
|
||||||
|
|
||||||
|
-- Yes, please send my data to the cloud
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T3572613009"] = "Ja, bitte senden Sie meine Daten in die Cloud"
|
||||||
|
|
||||||
|
-- I confirm that I have read and understood the above
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T3683380716"] = "Ich bestätige, dass ich das oben Genannte gelesen und verstanden habe"
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T4081226330"] = "Ihre Sicherheitsrichtlinie"
|
||||||
|
|
||||||
|
-- No, I will chose another embedding
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T4253147533"] = "Nein, ich wähle eine andere Einbettung aus"
|
||||||
|
|
||||||
|
-- Select the base directory
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T562479068"] = "Wählen Sie das Stammverzeichnis aus"
|
||||||
|
|
||||||
|
-- Data Source Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T813773421"] = "Name der Datenquelle"
|
||||||
|
|
||||||
|
-- Cancel
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T900713019"] = "Abbrechen"
|
||||||
|
|
||||||
|
-- the total directory size
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T1082241458"] = "die Gesamtgröße des Verzeichnisses"
|
||||||
|
|
||||||
|
-- Total directory size
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T1101400963"] = "Gesamte Verzeichnisgröße"
|
||||||
|
|
||||||
|
-- Data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T171124909"] = "Name der Datenquellen"
|
||||||
|
|
||||||
|
-- the number of files in the directory
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T1795263412"] = "die Anzahl der Dateien im Verzeichnis"
|
||||||
|
|
||||||
|
-- The embedding runs locally or in your organization. Your data is not sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T1950544032"] = "Die Einbettung läuft lokal oder in Ihrer Organisation. Ihre Daten werden nicht in die Cloud gesendet."
|
||||||
|
|
||||||
|
-- the files list
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2072700997"] = "Die Dateiliste"
|
||||||
|
|
||||||
|
-- the data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2717738728"] = "den Namen der Datenquelle"
|
||||||
|
|
||||||
|
-- The directory chosen for the data source does not exist anymore. Please edit the data source and correct the path.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2875614207"] = "Das für die Datenquelle gewählte Verzeichnis existiert nicht mehr. Bitte bearbeiten Sie die Datenquelle und korrigieren Sie den Pfad."
|
||||||
|
|
||||||
|
-- your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2879113658"] = "Ihre Sicherheitsrichtlinie"
|
||||||
|
|
||||||
|
-- the embedding name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2937209992"] = "den Namen der Einbettung"
|
||||||
|
|
||||||
|
-- this path
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2944855252"] = "diesen Pfad"
|
||||||
|
|
||||||
|
-- Embedding name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T3153201045"] = "Name der Einbettung"
|
||||||
|
|
||||||
|
-- Files list
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T3238813368"] = "Dateiliste"
|
||||||
|
|
||||||
|
-- Close
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T3448155331"] = "Schließen"
|
||||||
|
|
||||||
|
-- For performance reasons, only the first 100 files are shown. The directory contains {0} files in total.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T360238400"] = "Aus Leistungsgründen werden nur die ersten 100 Dateien angezeigt. Das Verzeichnis enthält insgesamt {0} Dateien."
|
||||||
|
|
||||||
|
-- Path
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T3949388886"] = "Pfad"
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T4081226330"] = "Ihre Sicherheitsrichtlinie"
|
||||||
|
|
||||||
|
-- Number of files
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T417749210"] = "Anzahl der Dateien"
|
||||||
|
|
||||||
|
-- The embedding runs in the cloud. All your data from the folder '{0}' and all its subdirectories will be sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T443873444"] = "Das Einbetten erfolgt in der Cloud. Alle Ihre Daten aus dem Ordner '{0}' und allen seinen Unterordnern werden in die Cloud gesendet."
|
||||||
|
|
||||||
|
-- The directory chosen for the data source exists.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T445858624"] = "Das ausgewählte Verzeichnis für die Datenquelle ist vorhanden."
|
||||||
|
|
||||||
|
-- Select a file for this data source. The content of this file will be processed for the data source.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T1190880267"] = "Wählen Sie eine Datei für diese Datenquelle aus. Der Inhalt dieser Datei wird für die Datenquelle verarbeitet."
|
||||||
|
|
||||||
|
-- Update
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T1847791252"] = "Aktualisieren"
|
||||||
|
|
||||||
|
-- Please note: the embedding you selected runs in the cloud. All your data will be sent to the cloud. Please confirm that you have read and understood this.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T1922618794"] = "Bitte beachten Sie: Die von Ihnen ausgewählte Einbettung läuft in der Cloud. Alle Ihre Daten werden in die Cloud gesendet. Bitte bestätigen Sie, dass Sie dies gelesen und verstanden haben."
|
||||||
|
|
||||||
|
-- In order for the AI to be able to determine the appropriate data at any time, you must choose an embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T1948697886"] = "Damit die KI jederzeit die passenden Daten ermitteln kann, müssen Sie eine Methode für die Einbettung auswählen."
|
||||||
|
|
||||||
|
-- Please note: the embedding you selected runs in the cloud. All your data within the file '{0}' will be sent to the cloud. Please confirm that you have read and understood this.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T2090178026"] = "Bitte beachten Sie: Die von Ihnen ausgewählte Einbettung läuft in der Cloud. Alle Ihre Daten aus der Datei „{0}“ werden in die Cloud übertragen. Bitte bestätigen Sie, dass Sie dies gelesen und verstanden haben."
|
||||||
|
|
||||||
|
-- Add
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T2646845972"] = "Hinzufügen"
|
||||||
|
|
||||||
|
-- The embedding you selected runs locally or in your organization. Your data is not sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T2814869210"] = "Die von Ihnen ausgewählte Einbettung läuft lokal oder innerhalb Ihrer Organisation. Ihre Daten werden nicht in die Cloud gesendet."
|
||||||
|
|
||||||
|
-- Embedding
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T2838542994"] = "Einbettung"
|
||||||
|
|
||||||
|
-- Yes, please send my data to the cloud
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T3572613009"] = "Ja, bitte senden Sie meine Daten in die Cloud."
|
||||||
|
|
||||||
|
-- I confirm that I have read and understood the above
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T3683380716"] = "Ich bestätige, dass ich das oben Genannte gelesen und verstanden habe."
|
||||||
|
|
||||||
|
-- Select the file
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T3740148848"] = "Datei auswählen"
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T4081226330"] = "Ihre Sicherheitsrichtlinie"
|
||||||
|
|
||||||
|
-- No, I will chose another embedding
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T4253147533"] = "Nein, ich wähle eine andere Einbettung aus."
|
||||||
|
|
||||||
|
-- Data Source Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T813773421"] = "Name der Datenquelle"
|
||||||
|
|
||||||
|
-- Cancel
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T900713019"] = "Abbrechen"
|
||||||
|
|
||||||
|
-- Selected file path for this data source
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T939749563"] = "Ausgewählter Dateipfad für diese Datenquelle"
|
||||||
|
|
||||||
|
-- The file chosen for the data source exists.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T1294177559"] = "Die für die Datenquelle ausgewählte Datei ist vorhanden."
|
||||||
|
|
||||||
|
-- Data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T171124909"] = "Name der Datenquelle"
|
||||||
|
|
||||||
|
-- The embedding runs locally or in your organization. Your data is not sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T1950544032"] = "Die Einbettung erfolgt lokal oder in Ihrem Unternehmen. Ihre Daten werden nicht in die Cloud gesendet."
|
||||||
|
|
||||||
|
-- The file chosen for the data source does not exist anymore. Please edit the data source and choose another file or correct the path.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2235729121"] = "Die für die Datenquelle ausgewählte Datei existiert nicht mehr. Bitte bearbeiten Sie die Datenquelle und wählen Sie eine andere Datei aus oder korrigieren Sie den Pfad."
|
||||||
|
|
||||||
|
-- the data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2717738728"] = "den Namen der Datenquelle"
|
||||||
|
|
||||||
|
-- the file size
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2837935239"] = "die Dateigröße"
|
||||||
|
|
||||||
|
-- your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2879113658"] = "Ihre Sicherheitsrichtlinie"
|
||||||
|
|
||||||
|
-- File path
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2879895266"] = "Dateipfad"
|
||||||
|
|
||||||
|
-- the embedding name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2937209992"] = "den Namen der Einbettung"
|
||||||
|
|
||||||
|
-- this path
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2944855252"] = "diesen Pfad"
|
||||||
|
|
||||||
|
-- Embedding name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T3153201045"] = "Name der Einbettung"
|
||||||
|
|
||||||
|
-- Close
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T3448155331"] = "Schließen"
|
||||||
|
|
||||||
|
-- File size
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T3650018664"] = "Dateigröße"
|
||||||
|
|
||||||
|
-- The embedding runs in the cloud. All your data within the file '{0}' will be sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T3688254408"] = "Das Einbetten erfolgt in der Cloud. Alle Ihre Daten in der Datei „{0}“ werden in die Cloud gesendet."
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T4081226330"] = "Ihre Sicherheitsrichtlinie"
|
||||||
|
|
||||||
|
-- Embedding Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T1427271797"] = "Name der Einbettung"
|
||||||
|
|
||||||
|
-- Embedding Description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T1625164424"] = "Beschreibung der Einbettung"
|
||||||
|
|
||||||
|
-- Update
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T1847791252"] = "Aktualisieren"
|
||||||
|
|
||||||
|
-- Please describe when the embedding is used. Might be anytime or when certain keywords are present, etc.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T2346653528"] = "Bitte beschreiben Sie, wann die Einbettung verwendet wird. Zum Beispiel jederzeit oder nur, wenn bestimmte Schlüsselwörter vorhanden sind, usw."
|
||||||
|
|
||||||
|
-- Add
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T2646845972"] = "Hinzufügen"
|
||||||
|
|
||||||
|
-- Embedding Type
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T2764429350"] = "Typ der Einbettung"
|
||||||
|
|
||||||
|
-- Embedding Link
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T290945550"] = "Link zur Einbettung"
|
||||||
|
|
||||||
|
-- Used when
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3229398952"] = "Verwenden, wenn"
|
||||||
|
|
||||||
|
-- The embedding type must not be longer than 56 characters.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T32602319"] = "Der Typ der Einbettung darf nicht länger als 56 Zeichen sein."
|
||||||
|
|
||||||
|
-- The name of the embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3415350123"] = "Die Bezeichnung der Methode zur Einbettung."
|
||||||
|
|
||||||
|
-- A short description of the embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3588690510"] = "Eine kurze Beschreibung der Methode zur Einbettung."
|
||||||
|
|
||||||
|
-- The embedding name must not be longer than 26 characters.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T359150945"] = "Die Bezeichnung der Einbettung darf nicht länger als 26 Zeichen sein."
|
||||||
|
|
||||||
|
-- The embedding method name '{0}' is already used. Please choose a unique name.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3601888052"] = "Die Bezeichnung der Methode zur Einbettung '{0}' wird bereits verwendet. Bitte wähle einen eindeutigen Namen."
|
||||||
|
|
||||||
|
-- When is this embedding used? When you define multiple embeddings, it is helpful to know when to use which one.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3779802582"] = "Wann wird diese Einbettung verwendet? Wenn Sie mehrere Einbettungen definiert haben, ist es hilfreich zu wissen, wann welche verwendet wird."
|
||||||
|
|
||||||
|
-- See Wikipedia for more information about word embeddings
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3806477732"] = "Weitere Informationen zu Wort-Einbettung finden Sie auf Wikipedia"
|
||||||
|
|
||||||
|
-- The embedding type must not be empty. Please specify the embedding type.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3902812924"] = "Der Typ der Einbettung darf nicht leer sein. Bitte geben Sie den Typ an."
|
||||||
|
|
||||||
|
-- See Wikipedia for more information about knowledge graph embeddings
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3928412408"] = "Siehe Wikipedia für weitere Informationen über Wissensgraph-Einbettungen"
|
||||||
|
|
||||||
|
-- The embedding name must not be empty. Please name the embedding.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T4242514061"] = "Der Name der Einbettung darf nicht leer sein. Bitte geben Sie der Einbettung einen Namen."
|
||||||
|
|
||||||
|
-- What kind of embedding is used. For example, Transformer Embedding, Contextual Word Embedding, Graph Embedding, etc.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T4263395074"] = "Welche Art von Einbettung wird verwendet? Zum Beispiel Transformer-Einbettung, kontextbezogene Wort-Einbettung, Graph-Einbettung usw."
|
||||||
|
|
||||||
|
-- The description must not be empty. Please describe the embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T4268946588"] = "Die Beschreibung darf nicht leer sein. Bitte beschreiben Sie die Methode der Einbettung."
|
||||||
|
|
||||||
|
-- A link to the embedding, e.g., to the model, the source code, the paper, it's Wikipedia page, etc.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T662524223"] = "Ein Link zur Einbettung, z. B. zum Modell, dem Quellcode, der wissenschaftlichen Veröffentlichung, der Wikipedia-Seite usw."
|
||||||
|
|
||||||
|
-- Cancel
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T900713019"] = "Abbrechen"
|
||||||
|
|
||||||
-- Failed to store the API key in the operating system. The message was: {0}. Please try again.
|
-- Failed to store the API key in the operating system. The message was: {0}. Please try again.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGPROVIDERDIALOG::T1122745046"] = "Der API-Schlüssel konnte nicht im Betriebssystem gespeichert werden. Die Meldung war: {0}. Bitte versuchen Sie es erneut."
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGPROVIDERDIALOG::T1122745046"] = "Der API-Schlüssel konnte nicht im Betriebssystem gespeichert werden. Die Meldung war: {0}. Bitte versuchen Sie es erneut."
|
||||||
|
|
||||||
@ -1662,6 +2040,120 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROVIDERDIALOG::T900237532"] = "Anbieter"
|
|||||||
-- Cancel
|
-- Cancel
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROVIDERDIALOG::T900713019"] = "Abbrechen"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROVIDERDIALOG::T900713019"] = "Abbrechen"
|
||||||
|
|
||||||
|
-- The parameter name. It must be unique within the retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T100726215"] = "Der Parametername. Er muss innerhalb des Abrufprozesses eindeutig sein."
|
||||||
|
|
||||||
|
-- New Parameter {0}
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1064532992"] = "Neuer Parameter {0}"
|
||||||
|
|
||||||
|
-- Add Parameter
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1082847843"] = "Parameter hinzufügen"
|
||||||
|
|
||||||
|
-- Parameter Description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1093935834"] = "Parameterbeschreibung"
|
||||||
|
|
||||||
|
-- The retrieval process name must not be empty. Please name your retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1133451355"] = "Der Name des Abrufprozesses darf nicht leer sein. Bitte benennen Sie Ihren Abrufvorgang."
|
||||||
|
|
||||||
|
-- The parameter name must not be empty. Please name the parameter.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1359500913"] = "Der Parametername darf nicht leer sein. Bitte geben Sie einen Namen für den Parameter ein."
|
||||||
|
|
||||||
|
-- A short description of the parameter. What data type is it? What is it used for? What are the possible values?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1519220950"] = "Eine kurze Beschreibung des Parameters. Welcher Datentyp ist es? Wofür wird er verwendet? Welche Werte sind möglich?"
|
||||||
|
|
||||||
|
-- Update
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1847791252"] = "Aktualisieren"
|
||||||
|
|
||||||
|
-- Optional. Select the embedding methods that are used for this retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1869391009"] = "Optional. Wählen Sie die Methoden zur Einbettung aus, die für diesen Abrufprozess verwendet werden."
|
||||||
|
|
||||||
|
-- Retrieval Process Link
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1936369410"] = "Link zum Abrufprozess"
|
||||||
|
|
||||||
|
-- Here you can select which embedding methods are used for this retrieval process. Embeddings are optional; if your retrieval process works without embedding, you can ignore this part. You can only choose the embedding methods you have previously defined.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2076115062"] = "Hier können Sie auswählen, welche Methoden zur Einbettung für diesen Abrufprozess verwendet werden. Einbettungen sind optional; wenn Ihr Abrufprozess ohne Einbettung funktioniert, können Sie diesen Abschnitt ignorieren. Sie können nur die Methoden zur Einbettung auswählen, die Sie zuvor definiert haben."
|
||||||
|
|
||||||
|
-- The parameter description must not be empty. Please describe the parameter '{0}'. What data type is it? What is it used for? What are the possible values?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2139013415"] = "Die Parameterbeschreibung darf nicht leer sein. Bitte beschreiben Sie den Parameter „{0}“. Welchen Datentyp hat er? Wofür wird er verwendet? Welche Werte sind möglich?"
|
||||||
|
|
||||||
|
-- A link to the retrieval process, e.g., the source code, the paper, it's Wikipedia page, etc. Make sense for common retrieval processes. Leave empty if not applicable.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2352603560"] = "Ein Link zum Abrufprozess, z. B. zum Quellcode, zur wissenschaftlichen Veröffentlichung, zur Wikipedia-Seite usw. Dies ist sinnvoll für gängige Abrufprozesse. Lassen Sie dieses Feld leer, falls dies nicht zutreffend ist."
|
||||||
|
|
||||||
|
-- No embedding methods selected.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2508820480"] = "Keine Methoden zur Einbettung ausgewählt."
|
||||||
|
|
||||||
|
-- Add a parameter first, then select it to edit.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2534894635"] = "Fügen Sie zuerst einen Parameter hinzu und wählen Sie ihn anschließend aus, um ihn zu bearbeiten."
|
||||||
|
|
||||||
|
-- Add
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2646845972"] = "Hinzufügen"
|
||||||
|
|
||||||
|
-- You have selected {0} embedding methods.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2933579640"] = "Sie haben {0} Methoden zur Einbettung ausgewählt."
|
||||||
|
|
||||||
|
-- Please provide some general information about your retrieval process first. This data may be displayed to the users.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3015844908"] = "Bitte geben Sie zunächst einige allgemeine Informationen über Ihren Abrufprozess an. Diese Angaben können den Nutzern angezeigt werden."
|
||||||
|
|
||||||
|
-- The name of your retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3207262684"] = "Der Name Ihres Abrufprozesses."
|
||||||
|
|
||||||
|
-- You may want to parameterize your retrieval process. However, this is optional. You can specify any parameters that can be set by the user or the system during the call. Nevertheless, you should use sensible default values in your code so that users are not forced to set the parameters manually.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3292152705"] = "Möglicherweise möchten Sie Ihren Abrufprozess parameterisieren. Dies ist jedoch optional. Sie können beliebige Parameter angeben, die vom Benutzer oder vom System während des Aufrufs festgelegt werden können. Dennoch sollten Sie sinnvolle Standardwerte in Ihrem Code verwenden, damit Benutzer die Parameter nicht manuell einstellen müssen."
|
||||||
|
|
||||||
|
-- Select a parameter to show and edit it.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3300669027"] = "Wählen Sie einen Parameter aus, um ihn anzuzeigen und zu bearbeiten."
|
||||||
|
|
||||||
|
-- The parameter name '{0}' must be unique. Please choose a different name.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3378166475"] = "Der Parametername „{0}“ muss eindeutig sein. Bitte wählen Sie einen anderen Namen."
|
||||||
|
|
||||||
|
-- The retrieval process name '{0}' must be unique. Please choose a different name.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3387731069"] = "Der Name des Abrufvorgangs „{0}“ muss eindeutig sein. Bitte wähle einen anderen Namen."
|
||||||
|
|
||||||
|
-- Delete this parameter
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3464622501"] = "Diesen Parameter löschen"
|
||||||
|
|
||||||
|
-- Retrieval Process Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3481092305"] = "Name des Abrufprozesses"
|
||||||
|
|
||||||
|
-- A short description of the retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3524519535"] = "Eine kurze Beschreibung des Abrufprozesses."
|
||||||
|
|
||||||
|
-- Currently, you have not defined any embedding methods. If your retrieval process does not require embedding, you can ignore this part. Otherwise, you can define one or more embedding methods in the previous view to assign them to your retrieval process here.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3821108204"] = "Derzeit haben Sie keine Methoden zur Einbettung definiert. Falls Ihr Abrufprozess keine Einbettungen benötigt, können Sie diesen Abschnitt ignorieren. Andernfalls können Sie im vorherigen Bereich eine oder mehrere Methoden zur Einbettung festlegen, die Sie hier Ihrem Abrufprozess zuweisen können."
|
||||||
|
|
||||||
|
-- Retrieval Process Parameters
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3894388618"] = "Parameter für den Abrufprozess"
|
||||||
|
|
||||||
|
-- The description must not be empty. Please describe the retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T40530321"] = "Die Beschreibung darf nicht leer sein. Bitte beschreiben Sie den Abrufprozess."
|
||||||
|
|
||||||
|
-- Embeddings methods
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T4119328701"] = "Methoden zur Einbettung"
|
||||||
|
|
||||||
|
-- General Information
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T4286878385"] = "Allgemeine Informationen"
|
||||||
|
|
||||||
|
-- Retrieval Process Description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T546772364"] = "Beschreibung des Abrufprozesses"
|
||||||
|
|
||||||
|
-- You have selected 1 embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T673052164"] = "Sie haben 1 Methode zur Einbettung ausgewählt."
|
||||||
|
|
||||||
|
-- The retrieval process name must not be longer than 26 characters.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T769031589"] = "Der Name des Abrufprozesses darf nicht länger als 26 Zeichen sein."
|
||||||
|
|
||||||
|
-- Parameter Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T873729811"] = "Parametername"
|
||||||
|
|
||||||
|
-- The parameter name must not be longer than 26 characters.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T898422027"] = "Der Parametername darf nicht länger als 26 Zeichen sein."
|
||||||
|
|
||||||
|
-- Cancel
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T900713019"] = "Abbrechen"
|
||||||
|
|
||||||
|
-- Embeddings
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T951463987"] = "Einbettungen"
|
||||||
|
|
||||||
-- There is no social event
|
-- There is no social event
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T1222800281"] = "Es gibt keine gesellschaftliche Veranstaltung."
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T1222800281"] = "Es gibt keine gesellschaftliche Veranstaltung."
|
||||||
|
|
||||||
@ -1731,6 +2223,9 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3175009548"
|
|||||||
-- Preselect an objective?
|
-- Preselect an objective?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3439476935"] = "Ein Ziel vorauswählen?"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3439476935"] = "Ein Ziel vorauswählen?"
|
||||||
|
|
||||||
|
-- Close
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3448155331"] = "Schließen"
|
||||||
|
|
||||||
-- Preselect a moderator?
|
-- Preselect a moderator?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3482798491"] = "Einen Moderator vorauswählen?"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3482798491"] = "Einen Moderator vorauswählen?"
|
||||||
|
|
||||||
@ -1836,6 +2331,69 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGASSISTANTBIAS::T6790
|
|||||||
-- When enabled, you can preselect options. This is might be useful when you prefer a specific language or LLM model.
|
-- When enabled, you can preselect options. This is might be useful when you prefer a specific language or LLM model.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGASSISTANTBIAS::T711745239"] = "Wenn diese Option aktiviert ist, kannst du Voreinstellungen treffen. Das kann nützlich sein, wenn du eine bestimmte Sprache oder ein bestimmtes LLM-Modell bevorzugst."
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGASSISTANTBIAS::T711745239"] = "Wenn diese Option aktiviert ist, kannst du Voreinstellungen treffen. Das kann nützlich sein, wenn du eine bestimmte Sprache oder ein bestimmtes LLM-Modell bevorzugst."
|
||||||
|
|
||||||
|
-- Control how the LLM provider for loaded chats is selected and when assistant results are sent to chat.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T172255919"] = "Legen Sie fest, wie der LLM-Anbieter für geladene Chats ausgewählt wird und wann Assistenten-Ergebnisse an den Chat gesendet werden."
|
||||||
|
|
||||||
|
-- Chat Options
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T1757092713"] = "Chat-Optionen"
|
||||||
|
|
||||||
|
-- Shortcut to send input
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T1773585398"] = "Tastenkombination zum Senden der Eingabe"
|
||||||
|
|
||||||
|
-- Provider selection when creating new chats
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T189306836"] = "Anbieterauswahl beim Erstellen neuer Chats"
|
||||||
|
|
||||||
|
-- Would you like to set one of your profiles as the default for chats?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T1933521846"] = "Möchten Sie eines Ihrer Profile als Standardprofil für Chats festlegen?"
|
||||||
|
|
||||||
|
-- Apply default data source option when sending assistant results to chat
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T2510376349"] = "Standarddatenquelle verwenden, wenn Assistentenergebnisse in den Chat gesendet werden"
|
||||||
|
|
||||||
|
-- Control how the LLM provider for added chats is selected.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T263621180"] = "Steuern Sie, wie der LLM-Anbieter für hinzugefügte Chats ausgewählt wird."
|
||||||
|
|
||||||
|
-- Provider selection when loading a chat and sending assistant results to chat
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T2868379953"] = "Anbieterauswahl beim Laden eines Chats und beim Senden von Assistentenergebnissen in den Chat"
|
||||||
|
|
||||||
|
-- Show the latest message after loading?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T2913693228"] = "Die neueste Nachricht nach dem Laden anzeigen?"
|
||||||
|
|
||||||
|
-- Do you want to use any shortcut to send your input?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T2936560092"] = "Möchten Sie eine Tastenkombination verwenden, um Ihre Eingabe zu senden?"
|
||||||
|
|
||||||
|
-- No chat options are preselected
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3383186996"] = "Keine Chat-Optionen sind vorausgewählt"
|
||||||
|
|
||||||
|
-- Close
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3448155331"] = "Schließen"
|
||||||
|
|
||||||
|
-- First (oldest) message is shown, after loading a chat
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3507181366"] = "Die erste (älteste) Nachricht wird nach dem Laden eines Chats angezeigt."
|
||||||
|
|
||||||
|
-- Preselect chat options?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3728624759"] = "Chat-Optionen vorauswählen?"
|
||||||
|
|
||||||
|
-- Chat options are preselected
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3730599555"] = "Chat-Optionen sind vorausgewählt"
|
||||||
|
|
||||||
|
-- Latest message is shown, after loading a chat
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3755993611"] = "Die neueste Nachricht wird nach dem Laden eines Chats angezeigt."
|
||||||
|
|
||||||
|
-- Preselect one of your profiles?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T4004501229"] = "Eines Ihrer Profile vorauswählen?"
|
||||||
|
|
||||||
|
-- Do you want to apply the default data source options when sending assistant results to chat?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T4033153439"] = "Möchten Sie die Standardoptionen für Datenquellen verwenden, wenn die Ergebnisse des Assistenten an den Chat gesendet werden?"
|
||||||
|
|
||||||
|
-- When enabled, you can preselect chat options. This is might be useful when you prefer a specific provider.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T477675197"] = "Wenn aktiviert, können Sie Chat-Optionen im Voraus auswählen. Das kann nützlich sein, wenn Sie einen bestimmten Anbieter bevorzugen."
|
||||||
|
|
||||||
|
-- You can set default data sources and options for new chats. You can change these settings later for each individual chat.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T492357592"] = "Sie können Standarddatenquellen und -optionen für neue Chats festlegen. Diese Einstellungen lassen sich später für jeden einzelnen Chat anpassen."
|
||||||
|
|
||||||
|
-- When enabled, the latest message is shown after loading a chat. When disabled, the first (oldest) message is shown.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T582516016"] = "Wenn diese Option aktiviert ist, wird nach dem Laden eines Chats die neueste Nachricht angezeigt. Wenn sie deaktiviert ist, wird die erste (älteste) Nachricht angezeigt."
|
||||||
|
|
||||||
-- Which programming language should be preselected for added contexts?
|
-- Which programming language should be preselected for added contexts?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCODING::T1073540083"] = "Welche Programmiersprache soll für hinzugefügte Kontexte vorausgewählt werden?"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCODING::T1073540083"] = "Welche Programmiersprache soll für hinzugefügte Kontexte vorausgewählt werden?"
|
||||||
|
|
||||||
@ -2296,7 +2854,7 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTEXTSUMMARIZER::T170
|
|||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTEXTSUMMARIZER::T1767527569"] = "Assistent: Optionen zur Textzusammenfassung"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTEXTSUMMARIZER::T1767527569"] = "Assistent: Optionen zur Textzusammenfassung"
|
||||||
|
|
||||||
-- Content cleaner agent is not preselected
|
-- Content cleaner agent is not preselected
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTEXTSUMMARIZER::T1969816694"] = "Agent zur Inhaltsbereinigungs ist nicht vorausgewählt"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTEXTSUMMARIZER::T1969816694"] = "Agent zur Inhaltsbereinigung ist nicht vorausgewählt"
|
||||||
|
|
||||||
-- Hide the web content reader?
|
-- Hide the web content reader?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTEXTSUMMARIZER::T2090693677"] = "Web-Content-Reader ausblenden?"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTEXTSUMMARIZER::T2090693677"] = "Web-Content-Reader ausblenden?"
|
||||||
@ -2341,7 +2899,7 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTEXTSUMMARIZER::T511
|
|||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTEXTSUMMARIZER::T629158142"] = "Tool zum Lesen von Webinhalten vorauswählen?"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTEXTSUMMARIZER::T629158142"] = "Tool zum Lesen von Webinhalten vorauswählen?"
|
||||||
|
|
||||||
-- Content cleaner agent is preselected
|
-- Content cleaner agent is preselected
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTRANSLATION::T1013787967"] = "Agent zur Inhaltsbereinigungs ist vorausgewählt"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTRANSLATION::T1013787967"] = "Agent zur Inhaltsbereinigung ist vorausgewählt"
|
||||||
|
|
||||||
-- Assistant: Translator Options
|
-- Assistant: Translator Options
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTRANSLATION::T1016384269"] = "Assistent: Übersetzer-Optionen"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTRANSLATION::T1016384269"] = "Assistent: Übersetzer-Optionen"
|
||||||
@ -2371,7 +2929,7 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTRANSLATION::T170112
|
|||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTRANSLATION::T1825690873"] = "Live-Übersetzung ist nicht vorausgewählt"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTRANSLATION::T1825690873"] = "Live-Übersetzung ist nicht vorausgewählt"
|
||||||
|
|
||||||
-- Content cleaner agent is not preselected
|
-- Content cleaner agent is not preselected
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTRANSLATION::T1969816694"] = "Agent zur Inhaltsbereinigungs ist nicht vorausgewählt"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTRANSLATION::T1969816694"] = "Agent zur Inhaltsbereinigung ist nicht vorausgewählt"
|
||||||
|
|
||||||
-- Preselect translator options?
|
-- Preselect translator options?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTRANSLATION::T1989346399"] = "Übersetzeroptionen vorauswählen?"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGTRANSLATION::T1989346399"] = "Übersetzeroptionen vorauswählen?"
|
||||||
@ -2599,7 +3157,7 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::ABOUT::T2644379659"] = "Um die Antworten des L
|
|||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::ABOUT::T2689995864"] = "Nutzungsprotokolldatei"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::ABOUT::T2689995864"] = "Nutzungsprotokolldatei"
|
||||||
|
|
||||||
-- Logbook
|
-- Logbook
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::ABOUT::T2706940196"] = "Logbuch"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::ABOUT::T2706940196"] = "Protokolldateien"
|
||||||
|
|
||||||
-- This component is used to render Markdown text. This is important because the LLM often responds with Markdown-formatted text, allowing us to present it in a way that is easier to read.
|
-- This component is used to render Markdown text. This is important because the LLM often responds with Markdown-formatted text, allowing us to present it in a way that is easier to read.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::ABOUT::T2726131107"] = "Diese Komponente wird verwendet, um Markdown-Text darzustellen. Das ist wichtig, weil das LLM häufig mit im Markdown-Format formatiertem Text antwortet. Dadurch können wir die Antworten besser lesbar anzeigen."
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::ABOUT::T2726131107"] = "Diese Komponente wird verwendet, um Markdown-Text darzustellen. Das ist wichtig, weil das LLM häufig mit im Markdown-Format formatiertem Text antwortet. Dadurch können wir die Antworten besser lesbar anzeigen."
|
||||||
@ -2722,7 +3280,7 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::ASSISTANTS::T2383649630"] = "Erstellen Sie ein
|
|||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::ASSISTANTS::T2406168562"] = "Erstellen Sie eine Tagesordnung für eine bestimmte Besprechung, ein Seminar usw."
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::ASSISTANTS::T2406168562"] = "Erstellen Sie eine Tagesordnung für eine bestimmte Besprechung, ein Seminar usw."
|
||||||
|
|
||||||
-- Agenda Planner
|
-- Agenda Planner
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::ASSISTANTS::T2435638853"] = "Terminplaner"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::ASSISTANTS::T2435638853"] = "Agenda-Assistent"
|
||||||
|
|
||||||
-- Synonyms
|
-- Synonyms
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::ASSISTANTS::T2547582747"] = "Synonyme"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::ASSISTANTS::T2547582747"] = "Synonyme"
|
||||||
@ -2793,6 +3351,9 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::ASSISTANTS::T897888480"] = "Lokalisierung"
|
|||||||
-- Hide your workspaces
|
-- Hide your workspaces
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::CHAT::T2351468526"] = "Arbeitsbereiche ausblenden"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::CHAT::T2351468526"] = "Arbeitsbereiche ausblenden"
|
||||||
|
|
||||||
|
-- Open Chat Options
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::CHAT::T2813205227"] = "Chat-Optionen öffnen"
|
||||||
|
|
||||||
-- Disappearing Chat
|
-- Disappearing Chat
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::CHAT::T3046519404"] = "Selbstlöschender Chat"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::CHAT::T3046519404"] = "Selbstlöschender Chat"
|
||||||
|
|
||||||
@ -2911,7 +3472,7 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T1470916504"] = "Vielen Dank, dass
|
|||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T1714878838"] = "Danke, Peer, für deinen Mut, als zweite Person das Projekt finanziell zu unterstützen."
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T1714878838"] = "Danke, Peer, für deinen Mut, als zweite Person das Projekt finanziell zu unterstützen."
|
||||||
|
|
||||||
-- Individual Contributors
|
-- Individual Contributors
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T1874835680"] = "Einzelne Unterstützer"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T1874835680"] = "Einzelspender"
|
||||||
|
|
||||||
-- Thanks, Nils, for taking the time to learn Rust and build the foundation for local retrieval.
|
-- Thanks, Nils, for taking the time to learn Rust and build the foundation for local retrieval.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2355807535"] = "Danke, Nils, dass du dir die Zeit genommen hast, Rust zu lernen und die Grundlage für die lokale Suche zu schaffen."
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2355807535"] = "Danke, Nils, dass du dir die Zeit genommen hast, Rust zu lernen und die Grundlage für die lokale Suche zu schaffen."
|
||||||
@ -2922,6 +3483,9 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2410456125"] = "Die ersten 10 Spe
|
|||||||
-- We would like to thank the DLR for its courage in supporting MindWork AI Studio at an early stage. The DLR not only uses AI Studio in various projects but also supports its further development with personnel resources.
|
-- We would like to thank the DLR for its courage in supporting MindWork AI Studio at an early stage. The DLR not only uses AI Studio in various projects but also supports its further development with personnel resources.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2438064678"] = "Wir bedanken uns beim DLR, dass es so mutig war, MindWork AI Studio in einem frühen Stadium zu unterstützen. Das DLR setzt AI Studio nicht nur im Rahmen verschiedener Projekte ein, sondern unterstützt die Weiterentwicklung mit Personalressourcen."
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2438064678"] = "Wir bedanken uns beim DLR, dass es so mutig war, MindWork AI Studio in einem frühen Stadium zu unterstützen. Das DLR setzt AI Studio nicht nur im Rahmen verschiedener Projekte ein, sondern unterstützt die Weiterentwicklung mit Personalressourcen."
|
||||||
|
|
||||||
|
-- Become one of our titans
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2640760894"] = "Werde einer unserer Titanen"
|
||||||
|
|
||||||
-- Supporters
|
-- Supporters
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2929332068"] = "Unterstützer"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2929332068"] = "Unterstützer"
|
||||||
|
|
||||||
@ -2944,7 +3508,7 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T3660718138"] = "Danke, Richard, d
|
|||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T3664780201"] = "Danke, Dominic, dass du als dritter Unterstützer dabei bist."
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T3664780201"] = "Danke, Dominic, dass du als dritter Unterstützer dabei bist."
|
||||||
|
|
||||||
-- Our Titans
|
-- Our Titans
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T3805270964"] = "Unsere Titans"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T3805270964"] = "Unsere Titanen"
|
||||||
|
|
||||||
-- Moderation, Design, Wiki, and Documentation
|
-- Moderation, Design, Wiki, and Documentation
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T3821668394"] = "Moderation, Design, Wiki und Dokumentation"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T3821668394"] = "Moderation, Design, Wiki und Dokumentation"
|
||||||
@ -2955,14 +3519,11 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T4106820759"] = "Vielen Dank, Peer
|
|||||||
-- Code Contributions
|
-- Code Contributions
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T4135925647"] = "Code-Beiträge"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T4135925647"] = "Code-Beiträge"
|
||||||
|
|
||||||
-- Become our first Titan
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T414428338"] = "Werden Sie unser erster Titan"
|
|
||||||
|
|
||||||
-- Become a contributor
|
-- Become a contributor
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T414604046"] = "Werden Sie Spender"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T414604046"] = "Werden Sie Spender"
|
||||||
|
|
||||||
-- In this section, we highlight the titan supporters of MindWork AI Studio. Titans are prestigious companies that provide significant support to our mission.
|
-- In this section, we highlight the titan supporters of MindWork AI Studio. Titans are prestigious companies that provide significant support to our mission.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T4270177642"] = "In diesem Abschnitt stellen wir die Titan-Unterstützer von MindWork AI Studio vor. Titans sind renommierte Unternehmen, die unsere Mission maßgeblich unterstützen."
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T4270177642"] = "In diesem Abschnitt stellen wir die Titanen-Unterstützer von MindWork AI Studio vor. Titanen sind renommierte Unternehmen, die unsere Mission maßgeblich unterstützen."
|
||||||
|
|
||||||
-- Thanks Luc for your build script contribution.
|
-- Thanks Luc for your build script contribution.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T432023389"] = "Danke, Luc, für deinen Beitrag zum Build-Skript."
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T432023389"] = "Danke, Luc, für deinen Beitrag zum Build-Skript."
|
||||||
@ -2974,7 +3535,7 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T68519158"] = "Für Unternehmen is
|
|||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T686206269"] = "Vielen Dank für deinen Beitrag zum Build-Skript."
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T686206269"] = "Vielen Dank für deinen Beitrag zum Build-Skript."
|
||||||
|
|
||||||
-- Business Contributors
|
-- Business Contributors
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T838479287"] = "Unternehmenspartner"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T838479287"] = "Spenden von Unternehmen"
|
||||||
|
|
||||||
-- Thank you very much, Kerstin, for taking care of creating the Wiki.
|
-- Thank you very much, Kerstin, for taking care of creating the Wiki.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T991294232"] = "Vielen herzlichen Dank, Kerstin, dass du dich um die Erstellung des Wikis gekümmert hast."
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T991294232"] = "Vielen herzlichen Dank, Kerstin, dass du dich um die Erstellung des Wikis gekümmert hast."
|
||||||
@ -3490,7 +4051,7 @@ UI_TEXT_CONTENT["AISTUDIO::TOOLS::ERICLIENT::ERICLIENTV1::T615338311"] = "Ausfü
|
|||||||
UI_TEXT_CONTENT["AISTUDIO::TOOLS::ERICLIENT::ERICLIENTV1::T690733413"] = "Fehler beim Abrufen der Datenquelleninformationen: Die Anfrage wurde entweder vom Benutzer abgebrochen oder ist aufgrund eines Zeitlimits fehlgeschlagen."
|
UI_TEXT_CONTENT["AISTUDIO::TOOLS::ERICLIENT::ERICLIENTV1::T690733413"] = "Fehler beim Abrufen der Datenquelleninformationen: Die Anfrage wurde entweder vom Benutzer abgebrochen oder ist aufgrund eines Zeitlimits fehlgeschlagen."
|
||||||
|
|
||||||
-- Failed to retrieve the embedding information due to an exception: {0}
|
-- Failed to retrieve the embedding information due to an exception: {0}
|
||||||
UI_TEXT_CONTENT["AISTUDIO::TOOLS::ERICLIENT::ERICLIENTV1::T765050112"] = "Fehler beim Abrufen der Embedding-Informationen aufgrund einer Ausnahme: {0}"
|
UI_TEXT_CONTENT["AISTUDIO::TOOLS::ERICLIENT::ERICLIENTV1::T765050112"] = "Fehler beim Abrufen der Informationen über die Einbettung aufgrund einer Ausnahme: {0}"
|
||||||
|
|
||||||
-- Failed to retrieve the access token.
|
-- Failed to retrieve the access token.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::TOOLS::ERICLIENT::ERICLIENTV1::T816853779"] = "Fehler beim Abrufen des Zugriffstokens."
|
UI_TEXT_CONTENT["AISTUDIO::TOOLS::ERICLIENT::ERICLIENTV1::T816853779"] = "Fehler beim Abrufen des Zugriffstokens."
|
||||||
@ -3781,7 +4342,7 @@ UI_TEXT_CONTENT["AISTUDIO::TOOLS::VALIDATION::DATASOURCEVALIDATION::T1013354736"
|
|||||||
UI_TEXT_CONTENT["AISTUDIO::TOOLS::VALIDATION::DATASOURCEVALIDATION::T132896331"] = "Der Verbindungstest ist fehlgeschlagen. Bitte überprüfe die Verbindungseinstellungen."
|
UI_TEXT_CONTENT["AISTUDIO::TOOLS::VALIDATION::DATASOURCEVALIDATION::T132896331"] = "Der Verbindungstest ist fehlgeschlagen. Bitte überprüfe die Verbindungseinstellungen."
|
||||||
|
|
||||||
-- Please select an embedding provider.
|
-- Please select an embedding provider.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::TOOLS::VALIDATION::DATASOURCEVALIDATION::T1461238528"] = "Bitte wählen Sie einen Embedding-Anbieter aus."
|
UI_TEXT_CONTENT["AISTUDIO::TOOLS::VALIDATION::DATASOURCEVALIDATION::T1461238528"] = "Bitte wählen Sie einen Anbieter für die Einbettung aus."
|
||||||
|
|
||||||
-- The file does not exist. Please select a valid file.
|
-- The file does not exist. Please select a valid file.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::TOOLS::VALIDATION::DATASOURCEVALIDATION::T148464502"] = "Die Datei existiert nicht. Bitte wähle eine gültige Datei aus."
|
UI_TEXT_CONTENT["AISTUDIO::TOOLS::VALIDATION::DATASOURCEVALIDATION::T148464502"] = "Die Datei existiert nicht. Bitte wähle eine gültige Datei aus."
|
||||||
@ -3878,5 +4439,3 @@ UI_TEXT_CONTENT["AISTUDIO::TOOLS::VALIDATION::PROVIDERVALIDATION::T818893091"] =
|
|||||||
|
|
||||||
-- Delete Chat
|
-- Delete Chat
|
||||||
UI_TEXT_CONTENT["AISTUDIO::TOOLS::WORKSPACEBEHAVIOUR::T2244038752"] = "Chat löschen"
|
UI_TEXT_CONTENT["AISTUDIO::TOOLS::WORKSPACEBEHAVIOUR::T2244038752"] = "Chat löschen"
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,9 +51,6 @@ UI_TEXT_CONTENT = {}
|
|||||||
-- Objective
|
-- Objective
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T1121586136"] = "Objective"
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T1121586136"] = "Objective"
|
||||||
|
|
||||||
-- This agenda planner helps you create a structured agenda for your meeting or seminar. Just provide some basic information about the event, and the assistant will generate an agenda for you. You can also specify the duration, the start time, the location, the target language, and other details.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T1193269953"] = "This agenda planner helps you create a structured agenda for your meeting or seminar. Just provide some basic information about the event, and the assistant will generate an agenda for you. You can also specify the duration, the start time, the location, the target language, and other details."
|
|
||||||
|
|
||||||
-- Describe the topic of the meeting, seminar, etc. Is it about quantum computing, software engineering, or is it a general business meeting?
|
-- Describe the topic of the meeting, seminar, etc. Is it about quantum computing, software engineering, or is it a general business meeting?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T12079368"] = "Describe the topic of the meeting, seminar, etc. Is it about quantum computing, software engineering, or is it a general business meeting?"
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T12079368"] = "Describe the topic of the meeting, seminar, etc. Is it about quantum computing, software engineering, or is it a general business meeting?"
|
||||||
|
|
||||||
@ -219,6 +216,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4155424204"] =
|
|||||||
-- Please select a target language for the agenda.
|
-- Please select a target language for the agenda.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4163183653"] = "Please select a target language for the agenda."
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4163183653"] = "Please select a target language for the agenda."
|
||||||
|
|
||||||
|
-- This agenda planner helps you create a structured agenda for your meeting or seminar. Just provide some basic information about the event, and the assistant will generate an agenda for you. You can also specify the duration, the start time, the location, the target language, and other details.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4178438053"] = "This agenda planner helps you create a structured agenda for your meeting or seminar. Just provide some basic information about the event, and the assistant will generate an agenda for you. You can also specify the duration, the start time, the location, the target language, and other details."
|
||||||
|
|
||||||
-- Yes, participants need to arrive and depart
|
-- Yes, participants need to arrive and depart
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4266648123"] = "Yes, participants need to arrive and depart"
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::AGENDA::ASSISTANTAGENDA::T4266648123"] = "Yes, participants need to arrive and depart"
|
||||||
|
|
||||||
@ -246,6 +246,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T1317408357"] = "Stop gene
|
|||||||
-- Reset
|
-- Reset
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T180921696"] = "Reset"
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T180921696"] = "Reset"
|
||||||
|
|
||||||
|
-- Please select a provider.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T1809312323"] = "Please select a provider."
|
||||||
|
|
||||||
-- Assistant - {0}
|
-- Assistant - {0}
|
||||||
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T3043922"] = "Assistant - {0}"
|
UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::ASSISTANTBASE::T3043922"] = "Assistant - {0}"
|
||||||
|
|
||||||
@ -735,6 +738,9 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T3403290862"] = "The selec
|
|||||||
-- Select a provider first
|
-- Select a provider first
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T3654197869"] = "Select a provider first"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T3654197869"] = "Select a provider first"
|
||||||
|
|
||||||
|
-- Start new chat in workspace "{0}"
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T3928697643"] = "Start new chat in workspace \"{0}\""
|
||||||
|
|
||||||
-- New disappearing chat
|
-- New disappearing chat
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T4113970938"] = "New disappearing chat"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T4113970938"] = "New disappearing chat"
|
||||||
|
|
||||||
@ -747,9 +753,6 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T636393754"] = "Move the c
|
|||||||
-- Show your workspaces
|
-- Show your workspaces
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T733672375"] = "Show your workspaces"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T733672375"] = "Show your workspaces"
|
||||||
|
|
||||||
-- Start new chat in workspace "{0}"
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CHATCOMPONENT::T896906391"] = "Start new chat in workspace \"{0}\""
|
|
||||||
|
|
||||||
-- Region
|
-- Region
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CONFIDENCEINFO::T1227782301"] = "Region"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::CONFIDENCEINFO::T1227782301"] = "Region"
|
||||||
|
|
||||||
@ -1062,66 +1065,6 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELAPP::T817101267"]
|
|||||||
-- Would you like to set one provider as the default for the entire app? When you configure a different provider for an assistant, it will always take precedence.
|
-- Would you like to set one provider as the default for the entire app? When you configure a different provider for an assistant, it will always take precedence.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELAPP::T844514734"] = "Would you like to set one provider as the default for the entire app? When you configure a different provider for an assistant, it will always take precedence."
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELAPP::T844514734"] = "Would you like to set one provider as the default for the entire app? When you configure a different provider for an assistant, it will always take precedence."
|
||||||
|
|
||||||
-- Control how the LLM provider for loaded chats is selected and when assistant results are sent to chat.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T172255919"] = "Control how the LLM provider for loaded chats is selected and when assistant results are sent to chat."
|
|
||||||
|
|
||||||
-- Chat Options
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T1757092713"] = "Chat Options"
|
|
||||||
|
|
||||||
-- Shortcut to send input
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T1773585398"] = "Shortcut to send input"
|
|
||||||
|
|
||||||
-- Provider selection when creating new chats
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T189306836"] = "Provider selection when creating new chats"
|
|
||||||
|
|
||||||
-- Would you like to set one of your profiles as the default for chats?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T1933521846"] = "Would you like to set one of your profiles as the default for chats?"
|
|
||||||
|
|
||||||
-- Apply default data source option when sending assistant results to chat
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T2510376349"] = "Apply default data source option when sending assistant results to chat"
|
|
||||||
|
|
||||||
-- Control how the LLM provider for added chats is selected.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T263621180"] = "Control how the LLM provider for added chats is selected."
|
|
||||||
|
|
||||||
-- Provider selection when loading a chat and sending assistant results to chat
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T2868379953"] = "Provider selection when loading a chat and sending assistant results to chat"
|
|
||||||
|
|
||||||
-- Show the latest message after loading?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T2913693228"] = "Show the latest message after loading?"
|
|
||||||
|
|
||||||
-- Do you want to use any shortcut to send your input?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T2936560092"] = "Do you want to use any shortcut to send your input?"
|
|
||||||
|
|
||||||
-- No chat options are preselected
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T3383186996"] = "No chat options are preselected"
|
|
||||||
|
|
||||||
-- First (oldest) message is shown, after loading a chat
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T3507181366"] = "First (oldest) message is shown, after loading a chat"
|
|
||||||
|
|
||||||
-- Preselect chat options?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T3728624759"] = "Preselect chat options?"
|
|
||||||
|
|
||||||
-- Chat options are preselected
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T3730599555"] = "Chat options are preselected"
|
|
||||||
|
|
||||||
-- Latest message is shown, after loading a chat
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T3755993611"] = "Latest message is shown, after loading a chat"
|
|
||||||
|
|
||||||
-- Preselect one of your profiles?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T4004501229"] = "Preselect one of your profiles?"
|
|
||||||
|
|
||||||
-- Do you want to apply the default data source options when sending assistant results to chat?
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T4033153439"] = "Do you want to apply the default data source options when sending assistant results to chat?"
|
|
||||||
|
|
||||||
-- When enabled, you can preselect chat options. This is might be useful when you prefer a specific provider.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T477675197"] = "When enabled, you can preselect chat options. This is might be useful when you prefer a specific provider."
|
|
||||||
|
|
||||||
-- You can set default data sources and options for new chats. You can change these settings later for each individual chat.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T492357592"] = "You can set default data sources and options for new chats. You can change these settings later for each individual chat."
|
|
||||||
|
|
||||||
-- When enabled, the latest message is shown after loading a chat. When disabled, the first (oldest) message is shown.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELCHAT::T582516016"] = "When enabled, the latest message is shown after loading a chat. When disabled, the first (oldest) message is shown."
|
|
||||||
|
|
||||||
-- Delete
|
-- Delete
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELEMBEDDINGS::T1469573738"] = "Delete"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELEMBEDDINGS::T1469573738"] = "Delete"
|
||||||
|
|
||||||
@ -1314,8 +1257,8 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELPROVIDERS::T853225
|
|||||||
-- Provider
|
-- Provider
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELPROVIDERS::T900237532"] = "Provider"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELPROVIDERS::T900237532"] = "Provider"
|
||||||
|
|
||||||
-- If and when should we delete your temporary chats?
|
-- If and when should we delete your disappearing chats?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELWORKSPACES::T1014418451"] = "If and when should we delete your temporary chats?"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELWORKSPACES::T1014418451"] = "If and when should we delete your disappearing chats?"
|
||||||
|
|
||||||
-- Workspace display behavior
|
-- Workspace display behavior
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELWORKSPACES::T2151409362"] = "Workspace display behavior"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::SETTINGS::SETTINGSPANELWORKSPACES::T2151409362"] = "Workspace display behavior"
|
||||||
@ -1458,8 +1401,8 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T2244038752"] = "Delete Chat"
|
|||||||
-- Move to workspace
|
-- Move to workspace
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T2509305748"] = "Move to workspace"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T2509305748"] = "Move to workspace"
|
||||||
|
|
||||||
-- Are you sure you want to delete the temporary chat '{0}'?
|
-- Are you sure you want to delete the chat '{0}'?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T3043761007"] = "Are you sure you want to delete the temporary chat '{0}'?"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T3043761007"] = "Are you sure you want to delete the chat '{0}'?"
|
||||||
|
|
||||||
-- Move Chat to Workspace
|
-- Move Chat to Workspace
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T3045856778"] = "Move Chat to Workspace"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::WORKSPACES::T3045856778"] = "Move Chat to Workspace"
|
||||||
@ -1500,6 +1443,441 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::CONFIRMDIALOG::T1642511898"] = "No"
|
|||||||
-- Yes
|
-- Yes
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::CONFIRMDIALOG::T3013883440"] = "Yes"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::CONFIRMDIALOG::T3013883440"] = "Yes"
|
||||||
|
|
||||||
|
-- Update
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T1847791252"] = "Update"
|
||||||
|
|
||||||
|
-- Failed to connect to the ERI v1 server. The message was: {0}
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2150703468"] = "Failed to connect to the ERI v1 server. The message was: {0}"
|
||||||
|
|
||||||
|
-- Add
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2646845972"] = "Add"
|
||||||
|
|
||||||
|
-- Failed to store the auth. secret in the operating system. The message was: {0}. Please try again.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2772567701"] = "Failed to store the auth. secret in the operating system. The message was: {0}. Please try again."
|
||||||
|
|
||||||
|
-- Connection successful.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T279774933"] = "Connection successful."
|
||||||
|
|
||||||
|
-- Access Token
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2891154022"] = "Access Token"
|
||||||
|
|
||||||
|
-- Secret
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2895110961"] = "Secret"
|
||||||
|
|
||||||
|
-- Select one retrieval process
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T2916077548"] = "Select one retrieval process"
|
||||||
|
|
||||||
|
-- Please note: the connection to the ERI v1 server is not encrypted. This means that all data sent to the server is transmitted in plain text. Please ask the ERI server administrator to enable encryption.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T299279954"] = "Please note: the connection to the ERI v1 server is not encrypted. This means that all data sent to the server is transmitted in plain text. Please ask the ERI server administrator to enable encryption."
|
||||||
|
|
||||||
|
-- ERI v1 Server Hostname
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T3494933602"] = "ERI v1 Server Hostname"
|
||||||
|
|
||||||
|
-- Port
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T3804576966"] = "Port"
|
||||||
|
|
||||||
|
-- Connection failed.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T3820825672"] = "Connection failed."
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T4081226330"] = "Your security policy"
|
||||||
|
|
||||||
|
-- Not tested yet.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T417002657"] = "Not tested yet."
|
||||||
|
|
||||||
|
-- Failed to connect to the ERI v1 server. The server is not supported.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T449168182"] = "Failed to connect to the ERI v1 server. The server is not supported."
|
||||||
|
|
||||||
|
-- Username
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T470340825"] = "Username"
|
||||||
|
|
||||||
|
-- Password
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T750979128"] = "Password"
|
||||||
|
|
||||||
|
-- Data Source Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T813773421"] = "Data Source Name"
|
||||||
|
|
||||||
|
-- Cancel
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T900713019"] = "Cancel"
|
||||||
|
|
||||||
|
-- Test connection & read available metadata
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1DIALOG::T988671749"] = "Test connection & read available metadata"
|
||||||
|
|
||||||
|
-- the ERI server port
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T103013936"] = "the ERI server port"
|
||||||
|
|
||||||
|
-- Unnamed retrieval process
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1038776502"] = "Unnamed retrieval process"
|
||||||
|
|
||||||
|
-- the retrieval parameters
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1497074068"] = "the retrieval parameters"
|
||||||
|
|
||||||
|
-- [{0}] Unnamed retrieval process
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1501892586"] = "[{0}] Unnamed retrieval process"
|
||||||
|
|
||||||
|
-- the embedding type
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T16293243"] = "the embedding type"
|
||||||
|
|
||||||
|
-- the embedding description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1657824119"] = "the embedding description"
|
||||||
|
|
||||||
|
-- Data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T171124909"] = "Data source name"
|
||||||
|
|
||||||
|
-- Description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1725856265"] = "Description"
|
||||||
|
|
||||||
|
-- the retrieval description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1752127658"] = "the retrieval description"
|
||||||
|
|
||||||
|
-- Security requirements of the data provider
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1891090932"] = "Security requirements of the data provider"
|
||||||
|
|
||||||
|
-- Parameter:
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1917353274"] = "Parameter:"
|
||||||
|
|
||||||
|
-- the server description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T1966565081"] = "the server description"
|
||||||
|
|
||||||
|
-- Failed to connect to the ERI v1 server. The message was: {0}
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2150703468"] = "Failed to connect to the ERI v1 server. The message was: {0}"
|
||||||
|
|
||||||
|
-- ERI server hostname
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T215899701"] = "ERI server hostname"
|
||||||
|
|
||||||
|
-- Server description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2562330120"] = "Server description"
|
||||||
|
|
||||||
|
-- the data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2717738728"] = "the data source name"
|
||||||
|
|
||||||
|
-- the ERI server hostname
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2753279450"] = "the ERI server hostname"
|
||||||
|
|
||||||
|
-- This retrieval process has no parameters.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2863339893"] = "This retrieval process has no parameters."
|
||||||
|
|
||||||
|
-- your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2879113658"] = "your security policy"
|
||||||
|
|
||||||
|
-- Open web link, show more information
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2968752071"] = "Open web link, show more information"
|
||||||
|
|
||||||
|
-- the username
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T2991677780"] = "the username"
|
||||||
|
|
||||||
|
-- Please note: the connection to the ERI v1 server is not encrypted. This means that all data sent to the server is transmitted in plain text. Please ask the ERI server administrator to enable encryption.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T299279954"] = "Please note: the connection to the ERI v1 server is not encrypted. This means that all data sent to the server is transmitted in plain text. Please ask the ERI server administrator to enable encryption."
|
||||||
|
|
||||||
|
-- The data source does not provide any retrieval information.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T306340560"] = "The data source does not provide any retrieval information."
|
||||||
|
|
||||||
|
-- Common data source information
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T3206517471"] = "Common data source information"
|
||||||
|
|
||||||
|
-- when is the embedding used
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T3259327370"] = "when is the embedding used"
|
||||||
|
|
||||||
|
-- The data source does not provide any embedding information.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T3425007227"] = "The data source does not provide any embedding information."
|
||||||
|
|
||||||
|
-- Close
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T3448155331"] = "Close"
|
||||||
|
|
||||||
|
-- ERI server port
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T3843835535"] = "ERI server port"
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T4081226330"] = "Your security policy"
|
||||||
|
|
||||||
|
-- Reload
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T440640172"] = "Reload"
|
||||||
|
|
||||||
|
-- Failed to connect to the ERI v1 server. The server is not supported.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T449168182"] = "Failed to connect to the ERI v1 server. The server is not supported."
|
||||||
|
|
||||||
|
-- Username
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T470340825"] = "Username"
|
||||||
|
|
||||||
|
-- the security requirements of the data provider
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T503852885"] = "the security requirements of the data provider"
|
||||||
|
|
||||||
|
-- When to use
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T629595477"] = "When to use"
|
||||||
|
|
||||||
|
-- Retrieval information
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T742006305"] = "Retrieval information"
|
||||||
|
|
||||||
|
-- Embeddings
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCEERI_V1INFODIALOG::T951463987"] = "Embeddings"
|
||||||
|
|
||||||
|
-- Select a root directory for this data source. All data in this directory and all its subdirectories will be processed for this data source.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T1265737624"] = "Select a root directory for this data source. All data in this directory and all its subdirectories will be processed for this data source."
|
||||||
|
|
||||||
|
-- Selected base directory for this data source
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T1312296210"] = "Selected base directory for this data source"
|
||||||
|
|
||||||
|
-- Update
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T1847791252"] = "Update"
|
||||||
|
|
||||||
|
-- Please note: the embedding you selected runs in the cloud. All your data will be sent to the cloud. Please confirm that you have read and understood this.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T1922618794"] = "Please note: the embedding you selected runs in the cloud. All your data will be sent to the cloud. Please confirm that you have read and understood this."
|
||||||
|
|
||||||
|
-- In order for the AI to be able to determine the appropriate data at any time, you must choose an embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T1948697886"] = "In order for the AI to be able to determine the appropriate data at any time, you must choose an embedding method."
|
||||||
|
|
||||||
|
-- Please note: the embedding you selected runs in the cloud. All your data from the folder '{0}' and all its subdirectories will be sent to the cloud. Please confirm that you have read and understood this.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T2403121734"] = "Please note: the embedding you selected runs in the cloud. All your data from the folder '{0}' and all its subdirectories will be sent to the cloud. Please confirm that you have read and understood this."
|
||||||
|
|
||||||
|
-- Add
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T2646845972"] = "Add"
|
||||||
|
|
||||||
|
-- The embedding you selected runs locally or in your organization. Your data is not sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T2814869210"] = "The embedding you selected runs locally or in your organization. Your data is not sent to the cloud."
|
||||||
|
|
||||||
|
-- Embedding
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T2838542994"] = "Embedding"
|
||||||
|
|
||||||
|
-- Yes, please send my data to the cloud
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T3572613009"] = "Yes, please send my data to the cloud"
|
||||||
|
|
||||||
|
-- I confirm that I have read and understood the above
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T3683380716"] = "I confirm that I have read and understood the above"
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T4081226330"] = "Your security policy"
|
||||||
|
|
||||||
|
-- No, I will chose another embedding
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T4253147533"] = "No, I will chose another embedding"
|
||||||
|
|
||||||
|
-- Select the base directory
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T562479068"] = "Select the base directory"
|
||||||
|
|
||||||
|
-- Data Source Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T813773421"] = "Data Source Name"
|
||||||
|
|
||||||
|
-- Cancel
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYDIALOG::T900713019"] = "Cancel"
|
||||||
|
|
||||||
|
-- the total directory size
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T1082241458"] = "the total directory size"
|
||||||
|
|
||||||
|
-- Total directory size
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T1101400963"] = "Total directory size"
|
||||||
|
|
||||||
|
-- Data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T171124909"] = "Data source name"
|
||||||
|
|
||||||
|
-- the number of files in the directory
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T1795263412"] = "the number of files in the directory"
|
||||||
|
|
||||||
|
-- The embedding runs locally or in your organization. Your data is not sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T1950544032"] = "The embedding runs locally or in your organization. Your data is not sent to the cloud."
|
||||||
|
|
||||||
|
-- the files list
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2072700997"] = "the files list"
|
||||||
|
|
||||||
|
-- the data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2717738728"] = "the data source name"
|
||||||
|
|
||||||
|
-- The directory chosen for the data source does not exist anymore. Please edit the data source and correct the path.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2875614207"] = "The directory chosen for the data source does not exist anymore. Please edit the data source and correct the path."
|
||||||
|
|
||||||
|
-- your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2879113658"] = "your security policy"
|
||||||
|
|
||||||
|
-- the embedding name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2937209992"] = "the embedding name"
|
||||||
|
|
||||||
|
-- this path
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T2944855252"] = "this path"
|
||||||
|
|
||||||
|
-- Embedding name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T3153201045"] = "Embedding name"
|
||||||
|
|
||||||
|
-- Files list
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T3238813368"] = "Files list"
|
||||||
|
|
||||||
|
-- Close
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T3448155331"] = "Close"
|
||||||
|
|
||||||
|
-- For performance reasons, only the first 100 files are shown. The directory contains {0} files in total.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T360238400"] = "For performance reasons, only the first 100 files are shown. The directory contains {0} files in total."
|
||||||
|
|
||||||
|
-- Path
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T3949388886"] = "Path"
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T4081226330"] = "Your security policy"
|
||||||
|
|
||||||
|
-- Number of files
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T417749210"] = "Number of files"
|
||||||
|
|
||||||
|
-- The embedding runs in the cloud. All your data from the folder '{0}' and all its subdirectories will be sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T443873444"] = "The embedding runs in the cloud. All your data from the folder '{0}' and all its subdirectories will be sent to the cloud."
|
||||||
|
|
||||||
|
-- The directory chosen for the data source exists.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALDIRECTORYINFODIALOG::T445858624"] = "The directory chosen for the data source exists."
|
||||||
|
|
||||||
|
-- Select a file for this data source. The content of this file will be processed for the data source.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T1190880267"] = "Select a file for this data source. The content of this file will be processed for the data source."
|
||||||
|
|
||||||
|
-- Update
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T1847791252"] = "Update"
|
||||||
|
|
||||||
|
-- Please note: the embedding you selected runs in the cloud. All your data will be sent to the cloud. Please confirm that you have read and understood this.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T1922618794"] = "Please note: the embedding you selected runs in the cloud. All your data will be sent to the cloud. Please confirm that you have read and understood this."
|
||||||
|
|
||||||
|
-- In order for the AI to be able to determine the appropriate data at any time, you must choose an embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T1948697886"] = "In order for the AI to be able to determine the appropriate data at any time, you must choose an embedding method."
|
||||||
|
|
||||||
|
-- Please note: the embedding you selected runs in the cloud. All your data within the file '{0}' will be sent to the cloud. Please confirm that you have read and understood this.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T2090178026"] = "Please note: the embedding you selected runs in the cloud. All your data within the file '{0}' will be sent to the cloud. Please confirm that you have read and understood this."
|
||||||
|
|
||||||
|
-- Add
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T2646845972"] = "Add"
|
||||||
|
|
||||||
|
-- The embedding you selected runs locally or in your organization. Your data is not sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T2814869210"] = "The embedding you selected runs locally or in your organization. Your data is not sent to the cloud."
|
||||||
|
|
||||||
|
-- Embedding
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T2838542994"] = "Embedding"
|
||||||
|
|
||||||
|
-- Yes, please send my data to the cloud
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T3572613009"] = "Yes, please send my data to the cloud"
|
||||||
|
|
||||||
|
-- I confirm that I have read and understood the above
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T3683380716"] = "I confirm that I have read and understood the above"
|
||||||
|
|
||||||
|
-- Select the file
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T3740148848"] = "Select the file"
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T4081226330"] = "Your security policy"
|
||||||
|
|
||||||
|
-- No, I will chose another embedding
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T4253147533"] = "No, I will chose another embedding"
|
||||||
|
|
||||||
|
-- Data Source Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T813773421"] = "Data Source Name"
|
||||||
|
|
||||||
|
-- Cancel
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T900713019"] = "Cancel"
|
||||||
|
|
||||||
|
-- Selected file path for this data source
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEDIALOG::T939749563"] = "Selected file path for this data source"
|
||||||
|
|
||||||
|
-- The file chosen for the data source exists.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T1294177559"] = "The file chosen for the data source exists."
|
||||||
|
|
||||||
|
-- Data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T171124909"] = "Data source name"
|
||||||
|
|
||||||
|
-- The embedding runs locally or in your organization. Your data is not sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T1950544032"] = "The embedding runs locally or in your organization. Your data is not sent to the cloud."
|
||||||
|
|
||||||
|
-- The file chosen for the data source does not exist anymore. Please edit the data source and choose another file or correct the path.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2235729121"] = "The file chosen for the data source does not exist anymore. Please edit the data source and choose another file or correct the path."
|
||||||
|
|
||||||
|
-- the data source name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2717738728"] = "the data source name"
|
||||||
|
|
||||||
|
-- the file size
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2837935239"] = "the file size"
|
||||||
|
|
||||||
|
-- your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2879113658"] = "your security policy"
|
||||||
|
|
||||||
|
-- File path
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2879895266"] = "File path"
|
||||||
|
|
||||||
|
-- the embedding name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2937209992"] = "the embedding name"
|
||||||
|
|
||||||
|
-- this path
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T2944855252"] = "this path"
|
||||||
|
|
||||||
|
-- Embedding name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T3153201045"] = "Embedding name"
|
||||||
|
|
||||||
|
-- Close
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T3448155331"] = "Close"
|
||||||
|
|
||||||
|
-- File size
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T3650018664"] = "File size"
|
||||||
|
|
||||||
|
-- The embedding runs in the cloud. All your data within the file '{0}' will be sent to the cloud.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T3688254408"] = "The embedding runs in the cloud. All your data within the file '{0}' will be sent to the cloud."
|
||||||
|
|
||||||
|
-- Your security policy
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::DATASOURCELOCALFILEINFODIALOG::T4081226330"] = "Your security policy"
|
||||||
|
|
||||||
|
-- Embedding Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T1427271797"] = "Embedding Name"
|
||||||
|
|
||||||
|
-- Embedding Description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T1625164424"] = "Embedding Description"
|
||||||
|
|
||||||
|
-- Update
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T1847791252"] = "Update"
|
||||||
|
|
||||||
|
-- Please describe when the embedding is used. Might be anytime or when certain keywords are present, etc.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T2346653528"] = "Please describe when the embedding is used. Might be anytime or when certain keywords are present, etc."
|
||||||
|
|
||||||
|
-- Add
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T2646845972"] = "Add"
|
||||||
|
|
||||||
|
-- Embedding Type
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T2764429350"] = "Embedding Type"
|
||||||
|
|
||||||
|
-- Embedding Link
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T290945550"] = "Embedding Link"
|
||||||
|
|
||||||
|
-- Used when
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3229398952"] = "Used when"
|
||||||
|
|
||||||
|
-- The embedding type must not be longer than 56 characters.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T32602319"] = "The embedding type must not be longer than 56 characters."
|
||||||
|
|
||||||
|
-- The name of the embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3415350123"] = "The name of the embedding method."
|
||||||
|
|
||||||
|
-- A short description of the embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3588690510"] = "A short description of the embedding method."
|
||||||
|
|
||||||
|
-- The embedding name must not be longer than 26 characters.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T359150945"] = "The embedding name must not be longer than 26 characters."
|
||||||
|
|
||||||
|
-- The embedding method name '{0}' is already used. Please choose a unique name.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3601888052"] = "The embedding method name '{0}' is already used. Please choose a unique name."
|
||||||
|
|
||||||
|
-- When is this embedding used? When you define multiple embeddings, it is helpful to know when to use which one.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3779802582"] = "When is this embedding used? When you define multiple embeddings, it is helpful to know when to use which one."
|
||||||
|
|
||||||
|
-- See Wikipedia for more information about word embeddings
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3806477732"] = "See Wikipedia for more information about word embeddings"
|
||||||
|
|
||||||
|
-- The embedding type must not be empty. Please specify the embedding type.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3902812924"] = "The embedding type must not be empty. Please specify the embedding type."
|
||||||
|
|
||||||
|
-- See Wikipedia for more information about knowledge graph embeddings
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T3928412408"] = "See Wikipedia for more information about knowledge graph embeddings"
|
||||||
|
|
||||||
|
-- The embedding name must not be empty. Please name the embedding.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T4242514061"] = "The embedding name must not be empty. Please name the embedding."
|
||||||
|
|
||||||
|
-- What kind of embedding is used. For example, Transformer Embedding, Contextual Word Embedding, Graph Embedding, etc.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T4263395074"] = "What kind of embedding is used. For example, Transformer Embedding, Contextual Word Embedding, Graph Embedding, etc."
|
||||||
|
|
||||||
|
-- The description must not be empty. Please describe the embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T4268946588"] = "The description must not be empty. Please describe the embedding method."
|
||||||
|
|
||||||
|
-- A link to the embedding, e.g., to the model, the source code, the paper, it's Wikipedia page, etc.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T662524223"] = "A link to the embedding, e.g., to the model, the source code, the paper, it's Wikipedia page, etc."
|
||||||
|
|
||||||
|
-- Cancel
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGMETHODDIALOG::T900713019"] = "Cancel"
|
||||||
|
|
||||||
-- Failed to store the API key in the operating system. The message was: {0}. Please try again.
|
-- Failed to store the API key in the operating system. The message was: {0}. Please try again.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGPROVIDERDIALOG::T1122745046"] = "Failed to store the API key in the operating system. The message was: {0}. Please try again."
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::EMBEDDINGPROVIDERDIALOG::T1122745046"] = "Failed to store the API key in the operating system. The message was: {0}. Please try again."
|
||||||
|
|
||||||
@ -1662,6 +2040,120 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROVIDERDIALOG::T900237532"] = "Provider"
|
|||||||
-- Cancel
|
-- Cancel
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROVIDERDIALOG::T900713019"] = "Cancel"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROVIDERDIALOG::T900713019"] = "Cancel"
|
||||||
|
|
||||||
|
-- The parameter name. It must be unique within the retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T100726215"] = "The parameter name. It must be unique within the retrieval process."
|
||||||
|
|
||||||
|
-- New Parameter {0}
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1064532992"] = "New Parameter {0}"
|
||||||
|
|
||||||
|
-- Add Parameter
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1082847843"] = "Add Parameter"
|
||||||
|
|
||||||
|
-- Parameter Description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1093935834"] = "Parameter Description"
|
||||||
|
|
||||||
|
-- The retrieval process name must not be empty. Please name your retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1133451355"] = "The retrieval process name must not be empty. Please name your retrieval process."
|
||||||
|
|
||||||
|
-- The parameter name must not be empty. Please name the parameter.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1359500913"] = "The parameter name must not be empty. Please name the parameter."
|
||||||
|
|
||||||
|
-- A short description of the parameter. What data type is it? What is it used for? What are the possible values?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1519220950"] = "A short description of the parameter. What data type is it? What is it used for? What are the possible values?"
|
||||||
|
|
||||||
|
-- Update
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1847791252"] = "Update"
|
||||||
|
|
||||||
|
-- Optional. Select the embedding methods that are used for this retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1869391009"] = "Optional. Select the embedding methods that are used for this retrieval process."
|
||||||
|
|
||||||
|
-- Retrieval Process Link
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T1936369410"] = "Retrieval Process Link"
|
||||||
|
|
||||||
|
-- Here you can select which embedding methods are used for this retrieval process. Embeddings are optional; if your retrieval process works without embedding, you can ignore this part. You can only choose the embedding methods you have previously defined.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2076115062"] = "Here you can select which embedding methods are used for this retrieval process. Embeddings are optional; if your retrieval process works without embedding, you can ignore this part. You can only choose the embedding methods you have previously defined."
|
||||||
|
|
||||||
|
-- The parameter description must not be empty. Please describe the parameter '{0}'. What data type is it? What is it used for? What are the possible values?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2139013415"] = "The parameter description must not be empty. Please describe the parameter '{0}'. What data type is it? What is it used for? What are the possible values?"
|
||||||
|
|
||||||
|
-- A link to the retrieval process, e.g., the source code, the paper, it's Wikipedia page, etc. Make sense for common retrieval processes. Leave empty if not applicable.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2352603560"] = "A link to the retrieval process, e.g., the source code, the paper, it's Wikipedia page, etc. Make sense for common retrieval processes. Leave empty if not applicable."
|
||||||
|
|
||||||
|
-- No embedding methods selected.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2508820480"] = "No embedding methods selected."
|
||||||
|
|
||||||
|
-- Add a parameter first, then select it to edit.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2534894635"] = "Add a parameter first, then select it to edit."
|
||||||
|
|
||||||
|
-- Add
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2646845972"] = "Add"
|
||||||
|
|
||||||
|
-- You have selected {0} embedding methods.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T2933579640"] = "You have selected {0} embedding methods."
|
||||||
|
|
||||||
|
-- Please provide some general information about your retrieval process first. This data may be displayed to the users.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3015844908"] = "Please provide some general information about your retrieval process first. This data may be displayed to the users."
|
||||||
|
|
||||||
|
-- The name of your retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3207262684"] = "The name of your retrieval process."
|
||||||
|
|
||||||
|
-- You may want to parameterize your retrieval process. However, this is optional. You can specify any parameters that can be set by the user or the system during the call. Nevertheless, you should use sensible default values in your code so that users are not forced to set the parameters manually.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3292152705"] = "You may want to parameterize your retrieval process. However, this is optional. You can specify any parameters that can be set by the user or the system during the call. Nevertheless, you should use sensible default values in your code so that users are not forced to set the parameters manually."
|
||||||
|
|
||||||
|
-- Select a parameter to show and edit it.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3300669027"] = "Select a parameter to show and edit it."
|
||||||
|
|
||||||
|
-- The parameter name '{0}' must be unique. Please choose a different name.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3378166475"] = "The parameter name '{0}' must be unique. Please choose a different name."
|
||||||
|
|
||||||
|
-- The retrieval process name '{0}' must be unique. Please choose a different name.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3387731069"] = "The retrieval process name '{0}' must be unique. Please choose a different name."
|
||||||
|
|
||||||
|
-- Delete this parameter
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3464622501"] = "Delete this parameter"
|
||||||
|
|
||||||
|
-- Retrieval Process Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3481092305"] = "Retrieval Process Name"
|
||||||
|
|
||||||
|
-- A short description of the retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3524519535"] = "A short description of the retrieval process."
|
||||||
|
|
||||||
|
-- Currently, you have not defined any embedding methods. If your retrieval process does not require embedding, you can ignore this part. Otherwise, you can define one or more embedding methods in the previous view to assign them to your retrieval process here.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3821108204"] = "Currently, you have not defined any embedding methods. If your retrieval process does not require embedding, you can ignore this part. Otherwise, you can define one or more embedding methods in the previous view to assign them to your retrieval process here."
|
||||||
|
|
||||||
|
-- Retrieval Process Parameters
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T3894388618"] = "Retrieval Process Parameters"
|
||||||
|
|
||||||
|
-- The description must not be empty. Please describe the retrieval process.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T40530321"] = "The description must not be empty. Please describe the retrieval process."
|
||||||
|
|
||||||
|
-- Embeddings methods
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T4119328701"] = "Embeddings methods"
|
||||||
|
|
||||||
|
-- General Information
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T4286878385"] = "General Information"
|
||||||
|
|
||||||
|
-- Retrieval Process Description
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T546772364"] = "Retrieval Process Description"
|
||||||
|
|
||||||
|
-- You have selected 1 embedding method.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T673052164"] = "You have selected 1 embedding method."
|
||||||
|
|
||||||
|
-- The retrieval process name must not be longer than 26 characters.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T769031589"] = "The retrieval process name must not be longer than 26 characters."
|
||||||
|
|
||||||
|
-- Parameter Name
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T873729811"] = "Parameter Name"
|
||||||
|
|
||||||
|
-- The parameter name must not be longer than 26 characters.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T898422027"] = "The parameter name must not be longer than 26 characters."
|
||||||
|
|
||||||
|
-- Cancel
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T900713019"] = "Cancel"
|
||||||
|
|
||||||
|
-- Embeddings
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::RETRIEVALPROCESSDIALOG::T951463987"] = "Embeddings"
|
||||||
|
|
||||||
-- There is no social event
|
-- There is no social event
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T1222800281"] = "There is no social event"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T1222800281"] = "There is no social event"
|
||||||
|
|
||||||
@ -1731,6 +2223,9 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3175009548"
|
|||||||
-- Preselect an objective?
|
-- Preselect an objective?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3439476935"] = "Preselect an objective?"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3439476935"] = "Preselect an objective?"
|
||||||
|
|
||||||
|
-- Close
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3448155331"] = "Close"
|
||||||
|
|
||||||
-- Preselect a moderator?
|
-- Preselect a moderator?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3482798491"] = "Preselect a moderator?"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGAGENDA::T3482798491"] = "Preselect a moderator?"
|
||||||
|
|
||||||
@ -1836,6 +2331,69 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGASSISTANTBIAS::T6790
|
|||||||
-- When enabled, you can preselect options. This is might be useful when you prefer a specific language or LLM model.
|
-- When enabled, you can preselect options. This is might be useful when you prefer a specific language or LLM model.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGASSISTANTBIAS::T711745239"] = "When enabled, you can preselect options. This is might be useful when you prefer a specific language or LLM model."
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGASSISTANTBIAS::T711745239"] = "When enabled, you can preselect options. This is might be useful when you prefer a specific language or LLM model."
|
||||||
|
|
||||||
|
-- Control how the LLM provider for loaded chats is selected and when assistant results are sent to chat.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T172255919"] = "Control how the LLM provider for loaded chats is selected and when assistant results are sent to chat."
|
||||||
|
|
||||||
|
-- Chat Options
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T1757092713"] = "Chat Options"
|
||||||
|
|
||||||
|
-- Shortcut to send input
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T1773585398"] = "Shortcut to send input"
|
||||||
|
|
||||||
|
-- Provider selection when creating new chats
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T189306836"] = "Provider selection when creating new chats"
|
||||||
|
|
||||||
|
-- Would you like to set one of your profiles as the default for chats?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T1933521846"] = "Would you like to set one of your profiles as the default for chats?"
|
||||||
|
|
||||||
|
-- Apply default data source option when sending assistant results to chat
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T2510376349"] = "Apply default data source option when sending assistant results to chat"
|
||||||
|
|
||||||
|
-- Control how the LLM provider for added chats is selected.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T263621180"] = "Control how the LLM provider for added chats is selected."
|
||||||
|
|
||||||
|
-- Provider selection when loading a chat and sending assistant results to chat
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T2868379953"] = "Provider selection when loading a chat and sending assistant results to chat"
|
||||||
|
|
||||||
|
-- Show the latest message after loading?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T2913693228"] = "Show the latest message after loading?"
|
||||||
|
|
||||||
|
-- Do you want to use any shortcut to send your input?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T2936560092"] = "Do you want to use any shortcut to send your input?"
|
||||||
|
|
||||||
|
-- No chat options are preselected
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3383186996"] = "No chat options are preselected"
|
||||||
|
|
||||||
|
-- Close
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3448155331"] = "Close"
|
||||||
|
|
||||||
|
-- First (oldest) message is shown, after loading a chat
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3507181366"] = "First (oldest) message is shown, after loading a chat"
|
||||||
|
|
||||||
|
-- Preselect chat options?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3728624759"] = "Preselect chat options?"
|
||||||
|
|
||||||
|
-- Chat options are preselected
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3730599555"] = "Chat options are preselected"
|
||||||
|
|
||||||
|
-- Latest message is shown, after loading a chat
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T3755993611"] = "Latest message is shown, after loading a chat"
|
||||||
|
|
||||||
|
-- Preselect one of your profiles?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T4004501229"] = "Preselect one of your profiles?"
|
||||||
|
|
||||||
|
-- Do you want to apply the default data source options when sending assistant results to chat?
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T4033153439"] = "Do you want to apply the default data source options when sending assistant results to chat?"
|
||||||
|
|
||||||
|
-- When enabled, you can preselect chat options. This is might be useful when you prefer a specific provider.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T477675197"] = "When enabled, you can preselect chat options. This is might be useful when you prefer a specific provider."
|
||||||
|
|
||||||
|
-- You can set default data sources and options for new chats. You can change these settings later for each individual chat.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T492357592"] = "You can set default data sources and options for new chats. You can change these settings later for each individual chat."
|
||||||
|
|
||||||
|
-- When enabled, the latest message is shown after loading a chat. When disabled, the first (oldest) message is shown.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCHAT::T582516016"] = "When enabled, the latest message is shown after loading a chat. When disabled, the first (oldest) message is shown."
|
||||||
|
|
||||||
-- Which programming language should be preselected for added contexts?
|
-- Which programming language should be preselected for added contexts?
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCODING::T1073540083"] = "Which programming language should be preselected for added contexts?"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::SETTINGS::SETTINGSDIALOGCODING::T1073540083"] = "Which programming language should be preselected for added contexts?"
|
||||||
|
|
||||||
@ -2793,6 +3351,9 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::ASSISTANTS::T897888480"] = "Localization"
|
|||||||
-- Hide your workspaces
|
-- Hide your workspaces
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::CHAT::T2351468526"] = "Hide your workspaces"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::CHAT::T2351468526"] = "Hide your workspaces"
|
||||||
|
|
||||||
|
-- Open Chat Options
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::CHAT::T2813205227"] = "Open Chat Options"
|
||||||
|
|
||||||
-- Disappearing Chat
|
-- Disappearing Chat
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::CHAT::T3046519404"] = "Disappearing Chat"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::CHAT::T3046519404"] = "Disappearing Chat"
|
||||||
|
|
||||||
@ -2922,6 +3483,9 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2410456125"] = "The first 10 supp
|
|||||||
-- We would like to thank the DLR for its courage in supporting MindWork AI Studio at an early stage. The DLR not only uses AI Studio in various projects but also supports its further development with personnel resources.
|
-- We would like to thank the DLR for its courage in supporting MindWork AI Studio at an early stage. The DLR not only uses AI Studio in various projects but also supports its further development with personnel resources.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2438064678"] = "We would like to thank the DLR for its courage in supporting MindWork AI Studio at an early stage. The DLR not only uses AI Studio in various projects but also supports its further development with personnel resources."
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2438064678"] = "We would like to thank the DLR for its courage in supporting MindWork AI Studio at an early stage. The DLR not only uses AI Studio in various projects but also supports its further development with personnel resources."
|
||||||
|
|
||||||
|
-- Become one of our titans
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2640760894"] = "Become one of our titans"
|
||||||
|
|
||||||
-- Supporters
|
-- Supporters
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2929332068"] = "Supporters"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T2929332068"] = "Supporters"
|
||||||
|
|
||||||
@ -2955,9 +3519,6 @@ UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T4106820759"] = "Thank you, Peer,
|
|||||||
-- Code Contributions
|
-- Code Contributions
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T4135925647"] = "Code Contributions"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T4135925647"] = "Code Contributions"
|
||||||
|
|
||||||
-- Become our first Titan
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T414428338"] = "Become our first Titan"
|
|
||||||
|
|
||||||
-- Become a contributor
|
-- Become a contributor
|
||||||
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T414604046"] = "Become a contributor"
|
UI_TEXT_CONTENT["AISTUDIO::PAGES::SUPPORTERS::T414604046"] = "Become a contributor"
|
||||||
|
|
||||||
@ -3878,4 +4439,3 @@ UI_TEXT_CONTENT["AISTUDIO::TOOLS::VALIDATION::PROVIDERVALIDATION::T818893091"] =
|
|||||||
|
|
||||||
-- Delete Chat
|
-- Delete Chat
|
||||||
UI_TEXT_CONTENT["AISTUDIO::TOOLS::WORKSPACEBEHAVIOUR::T2244038752"] = "Delete Chat"
|
UI_TEXT_CONTENT["AISTUDIO::TOOLS::WORKSPACEBEHAVIOUR::T2244038752"] = "Delete Chat"
|
||||||
|
|
||||||
|
@ -25,13 +25,13 @@ internal sealed class Program
|
|||||||
public static IServiceProvider SERVICE_PROVIDER = null!;
|
public static IServiceProvider SERVICE_PROVIDER = null!;
|
||||||
public static ILoggerFactory LOGGER_FACTORY = null!;
|
public static ILoggerFactory LOGGER_FACTORY = null!;
|
||||||
|
|
||||||
public static async Task Main(string[] args)
|
public static async Task Main()
|
||||||
{
|
{
|
||||||
if(args.Length == 0)
|
#if DEBUG
|
||||||
{
|
// Read the environment variables from the .env file:
|
||||||
Console.WriteLine("Error: Please provide the port of the runtime API.");
|
var envFilePath = Path.Combine("..", "..", "startup.env");
|
||||||
return;
|
await EnvFile.Apply(envFilePath);
|
||||||
}
|
#endif
|
||||||
|
|
||||||
// Read the secret key for the IPC from the AI_STUDIO_SECRET_KEY environment variable:
|
// Read the secret key for the IPC from the AI_STUDIO_SECRET_KEY environment variable:
|
||||||
var secretPasswordEncoded = Environment.GetEnvironmentVariable("AI_STUDIO_SECRET_PASSWORD");
|
var secretPasswordEncoded = Environment.GetEnvironmentVariable("AI_STUDIO_SECRET_PASSWORD");
|
||||||
@ -58,6 +58,13 @@ internal sealed class Program
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var rustApiPort = Environment.GetEnvironmentVariable("AI_STUDIO_API_PORT");
|
||||||
|
if(string.IsNullOrWhiteSpace(rustApiPort))
|
||||||
|
{
|
||||||
|
Console.WriteLine("Error: The AI_STUDIO_API_PORT environment variable is not set.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var apiToken = Environment.GetEnvironmentVariable("AI_STUDIO_API_TOKEN");
|
var apiToken = Environment.GetEnvironmentVariable("AI_STUDIO_API_TOKEN");
|
||||||
if(string.IsNullOrWhiteSpace(apiToken))
|
if(string.IsNullOrWhiteSpace(apiToken))
|
||||||
{
|
{
|
||||||
@ -67,7 +74,6 @@ internal sealed class Program
|
|||||||
|
|
||||||
API_TOKEN = apiToken;
|
API_TOKEN = apiToken;
|
||||||
|
|
||||||
var rustApiPort = args[0];
|
|
||||||
using var rust = new RustService(rustApiPort, certificateFingerprint);
|
using var rust = new RustService(rustApiPort, certificateFingerprint);
|
||||||
var appPort = await rust.GetAppPort();
|
var appPort = await rust.GetAppPort();
|
||||||
if(appPort == 0)
|
if(appPort == 0)
|
||||||
|
@ -108,7 +108,7 @@ public static class ConfigurationSelectDataFactory
|
|||||||
|
|
||||||
public static IEnumerable<ConfigurationSelectData<PreviewFeatures>> GetPreviewFeaturesData(SettingsManager settingsManager)
|
public static IEnumerable<ConfigurationSelectData<PreviewFeatures>> GetPreviewFeaturesData(SettingsManager settingsManager)
|
||||||
{
|
{
|
||||||
foreach (var source in settingsManager.ConfigurationData.App.PreviewVisibility.GetPreviewFeatures())
|
foreach (var source in settingsManager.ConfigurationData.App.PreviewVisibility.GetPreviewFeatures().Where(x => !x.IsReleased()))
|
||||||
yield return new(source.GetPreviewDescription(), source);
|
yield return new(source.GetPreviewDescription(), source);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,5 +17,26 @@ public static class PreviewFeaturesExtensions
|
|||||||
_ => TB("Unknown preview feature")
|
_ => TB("Unknown preview feature")
|
||||||
};
|
};
|
||||||
|
|
||||||
public static bool IsEnabled(this PreviewFeatures feature, SettingsManager settingsManager) => settingsManager.ConfigurationData.App.EnabledPreviewFeatures.Contains(feature);
|
/// <summary>
|
||||||
|
/// Check if the preview feature is released or not.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// This metadata is necessary because we cannot remove the enum values from the list.
|
||||||
|
/// Otherwise, we could not deserialize old settings files that may contain these values.
|
||||||
|
/// </remarks>
|
||||||
|
/// <param name="feature">The preview feature to check.</param>
|
||||||
|
/// <returns>True when the preview feature is released, false otherwise.</returns>
|
||||||
|
public static bool IsReleased(this PreviewFeatures feature) => feature switch
|
||||||
|
{
|
||||||
|
PreviewFeatures.PRE_READ_PDF_2025 => true,
|
||||||
|
_ => false
|
||||||
|
};
|
||||||
|
|
||||||
|
public static bool IsEnabled(this PreviewFeatures feature, SettingsManager settingsManager)
|
||||||
|
{
|
||||||
|
if(feature.IsReleased())
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return settingsManager.ConfigurationData.App.EnabledPreviewFeatures.Contains(feature);
|
||||||
|
}
|
||||||
}
|
}
|
41
app/MindWork AI Studio/Tools/EnvFile.cs
Normal file
41
app/MindWork AI Studio/Tools/EnvFile.cs
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
#if DEBUG
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace AIStudio.Tools;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Read environment variables for the application from an .env file.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// We consider this feature a security issue. Therefore, it is only
|
||||||
|
/// available in DEBUG mode. To ensure this, we remove the code
|
||||||
|
/// from any release build.
|
||||||
|
/// </remarks>
|
||||||
|
public static class EnvFile
|
||||||
|
{
|
||||||
|
public static async Task Apply(string filePath)
|
||||||
|
{
|
||||||
|
if(!File.Exists(filePath))
|
||||||
|
{
|
||||||
|
Console.WriteLine($"Error: The .env file '{filePath}' does not exist.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var lines = await File.ReadAllLinesAsync(filePath, Encoding.UTF8);
|
||||||
|
foreach (var line in lines)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(line) || line.Trim().StartsWith('#'))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
var parts = line.Split(['='], 2);
|
||||||
|
if (parts.Length != 2)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
var key = parts[0].Trim();
|
||||||
|
var value = parts[1].Trim();
|
||||||
|
|
||||||
|
Environment.SetEnvironmentVariable(key, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
@ -4,14 +4,14 @@
|
|||||||
"net9.0": {
|
"net9.0": {
|
||||||
"CodeBeam.MudBlazor.Extensions": {
|
"CodeBeam.MudBlazor.Extensions": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[8.2.0, )",
|
"requested": "[8.2.1, )",
|
||||||
"resolved": "8.2.0",
|
"resolved": "8.2.1",
|
||||||
"contentHash": "MgaQKoKmOnZb2lGKr5EpiGrI2aU+siMVLXWCU4FZLAiZiusfWocq1KRnOhWPyl1mXsU8ROQQgjeSEDrQ4//Yew==",
|
"contentHash": "qPCjpk6vSsjJUt3Kc0J0RLC3aZDYgaE+wDEfvDdWQHh4CtatWF8wr/jfG6q3EwP0V91nr03cW+KCCKZ5JMEnTg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"BuildBundlerMinifier": "3.2.449",
|
"BuildBundlerMinifier": "3.2.449",
|
||||||
"CsvHelper": "33.0.1",
|
"CsvHelper": "33.0.1",
|
||||||
"Microsoft.AspNetCore.Components": "9.0.4",
|
"Microsoft.AspNetCore.Components": "9.0.5",
|
||||||
"Microsoft.AspNetCore.Components.Web": "9.0.4",
|
"Microsoft.AspNetCore.Components.Web": "9.0.5",
|
||||||
"MudBlazor": "8.0.0",
|
"MudBlazor": "8.0.0",
|
||||||
"ZXing.Net": "0.16.9"
|
"ZXing.Net": "0.16.9"
|
||||||
}
|
}
|
||||||
@ -30,18 +30,18 @@
|
|||||||
},
|
},
|
||||||
"Microsoft.Extensions.FileProviders.Embedded": {
|
"Microsoft.Extensions.FileProviders.Embedded": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[9.0.4, )",
|
"requested": "[9.0.5, )",
|
||||||
"resolved": "9.0.4",
|
"resolved": "9.0.5",
|
||||||
"contentHash": "fictUnSF95D+M9iH4X6TYBjud2gbB2r6bcIi0sQknXFc2bHbNucoaK+SzfLCzb47tHSR9a5pm0F1Ioj0PgmFeQ==",
|
"contentHash": "tgYXJtPa72hYrQuw+pqJvvhUOOQtZuk5jhRZINxIgR0cXwe4bLCQhCGffN+Ad4+AIQOlz4YyOc+GX+unsHc9Kg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.Extensions.FileProviders.Abstractions": "9.0.4"
|
"Microsoft.Extensions.FileProviders.Abstractions": "9.0.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Microsoft.NET.ILLink.Tasks": {
|
"Microsoft.NET.ILLink.Tasks": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[9.0.4, )",
|
"requested": "[9.0.5, )",
|
||||||
"resolved": "9.0.4",
|
"resolved": "9.0.5",
|
||||||
"contentHash": "xUdlUxiFwXhTYhB4VxKg/IA0+jlZXJPo70LYuMryWbJHdonIpZjw+7DO2B0pWwpXIOs6MlH5WVXPEtfrGEcVZA=="
|
"contentHash": "4L7wbb3Y4BJgIeSnmAf/C6S/qCs9rT1b0dX72uj3qo0qvUH7D0U1tU5ZlC7A3Wb8E/dXK4caOi4JkdLTVJaXhw=="
|
||||||
},
|
},
|
||||||
"MudBlazor": {
|
"MudBlazor": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
@ -91,52 +91,52 @@
|
|||||||
},
|
},
|
||||||
"Microsoft.AspNetCore.Authorization": {
|
"Microsoft.AspNetCore.Authorization": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "9.0.4",
|
"resolved": "9.0.5",
|
||||||
"contentHash": "QIV3Jk/zb5wsBNkxj4eK4Qoja6f0hO2pUhWrG8NOmgnclA7zbQvzLLKaGnva7/PtglS8VS5HusZfrnnO8FTpSA==",
|
"contentHash": "HPd+7PG+nMZSP13bTJuM5+q0vdzoBtjoBUMP9iuUGwG/kFHkeBOZ9QrZuSHHGmz/IgYdLbqbdJGEykSI5biIPw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.AspNetCore.Metadata": "9.0.4",
|
"Microsoft.AspNetCore.Metadata": "9.0.5",
|
||||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.4",
|
"Microsoft.Extensions.Logging.Abstractions": "9.0.5",
|
||||||
"Microsoft.Extensions.Options": "9.0.4"
|
"Microsoft.Extensions.Options": "9.0.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Microsoft.AspNetCore.Components": {
|
"Microsoft.AspNetCore.Components": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "9.0.4",
|
"resolved": "9.0.5",
|
||||||
"contentHash": "imeT4r1PLXqI3kzf7b06Tzj5H4od8o/u4ZE5JgyrlvwABSZlBQzWN8AgT/lPLqs2VJVxNwcAolx+vxLMl9Dn+g==",
|
"contentHash": "qwA9bx7nWayh1ogWe1H13vyGL64pNjHrukHmnZ9WZbQPtHeY9QTuXkvF/Uue0tzGbxChBf9v2LH5+KeVaRJIqw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.AspNetCore.Authorization": "9.0.4",
|
"Microsoft.AspNetCore.Authorization": "9.0.5",
|
||||||
"Microsoft.AspNetCore.Components.Analyzers": "9.0.4"
|
"Microsoft.AspNetCore.Components.Analyzers": "9.0.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Microsoft.AspNetCore.Components.Analyzers": {
|
"Microsoft.AspNetCore.Components.Analyzers": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "9.0.4",
|
"resolved": "9.0.5",
|
||||||
"contentHash": "fPrKrrfT5o0dJZ4AgbGsXBl4YNTlSrRcpYMgLTsrmYo7aOkZrdWPmsxVsFRyelfmCW9qHH7ZZK/4cTC8HuS7BA=="
|
"contentHash": "u9dQP0/bjkTVHFHVBV+8TYpBVerjbFfvD3nwwOfaoJ8VmyCHoBFbD8m4nxV+rfu+jVLe2FQF4skjHZLIjjFbyQ=="
|
||||||
},
|
},
|
||||||
"Microsoft.AspNetCore.Components.Forms": {
|
"Microsoft.AspNetCore.Components.Forms": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "9.0.4",
|
"resolved": "9.0.5",
|
||||||
"contentHash": "FvoNIyz5URP2QonItKbDBzCcdmSXHWfyh0lUAYkNittlLmFAqaIF4TE55h3/SYLI8ISsbAVd44Cax86HBhLu8w==",
|
"contentHash": "KsAPGDQIa3SpP9yaIDrlETHpqprtmbbotdbGfGJ9aVvn/vi72cCTUVzpWOXIXgstVCb0ZQ940o/wfHKxBZEQMg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.AspNetCore.Components": "9.0.4"
|
"Microsoft.AspNetCore.Components": "9.0.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Microsoft.AspNetCore.Components.Web": {
|
"Microsoft.AspNetCore.Components.Web": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "9.0.4",
|
"resolved": "9.0.5",
|
||||||
"contentHash": "X02T/wGvT7vCgIXG0R4ZWQUx5/qMaKuWJklBL3eaa8b1NJHyPlox6IpI4AcmMy7r1hM8GwaxKfm34dv5b7n5VA==",
|
"contentHash": "llh2dh9rR9JcnAMqvbijc9BzEnVhloQwKF8Kvfw73N2tJMnUJoxF3C9Ln1sao+nkZo3IpUuUu3k2czLOpS3NRQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.AspNetCore.Components": "9.0.4",
|
"Microsoft.AspNetCore.Components": "9.0.5",
|
||||||
"Microsoft.AspNetCore.Components.Forms": "9.0.4",
|
"Microsoft.AspNetCore.Components.Forms": "9.0.5",
|
||||||
"Microsoft.Extensions.DependencyInjection": "9.0.4",
|
"Microsoft.Extensions.DependencyInjection": "9.0.5",
|
||||||
"Microsoft.Extensions.Primitives": "9.0.4",
|
"Microsoft.Extensions.Primitives": "9.0.5",
|
||||||
"Microsoft.JSInterop": "9.0.4"
|
"Microsoft.JSInterop": "9.0.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Microsoft.AspNetCore.Metadata": {
|
"Microsoft.AspNetCore.Metadata": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "9.0.4",
|
"resolved": "9.0.5",
|
||||||
"contentHash": "3AhnSEW/Zw0E++itsen8YvqT7UoyF7zYD9OZPQmeGpT7YQP4W9GOiwOljfJEC8+4pP8kqgpeRN/p4LkmKLIUlQ=="
|
"contentHash": "E4lbYlraZfZLvWgliUEtrqKt42++Yh9mpGKLyGHPGo1FpbZrXF/x+fOg5dbe22bnuosgWn3cj30566XKdwiodw=="
|
||||||
},
|
},
|
||||||
"Microsoft.Extensions.Caching.Abstractions": {
|
"Microsoft.Extensions.Caching.Abstractions": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -160,23 +160,23 @@
|
|||||||
},
|
},
|
||||||
"Microsoft.Extensions.DependencyInjection": {
|
"Microsoft.Extensions.DependencyInjection": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "9.0.4",
|
"resolved": "9.0.5",
|
||||||
"contentHash": "f2MTUaS2EQ3lX4325ytPAISZqgBfXmY0WvgD80ji6Z20AoDNiCESxsqo6mFRwHJD/jfVKRw9FsW6+86gNre3ug==",
|
"contentHash": "N1Mn0T/tUBPoLL+Fzsp+VCEtneUhhxc1//Dx3BeuQ8AX+XrMlYCfnp2zgpEXnTCB7053CLdiqVWPZ7mEX6MPjg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.4"
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": {
|
"Microsoft.Extensions.DependencyInjection.Abstractions": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "9.0.4",
|
"resolved": "9.0.5",
|
||||||
"contentHash": "UI0TQPVkS78bFdjkTodmkH0Fe8lXv9LnhGFKgKrsgUJ5a5FVdFRcgjIkBVLbGgdRhxWirxH/8IXUtEyYJx6GQg=="
|
"contentHash": "cjnRtsEAzU73aN6W7vkWy8Phj5t3Xm78HSqgrbh/O4Q9SK/yN73wZVa21QQY6amSLQRQ/M8N+koGnY6PuvKQsw=="
|
||||||
},
|
},
|
||||||
"Microsoft.Extensions.FileProviders.Abstractions": {
|
"Microsoft.Extensions.FileProviders.Abstractions": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "9.0.4",
|
"resolved": "9.0.5",
|
||||||
"contentHash": "gQN2o/KnBfVk6Bd71E2YsvO5lsqrqHmaepDGk+FB/C4aiQY9B0XKKNKfl5/TqcNOs9OEithm4opiMHAErMFyEw==",
|
"contentHash": "LLm+e8lvD+jOI+blHRSxPqywPaohOTNcVzQv548R1UpkEiNB2D+zf3RrqxBdB1LDPicRMTnfiaKJovxF8oX1bQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.Extensions.Primitives": "9.0.4"
|
"Microsoft.Extensions.Primitives": "9.0.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Microsoft.Extensions.Localization": {
|
"Microsoft.Extensions.Localization": {
|
||||||
@ -197,30 +197,30 @@
|
|||||||
},
|
},
|
||||||
"Microsoft.Extensions.Logging.Abstractions": {
|
"Microsoft.Extensions.Logging.Abstractions": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "9.0.4",
|
"resolved": "9.0.5",
|
||||||
"contentHash": "0MXlimU4Dud6t+iNi5NEz3dO2w1HXdhoOLaYFuLPCjAsvlPQGwOT6V2KZRMLEhCAm/stSZt1AUv0XmDdkjvtbw==",
|
"contentHash": "pP1PADCrIxMYJXxFmTVbAgEU7GVpjK5i0/tyfU9DiE0oXQy3JWQaOVgCkrCiePLgS8b5sghM3Fau3EeHiVWbCg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.4"
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Microsoft.Extensions.Options": {
|
"Microsoft.Extensions.Options": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "9.0.4",
|
"resolved": "9.0.5",
|
||||||
"contentHash": "fiFI2+58kicqVZyt/6obqoFwHiab7LC4FkQ3mmiBJ28Yy4fAvy2+v9MRnSvvlOO8chTOjKsdafFl/K9veCPo5g==",
|
"contentHash": "vPdJQU8YLOUSSK8NL0RmwcXJr2E0w8xH559PGQl4JYsglgilZr9LZnqV2zdgk+XR05+kuvhBEZKoDVd46o7NqA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.4",
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.5",
|
||||||
"Microsoft.Extensions.Primitives": "9.0.4"
|
"Microsoft.Extensions.Primitives": "9.0.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Microsoft.Extensions.Primitives": {
|
"Microsoft.Extensions.Primitives": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "9.0.4",
|
"resolved": "9.0.5",
|
||||||
"contentHash": "SPFyMjyku1nqTFFJ928JAMd0QnRe4xjE7KeKnZMWXf3xk+6e0WiOZAluYtLdbJUXtsl2cCRSi8cBquJ408k8RA=="
|
"contentHash": "b4OAv1qE1C9aM+ShWJu3rlo/WjDwa/I30aIPXqDWSKXTtKl1Wwh6BZn+glH5HndGVVn3C6ZAPQj5nv7/7HJNBQ=="
|
||||||
},
|
},
|
||||||
"Microsoft.JSInterop": {
|
"Microsoft.JSInterop": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "9.0.4",
|
"resolved": "9.0.5",
|
||||||
"contentHash": "iuzwm79XoRYTRhf7cOHgMgGAE8ZsAcCGp2VsIDAV05qRzceKSE1S7tQp+8GTzG7+IZpdPpvfaJUwSD/pYIog5A=="
|
"contentHash": "ji4fQKbUUZiq3lmzVBMvp15VgBtEyfR51NrmEjo6qnD97Jf1R6C6QkSMjwUO8bw5NZIDRtmPCYurypB3W5AMEg=="
|
||||||
},
|
},
|
||||||
"ZXing.Net": {
|
"ZXing.Net": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
|
@ -1 +1,12 @@
|
|||||||
# v0.9.44, build 219 (2025-05-xx xx:xx UTC)
|
# v0.9.44, build 219 (2025-05-18 19:33 UTC)
|
||||||
|
- Added PDF import feature: we have completed the work on the PDF import feature. Importing PDF files has been successfully tested on macOS, Linux, and Windows. The feature is now enabled for everyone.
|
||||||
|
- Added more text content to the localization and added the German translation for it.
|
||||||
|
- Improved compatibility with certain Ubuntu linux versions regarding desktop integration.
|
||||||
|
- Improved the table views for providers, embeddings, and profiles by displaying actions as icons with tooltips.
|
||||||
|
- Improved localization code & German translation.
|
||||||
|
- Fixed a bug with text fields when their content was read live. This issue caused the user interface to refresh too frequently, resulting in increased energy consumption.
|
||||||
|
- Fixed an issue that caused live translation to stop working.
|
||||||
|
- Fixed a rare bug that could, under some circumstances, prevent the currently open chat from being renamed.
|
||||||
|
- Upgraded to .NET 9.0.5
|
||||||
|
- Upgraded to Rust 1.87.0
|
||||||
|
- Upgraded dependencies
|
2
app/MindWork AI Studio/wwwroot/changelog/v0.9.45.md
Normal file
2
app/MindWork AI Studio/wwwroot/changelog/v0.9.45.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# v0.9.45, build 220 (2025-05-xx xx:xx UTC)
|
||||||
|
- Improved chat options: you can access them directly from the chat interface.
|
@ -8,7 +8,7 @@ Therefore, we cannot provide a static list here that is valid for all Linux syst
|
|||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
1. Install the [.NET 9 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/9.0).
|
1. Install the [.NET 9 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/9.0).
|
||||||
2. [Install the Rust compiler](https://www.rust-lang.org/tools/install) in the latest version.
|
2. [Install the Rust compiler](https://www.rust-lang.org/tools/install) in the latest stable version.
|
||||||
3. Met the prerequisites for building [Tauri](https://tauri.app/v1/guides/getting-started/prerequisites/). Node.js is **not** required, though.
|
3. Met the prerequisites for building [Tauri](https://tauri.app/v1/guides/getting-started/prerequisites/). Node.js is **not** required, though.
|
||||||
4. The core team uses [JetBrains](https://www.jetbrains.com/) [Rider](https://www.jetbrains.com/rider/) and [RustRover](https://www.jetbrains.com/rust/) for development. Both IDEs are free to use for open-source projects for non-commercial use. They are available for macOS, Linux, and Windows systems. Profiles are provided for these IDEs, so you can get started right away. However, you can also use a different IDE.
|
4. The core team uses [JetBrains](https://www.jetbrains.com/) [Rider](https://www.jetbrains.com/rider/) and [RustRover](https://www.jetbrains.com/rust/) for development. Both IDEs are free to use for open-source projects for non-commercial use. They are available for macOS, Linux, and Windows systems. Profiles are provided for these IDEs, so you can get started right away. However, you can also use a different IDE.
|
||||||
4. Clone the repository.
|
4. Clone the repository.
|
||||||
@ -29,18 +29,23 @@ In order to build MindWork AI Studio from source instead of using the pre-built
|
|||||||
2. Open a terminal.
|
2. Open a terminal.
|
||||||
3. Navigate to the `/app/Build` directory within the repository.
|
3. Navigate to the `/app/Build` directory within the repository.
|
||||||
4. To build the current version, run `dotnet run build` to build the entire app.
|
4. To build the current version, run `dotnet run build` to build the entire app.
|
||||||
- This will build the app for the current operating system, for both x64 (Intel, AMD) and ARM64 (e.g., Apple Silicon, Raspberry Pi).
|
- This will build the app for the current operating system and CPU architecture (x64, or ARM64).
|
||||||
- The final setup program will be located in `runtime/target/release` afterward.
|
- The final setup program will be located in `runtime/target/release` afterward.
|
||||||
|
|
||||||
## Run the app locally with all your changes
|
## Run the app locally with all your changes
|
||||||
Do you want to test your changes before creating a PR? Follow these steps:
|
Do you want to test your changes before creating a PR? Follow these steps:
|
||||||
1. Ensure you have met all the prerequisites.
|
1. Ensure you have met all the prerequisites.
|
||||||
2. At least once, you have to run the `dotnet run build` command (see above, "Build instructions"). This is necessary because the Tauri framework checks whether the .NET app as so-called "sidecar" is available. Although the sidecar is only necessary for the final release and shipping, Tauri requires it to be present during development.
|
2. At least once, you have to run the `dotnet run build` command (see above, "One-time mandatory steps"). This is necessary because the Tauri framework checks whether the .NET app as so-called "sidecar" is available. Although the sidecar is only necessary for the final release and shipping, Tauri requires it to be present during development.
|
||||||
3. Open a terminal.
|
3. Open a terminal.
|
||||||
4. Navigate to the `runtime` directory within the repository, e.g. `cd repos/mindwork-ai-studio/runtime`.
|
4. Navigate to the `runtime` directory within the repository, e.g. `cd repos/mindwork-ai-studio/runtime`.
|
||||||
5. Run `cargo tauri dev --no-watch`.
|
5. Run `cargo tauri dev --no-watch`.
|
||||||
|
6. Now you have to wait until the Rust code is compiled. Afterward, the Tauri runtime will be started and the app window will appear. This may take a while, especially the first time you run it.
|
||||||
|
7. Open another terminal or tab.
|
||||||
|
8. Navigate to the `app/MindWork AI Studio` directory within the repository.
|
||||||
|
9. Execute the command `dotnet run`.
|
||||||
|
10. After compiling the .NET code, the app will finally start inside the Tauri runtime window.
|
||||||
|
|
||||||
Cargo will compile the Rust code and start the runtime. The runtime will then start the .NET compiler. When the .NET source code is compiled, the app will start. You can now test your changes.
|
You can now test your changes.
|
||||||
|
|
||||||
## Create a release
|
## Create a release
|
||||||
In order to create a release:
|
In order to create a release:
|
||||||
|
@ -58,47 +58,13 @@ When you are confident in the app's safety, follow these steps:
|
|||||||
The AI Studio app should now open without any issues. Once the app is installed, it will check for updates automatically. If a new version is available, you will be prompted to install it.
|
The AI Studio app should now open without any issues. Once the app is installed, it will check for updates automatically. If a new version is available, you will be prompted to install it.
|
||||||
|
|
||||||
## Linux
|
## Linux
|
||||||
AI Studio is available for modern 64-bit Linux systems. The app is provided as an AppImage and a DEB package. We test our app using Ubuntu 22.04, but it should work on other distributions as well.
|
MindWork AI Studio is available for modern 64-bit Linux systems. The app is provided as an `AppImage`. We test our app using Ubuntu 22.04 and Raspberry Pi OS 12 (64-bit), but it should work on other distributions as well.
|
||||||
|
|
||||||
1. **Choosing between the AppImage and DEB package:**
|
We have to figure out if you have an Intel/AMD or a modern ARM system on your Linux machine. Open a terminal and run the command `uname -m`. When the output is `x86_64`, you have an Intel/AMD system. When the output is `aarch64`, you have an ARM system.
|
||||||
- **AppImage:** This is a single file that you can run without installation. It is a bit larger than the DEB package. Main advantage is that automatic updates are supported. When a new version is available, the app will prompt you to download and install it. Unfortunately, the AppImage version is not yet supported for ARM systems.
|
|
||||||
|
|
||||||
- **DEB package:** This is a traditional Debian package that you can install using your package manager. It is smaller than the AppImage. The main disadvantage is that you have to check for updates manually. Unfortunately, we don't have a Debian repository for automatic updates yet. That means:
|
- **Intel/AMD:** [Download the Intel/AMD AppImage](https://github.com/MindWorkAI/AI-Studio/releases/latest/download/mind-work-ai-studio_amd64.AppImage) of AI Studio.
|
||||||
- You won't get a notification when a new version is available.
|
|
||||||
- You have to download any updated DEB package from our [release page](https://github.com/MindWorkAI/AI-Studio/releases/latest) and install it manually again.
|
|
||||||
|
|
||||||
Another issue is that the DEB package is only compatible with Debian-based distributions. For other distributions, you have to use the AppImage version.
|
- **ARM:** [Download the ARM AppImage](https://github.com/MindWorkAI/AI-Studio/releases/latest/download/mind-work-ai-studio_aarch64.AppImage) of AI Studio.
|
||||||
|
|
||||||
2. **Choosing CPU architecture:**
|
|
||||||
Next, we have to figure out if you have an Intel/AMD or a modern ARM system on your Linux machine. Open a terminal and run the command `uname -m`. When the output is `x86_64`, you have an Intel/AMD system. If the output is `aarch64`, you have an ARM system.
|
|
||||||
|
|
||||||
- **Intel/AMD:** [Download the AppImage](https://github.com/MindWorkAI/AI-Studio/releases/latest/download/mind-work-ai-studio_amd64.AppImage) (recommended) or [DEB package](https://github.com/MindWorkAI/AI-Studio/releases/latest/download/mind-work-ai-studio_amd64.deb) of AI Studio.
|
|
||||||
|
|
||||||
- **ARM:** Unfortunately, the AppImage version is not yet supported for ARM systems. [Download the DEB package](https://github.com/MindWorkAI/AI-Studio/releases/latest/download/mind-work-ai-studio_arm64.deb) of AI Studio instead.
|
|
||||||
|
|
||||||
### DEB Package Installation
|
|
||||||
|
|
||||||
**Install the app using the desktop environment:**
|
|
||||||
1. Download the DEB package from the link above.
|
|
||||||
2. Open your file manager and navigate to the Downloads folder.
|
|
||||||
3. Right-click on the DEB package and select "Open with other application":
|
|
||||||

|
|
||||||
4. Choose your package manager, e.g., "Software Install":
|
|
||||||

|
|
||||||
5. Click on "Install":
|
|
||||||

|
|
||||||
6. Enter your password and click on "Authenticate."
|
|
||||||
7. Wait for the installation to finish.
|
|
||||||
8. Close the package manager.
|
|
||||||
9. You can now find the app in your application menu.
|
|
||||||
|
|
||||||
**Install the app using the terminal:**
|
|
||||||
1. Download the DEB package from the link above.
|
|
||||||
2. Open a terminal and navigate to the Downloads folder: `cd Downloads`.
|
|
||||||
3. Install the DEB package: `sudo apt install ./mind-work-ai-studio_amd64.deb`.
|
|
||||||
4. Enter your password and press Enter.
|
|
||||||
5. Wait for the installation to finish.
|
|
||||||
6. You can now find the app in your application menu.
|
|
||||||
|
|
||||||
### AppImage Installation
|
### AppImage Installation
|
||||||
|
|
||||||
|
14
metadata.txt
14
metadata.txt
@ -1,11 +1,11 @@
|
|||||||
0.9.43
|
0.9.44
|
||||||
2025-05-11 17:22:03 UTC
|
2025-05-18 19:33:02 UTC
|
||||||
218
|
219
|
||||||
9.0.105 (commit 35890ecb87)
|
9.0.106 (commit 8cdf6f0897)
|
||||||
9.0.4 (commit f57e6dc747)
|
9.0.5 (commit e36e4d1a8f)
|
||||||
1.86.0 (commit 05f9846f8)
|
1.87.0 (commit 17067e9ac)
|
||||||
8.6.0
|
8.6.0
|
||||||
1.8.1
|
1.8.1
|
||||||
ba236c4012d, release
|
9aa0a914653, release
|
||||||
osx-arm64
|
osx-arm64
|
||||||
137.0.7123.0
|
137.0.7123.0
|
6
runtime/Cargo.lock
generated
6
runtime/Cargo.lock
generated
@ -1119,9 +1119,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "file-format"
|
name = "file-format"
|
||||||
version = "0.26.0"
|
version = "0.27.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e7ef3d5e8ae27277c8285ac43ed153158178ef0f79567f32024ca8140a0c7cd8"
|
checksum = "0ff8badf6e72ff15e42c9ade15d01375837173b17d10c228ab41d821082619db"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "filetime"
|
name = "filetime"
|
||||||
@ -2624,7 +2624,7 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "mindwork-ai-studio"
|
name = "mindwork-ai-studio"
|
||||||
version = "0.9.43"
|
version = "0.9.44"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes",
|
"aes",
|
||||||
"arboard",
|
"arboard",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "mindwork-ai-studio"
|
name = "mindwork-ai-studio"
|
||||||
version = "0.9.43"
|
version = "0.9.44"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "MindWork AI Studio"
|
description = "MindWork AI Studio"
|
||||||
authors = ["Thorsten Sommer"]
|
authors = ["Thorsten Sommer"]
|
||||||
@ -33,7 +33,7 @@ pbkdf2 = "0.12.2"
|
|||||||
hmac = "0.12.1"
|
hmac = "0.12.1"
|
||||||
sha2 = "0.10.8"
|
sha2 = "0.10.8"
|
||||||
rcgen = { version = "0.13.2", features = ["pem"] }
|
rcgen = { version = "0.13.2", features = ["pem"] }
|
||||||
file-format = "0.26.0"
|
file-format = "0.27.0"
|
||||||
calamine = "0.27.0"
|
calamine = "0.27.0"
|
||||||
pdfium-render = "0.8.31"
|
pdfium-render = "0.8.31"
|
||||||
sys-locale = "0.3.2"
|
sys-locale = "0.3.2"
|
||||||
|
@ -34,54 +34,65 @@ pub fn dotnet_port(_token: APIToken) -> String {
|
|||||||
format!("{dotnet_server_port}")
|
format!("{dotnet_server_port}")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Creates the startup environment file for the .NET server in the development
|
||||||
|
/// environment. The file is created in the root directory of the repository.
|
||||||
|
/// Creating that env file on a production environment would be a security
|
||||||
|
/// issue, since it contains the secret password and salt in plain text.
|
||||||
|
/// Anyone could read that file and decrypt the secret communication
|
||||||
|
/// between the .NET server and the Tauri app.
|
||||||
|
///
|
||||||
|
/// Therefore, we not only create the file in the development environment
|
||||||
|
/// but also remove that code from any production build.
|
||||||
|
#[cfg(debug_assertions)]
|
||||||
|
pub fn create_startup_env_file() {
|
||||||
|
|
||||||
|
// Get the secret password & salt and convert it to a base64 string:
|
||||||
|
let secret_password = BASE64_STANDARD.encode(ENCRYPTION.secret_password);
|
||||||
|
let secret_key_salt = BASE64_STANDARD.encode(ENCRYPTION.secret_key_salt);
|
||||||
|
let api_port = *API_SERVER_PORT;
|
||||||
|
|
||||||
|
warn!(Source = "Bootloader .NET"; "Development environment detected; create the startup env file at '../startup.env'.");
|
||||||
|
let env_file_path = std::path::PathBuf::from("..").join("startup.env");
|
||||||
|
let mut env_file = std::fs::File::create(env_file_path).unwrap();
|
||||||
|
let env_file_content = format!(
|
||||||
|
"AI_STUDIO_SECRET_PASSWORD={secret_password}\n\
|
||||||
|
AI_STUDIO_SECRET_KEY_SALT={secret_key_salt}\n\
|
||||||
|
AI_STUDIO_CERTIFICATE_FINGERPRINT={cert_fingerprint}\n\
|
||||||
|
AI_STUDIO_API_PORT={api_port}\n\
|
||||||
|
AI_STUDIO_API_TOKEN={api_token}",
|
||||||
|
|
||||||
|
cert_fingerprint = CERTIFICATE_FINGERPRINT.get().unwrap(),
|
||||||
|
api_token = API_TOKEN.to_hex_text()
|
||||||
|
);
|
||||||
|
|
||||||
|
std::io::Write::write_all(&mut env_file, env_file_content.as_bytes()).unwrap();
|
||||||
|
info!(Source = "Bootloader .NET"; "The startup env file was created successfully.");
|
||||||
|
}
|
||||||
|
|
||||||
/// Starts the .NET server in a separate process.
|
/// Starts the .NET server in a separate process.
|
||||||
pub fn start_dotnet_server() {
|
pub fn start_dotnet_server() {
|
||||||
|
|
||||||
// Get the secret password & salt and convert it to a base64 string:
|
// Get the secret password & salt and convert it to a base64 string:
|
||||||
let secret_password = BASE64_STANDARD.encode(ENCRYPTION.secret_password);
|
let secret_password = BASE64_STANDARD.encode(ENCRYPTION.secret_password);
|
||||||
let secret_key_salt = BASE64_STANDARD.encode(ENCRYPTION.secret_key_salt);
|
let secret_key_salt = BASE64_STANDARD.encode(ENCRYPTION.secret_key_salt);
|
||||||
|
let api_port = *API_SERVER_PORT;
|
||||||
|
|
||||||
let dotnet_server_environment = HashMap::from_iter([
|
let dotnet_server_environment = HashMap::from_iter([
|
||||||
(String::from("AI_STUDIO_SECRET_PASSWORD"), secret_password),
|
(String::from("AI_STUDIO_SECRET_PASSWORD"), secret_password),
|
||||||
(String::from("AI_STUDIO_SECRET_KEY_SALT"), secret_key_salt),
|
(String::from("AI_STUDIO_SECRET_KEY_SALT"), secret_key_salt),
|
||||||
(String::from("AI_STUDIO_CERTIFICATE_FINGERPRINT"), CERTIFICATE_FINGERPRINT.get().unwrap().to_string()),
|
(String::from("AI_STUDIO_CERTIFICATE_FINGERPRINT"), CERTIFICATE_FINGERPRINT.get().unwrap().to_string()),
|
||||||
|
(String::from("AI_STUDIO_API_PORT"), format!("{api_port}")),
|
||||||
(String::from("AI_STUDIO_API_TOKEN"), API_TOKEN.to_hex_text().to_string()),
|
(String::from("AI_STUDIO_API_TOKEN"), API_TOKEN.to_hex_text().to_string()),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
info!("Try to start the .NET server...");
|
info!("Try to start the .NET server...");
|
||||||
let server_spawn_clone = DOTNET_SERVER.clone();
|
let server_spawn_clone = DOTNET_SERVER.clone();
|
||||||
tauri::async_runtime::spawn(async move {
|
tauri::async_runtime::spawn(async move {
|
||||||
let api_port = *API_SERVER_PORT;
|
let (mut rx, child) = Command::new_sidecar("mindworkAIStudioServer")
|
||||||
let (mut rx, child) = match is_dev() {
|
|
||||||
true => {
|
|
||||||
// We are in the development environment, so we try to start a process
|
|
||||||
// with `dotnet run` in the `../app/MindWork AI Studio` directory. But
|
|
||||||
// we cannot issue a sidecar because we cannot use any command for the
|
|
||||||
// sidecar (see Tauri configuration). Thus, we use a standard Rust process:
|
|
||||||
warn!(Source = "Bootloader .NET"; "Development environment detected; start .NET server using 'dotnet run'.");
|
|
||||||
Command::new("dotnet")
|
|
||||||
|
|
||||||
// Start the .NET server in the `../app/MindWork AI Studio` directory.
|
|
||||||
// We provide the runtime API server port to the .NET server:
|
|
||||||
.args(["run", "--project", "../app/MindWork AI Studio", "--", format!("{api_port}").as_str()])
|
|
||||||
|
|
||||||
.envs(dotnet_server_environment)
|
|
||||||
.spawn()
|
|
||||||
.expect("Failed to spawn .NET server process.")
|
|
||||||
}
|
|
||||||
|
|
||||||
false => {
|
|
||||||
Command::new_sidecar("mindworkAIStudioServer")
|
|
||||||
.expect("Failed to create sidecar")
|
.expect("Failed to create sidecar")
|
||||||
|
|
||||||
// Provide the runtime API server port to the .NET server:
|
|
||||||
.args([format!("{api_port}").as_str()])
|
|
||||||
|
|
||||||
.envs(dotnet_server_environment)
|
.envs(dotnet_server_environment)
|
||||||
.spawn()
|
.spawn()
|
||||||
.expect("Failed to spawn .NET server process.")
|
.expect("Failed to spawn .NET server process.");
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
let server_pid = child.pid();
|
let server_pid = child.pid();
|
||||||
info!(Source = "Bootloader .NET"; "The .NET server process started with PID={server_pid}.");
|
info!(Source = "Bootloader .NET"; "The .NET server process started with PID={server_pid}.");
|
||||||
@ -140,7 +151,7 @@ pub async fn dotnet_ready(_token: APIToken) {
|
|||||||
// held.
|
// held.
|
||||||
{
|
{
|
||||||
let mut initialized = DOTNET_INITIALIZED.lock().unwrap();
|
let mut initialized = DOTNET_INITIALIZED.lock().unwrap();
|
||||||
if *initialized {
|
if !is_dev() && *initialized {
|
||||||
error!("Anyone tried to initialize the runtime twice. This is not intended.");
|
error!("Anyone tried to initialize the runtime twice. This is not intended.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,9 @@ use mindwork_ai_studio::log::init_logging;
|
|||||||
use mindwork_ai_studio::metadata::MetaData;
|
use mindwork_ai_studio::metadata::MetaData;
|
||||||
use mindwork_ai_studio::runtime_api::start_runtime_api;
|
use mindwork_ai_studio::runtime_api::start_runtime_api;
|
||||||
|
|
||||||
|
#[cfg(debug_assertions)]
|
||||||
|
use mindwork_ai_studio::dotnet::create_startup_env_file;
|
||||||
|
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
async fn main() {
|
async fn main() {
|
||||||
let metadata = MetaData::init_from_string(include_str!("../../metadata.txt"));
|
let metadata = MetaData::init_from_string(include_str!("../../metadata.txt"));
|
||||||
@ -44,6 +47,13 @@ async fn main() {
|
|||||||
|
|
||||||
generate_certificate();
|
generate_certificate();
|
||||||
start_runtime_api();
|
start_runtime_api();
|
||||||
|
|
||||||
|
if is_dev() {
|
||||||
|
#[cfg(debug_assertions)]
|
||||||
|
create_startup_env_file();
|
||||||
|
} else {
|
||||||
start_dotnet_server();
|
start_dotnet_server();
|
||||||
|
}
|
||||||
|
|
||||||
start_tauri();
|
start_tauri();
|
||||||
}
|
}
|
@ -6,7 +6,7 @@
|
|||||||
},
|
},
|
||||||
"package": {
|
"package": {
|
||||||
"productName": "MindWork AI Studio",
|
"productName": "MindWork AI Studio",
|
||||||
"version": "0.9.43"
|
"version": "0.9.44"
|
||||||
},
|
},
|
||||||
"tauri": {
|
"tauri": {
|
||||||
"allowlist": {
|
"allowlist": {
|
||||||
|
Loading…
Reference in New Issue
Block a user