Compare commits
2 Commits
134d9399f7
...
76bb1fa40f
Author | SHA1 | Date |
---|---|---|
Simon Lübeß | 76bb1fa40f | |
Simon Lübeß | 0f738b2264 |
|
@ -0,0 +1,4 @@
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
|
@ -0,0 +1,13 @@
|
||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Rider ignored files
|
||||||
|
/modules.xml
|
||||||
|
/.idea.KIKunstKirstenKlöckner.iml
|
||||||
|
/contentModel.xml
|
||||||
|
/projectSettingsUpdater.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
|
@ -0,0 +1 @@
|
||||||
|
KIKunstKirstenKlöckner
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||||
|
<data-source source="LOCAL" name="Nackenserver" uuid="2da1b5f0-41db-4b4f-adbd-3ec21fc94746">
|
||||||
|
<driver-ref>sqlserver.jb</driver-ref>
|
||||||
|
<synchronize>true</synchronize>
|
||||||
|
<jdbc-driver>com.jetbrains.jdbc.sqlserver.SqlServerDriver</jdbc-driver>
|
||||||
|
<jdbc-url>Server=127.0.0.1,1433;Database=KiKunst</jdbc-url>
|
||||||
|
<working-dir>$ProjectFileDir$</working-dir>
|
||||||
|
</data-source>
|
||||||
|
<data-source source="LOCAL" name="KiKunstDatenbank@85.215.58.36" uuid="df248d03-0de1-4e34-86bf-d38047939693">
|
||||||
|
<driver-ref>sqlserver.jb</driver-ref>
|
||||||
|
<synchronize>true</synchronize>
|
||||||
|
<jdbc-driver>com.jetbrains.jdbc.sqlserver.SqlServerDriver</jdbc-driver>
|
||||||
|
<jdbc-url>Server=85.215.58.36;Database=KiKunstDatenbank</jdbc-url>
|
||||||
|
<working-dir>$ProjectFileDir$</working-dir>
|
||||||
|
</data-source>
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Encoding">
|
||||||
|
<file url="file://$PROJECT_DIR$/KIKunstKirstenKlöckner/Program.cs" charset="windows-1252" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="UserContentModel">
|
||||||
|
<attachedFolders />
|
||||||
|
<explicitIncludes />
|
||||||
|
<explicitExcludes />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,38 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="SqlDataSourceStorage">
|
||||||
|
<option name="dataSources">
|
||||||
|
<list>
|
||||||
|
<State>
|
||||||
|
<option name="id" value="01ff5a47-63ce-4ef8-aed7-c9f2f9f5c726" />
|
||||||
|
<option name="name" value="KiKunstDatenbank" />
|
||||||
|
<option name="dbmsName" value="MSSQL" />
|
||||||
|
<option name="urls">
|
||||||
|
<array>
|
||||||
|
<option value="file://$PROJECT_DIR$/KiKunstDatenbank/dpo/Tables/BildInfo.sql" />
|
||||||
|
<option value="file://$PROJECT_DIR$/KiKunstDatenbank/dpo/Tables/WunschInfo.sql" />
|
||||||
|
<option value="file://$PROJECT_DIR$/KiKunstDatenbank/dpo/StoredProcedures/spBildInfo_Insert.sql" />
|
||||||
|
<option value="file://$PROJECT_DIR$/KiKunstDatenbank/dpo/StoredProcedures/spWunschInfo_Insert.sql" />
|
||||||
|
<option value="file://$PROJECT_DIR$/KiKunstDatenbank/dpo/StoredProcedures/spBildInfo_UpdateFileName.sql" />
|
||||||
|
<option value="file://$PROJECT_DIR$/KiKunstDatenbank/dpo/StoredProcedures/spBildInfo_GetAll.sql" />
|
||||||
|
<option value="file://$PROJECT_DIR$/KiKunstDatenbank/dpo/StoredProcedures/spWunschInfo_Get.sql" />
|
||||||
|
</array>
|
||||||
|
</option>
|
||||||
|
<option name="remarks" value="Database Project" />
|
||||||
|
<option name="outPath" value="$PROJECT_DIR$/KiKunstDatenbank" />
|
||||||
|
<option name="codeStyleName" value="Visual Studio Database Project" />
|
||||||
|
<option name="outLayout" value="File per object by schema.groovy" />
|
||||||
|
<option name="scriptOptions">
|
||||||
|
<map>
|
||||||
|
<entry key="ConstraintContext" value="CONSTRAINT_IN_TABLE" />
|
||||||
|
<entry key="MsVsDdlCompatibility" value="1" />
|
||||||
|
<entry key="QualifyWithSchema" value="ALWAYS" />
|
||||||
|
<entry key="Reformat" value="1" />
|
||||||
|
<entry key="UseSemicolon" value="1" />
|
||||||
|
</map>
|
||||||
|
</option>
|
||||||
|
</State>
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="SqlDialectMappings">
|
||||||
|
<file url="file://$PROJECT_DIR$/KiKunstDatenbank/dpo/StoredProcedures/spBildInfo_GetAll.sql" dialect="TSQL" />
|
||||||
|
<file url="file://$PROJECT_DIR$/KiKunstDatenbank/dpo/StoredProcedures/spBildInfo_Insert.sql" dialect="TSQL" />
|
||||||
|
<file url="file://$PROJECT_DIR$/KiKunstDatenbank/dpo/StoredProcedures/spBildInfo_UpdateFileName.sql" dialect="TSQL" />
|
||||||
|
<file url="file://$PROJECT_DIR$/KiKunstDatenbank/dpo/StoredProcedures/spWunschInfo_Get.sql" dialect="TSQL" />
|
||||||
|
<file url="file://$PROJECT_DIR$/KiKunstDatenbank/dpo/StoredProcedures/spWunschInfo_Insert.sql" dialect="TSQL" />
|
||||||
|
<file url="file://$PROJECT_DIR$/KiKunstDatenbank/dpo/Tables/BildInfo.sql" dialect="TSQL" />
|
||||||
|
<file url="file://$PROJECT_DIR$/KiKunstDatenbank/dpo/Tables/WunschInfo.sql" dialect="TSQL" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -7,9 +7,9 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Dapper" Version="2.1.4" />
|
<PackageReference Include="Dapper" Version="2.1.35" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="7.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="8.0.0" />
|
||||||
<PackageReference Include="System.Data.SqlClient" Version="4.8.5" />
|
<PackageReference Include="System.Data.SqlClient" Version="4.8.6" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -4,5 +4,6 @@ namespace KIKunstKirstenKlöckner.Data;
|
||||||
|
|
||||||
public class ChatGPT
|
public class ChatGPT
|
||||||
{
|
{
|
||||||
public static Model GPT4Turbo => new Model("gpt-4-1106-preview") { OwnedBy = "openai" };
|
public static Model GPT4Turbo => new Model("gpt-4-turbo") { OwnedBy = "openai" };
|
||||||
|
public static Model GPT4o => new Model("gpt-4o") { OwnedBy = "openai" };
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
using DataAccess.Data;
|
using DataAccess.Data;
|
||||||
using DataAccess.Models;
|
using DataAccess.Models;
|
||||||
using Radzen;
|
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
using SixLabors.ImageSharp;
|
||||||
|
|
||||||
namespace KIKunstKirstenKlöckner.Data;
|
namespace KIKunstKirstenKlöckner.Data;
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
{
|
{
|
||||||
if (list.Count == 0)
|
if (list.Count == 0)
|
||||||
{
|
{
|
||||||
throw new ArgumentException("List cannot be emtpy: ", nameof(list));
|
yield break;
|
||||||
}
|
}
|
||||||
if (n <= 0)
|
if (n <= 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -9,14 +9,13 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.18.1" />
|
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.21.0" />
|
||||||
<PackageReference Include="OpenAI" Version="1.7.2" />
|
<PackageReference Include="OpenAI" Version="1.11.0" />
|
||||||
<PackageReference Include="Radzen.Blazor" Version="4.14.4" />
|
<PackageReference Include="Radzen.Blazor" Version="4.33.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="wwwroot\NewFolder\" />
|
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.4" />
|
||||||
<PackageReference Include="SixLabors.ImageSharp" Version="3.0.1" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<PageTitle>AiArt</PageTitle>
|
<PageTitle>Wunschbild Generator</PageTitle>
|
||||||
|
|
||||||
<section class="about_section" style="background-image: url('images/5KeineAngstvorFehlern2014.jpeg'); background-size: cover; background-repeat: no-repeat; background-blend-mode:lighten">
|
<section class="about_section" style="background-image: url('images/5KeineAngstvorFehlern2014.jpeg'); background-size: cover; background-repeat: no-repeat; background-blend-mode:lighten">
|
||||||
|
|
||||||
|
@ -141,15 +141,28 @@
|
||||||
<RadzenNumeric ShowUpDown = "false" TValue = "int?" @bind-Value=@_imageHeight />
|
<RadzenNumeric ShowUpDown = "false" TValue = "int?" @bind-Value=@_imageHeight />
|
||||||
</RadzenStack>
|
</RadzenStack>
|
||||||
</RadzenStack>
|
</RadzenStack>
|
||||||
<RadzenStack Orientation="Orientation.Horizontal"
|
<RadzenRadioButtonList @bind-Value=@_usedGptModel TValue="GptModel" class="mb-5">
|
||||||
AlignItems="AlignItems.Center" Wrap="FlexWrap.Wrap">
|
<Items>
|
||||||
<RadzenCheckBox @bind-Value=@_useGpt4Turbo Name="UseGPT4"/>
|
<RadzenRadioButtonListItem Text="GPT-3.5 Turbo" Value="GptModel.Gpt3_5_turbo"
|
||||||
<RadzenLabel Text="Verwende GPT 4 Turbo" Component="UseGPT4" Style="margin-left: 8px; vertical-align: middle;" />
|
MouseEnter="@(args => ShowTooltip("Schnell aber nicht sonderlich clever.", args))"
|
||||||
</RadzenStack>
|
MouseLeave="TooltipService.Close">
|
||||||
|
</RadzenRadioButtonListItem>
|
||||||
|
<RadzenRadioButtonListItem Text="GPT-4 Turbo" Value="GptModel.Gpt4_turbo"
|
||||||
|
MouseEnter="@(args => ShowTooltip("Etwas langsamer, aber recht klug.", args))"
|
||||||
|
MouseLeave="TooltipService.Close">
|
||||||
|
</RadzenRadioButtonListItem>
|
||||||
|
<RadzenRadioButtonListItem Text="GPT-4o" Value="GptModel.Gpt4o"
|
||||||
|
MouseEnter="@(args => ShowTooltip("Schnell, gut und günstig. Warum gibt es überhaupt eine Auswahlmöglichkeit?", args))"
|
||||||
|
MouseLeave="TooltipService.Close">
|
||||||
|
</RadzenRadioButtonListItem>
|
||||||
|
</Items>
|
||||||
|
</RadzenRadioButtonList>
|
||||||
@* <RadzenRadioButtonList Data="@_imageModels" @bind-Value=@_selectedImageModel TValue="ModelInfo" TextProperty="Name" class="mb-5"> *@
|
@* <RadzenRadioButtonList Data="@_imageModels" @bind-Value=@_selectedImageModel TValue="ModelInfo" TextProperty="Name" class="mb-5"> *@
|
||||||
<RadzenRadioButtonList Data="@_imageModels" @bind-Value=@_selectedImageModel TValue="ModelInfo" TextProperty="Name" ValueProperty="" class="mb-5">
|
<RadzenRadioButtonList Data="@_imageModels" @bind-Value=@_selectedImageModel TValue="ModelInfo" TextProperty="Name" ValueProperty="" class="mb-5">
|
||||||
<Items>
|
<Items>
|
||||||
<RadzenRadioButtonListItem Text="Zufällig" Value="@null" TValue="ModelInfo"/>
|
<RadzenRadioButtonListItem Text="Zufällig" Value="@null" TValue="ModelInfo"
|
||||||
|
MouseEnter="@(args => ShowTooltip("Für jedes Bild wird zufällig ein Generator ausgewählt.", args))"
|
||||||
|
MouseLeave="TooltipService.Close"/>
|
||||||
</Items>
|
</Items>
|
||||||
</RadzenRadioButtonList>
|
</RadzenRadioButtonList>
|
||||||
</RadzenCard>
|
</RadzenCard>
|
||||||
|
@ -288,10 +301,17 @@
|
||||||
|
|
||||||
IEnumerable<BildInfoModel>? _allBildInfos;
|
IEnumerable<BildInfoModel>? _allBildInfos;
|
||||||
|
|
||||||
|
enum GptModel
|
||||||
|
{
|
||||||
|
Gpt3_5_turbo,
|
||||||
|
Gpt4_turbo,
|
||||||
|
Gpt4o
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Wenn <see langword="true"/> wird GPT4 verwendet um die Idee zu interpretieren.
|
/// Das ChatGPT Model, das zur Erzeugung der Idee und Bild-Promts verwendet wird.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private bool _useGpt4Turbo;
|
private GptModel _usedGptModel = GptModel.Gpt3_5_turbo;
|
||||||
|
|
||||||
private int maxAddons = 2;
|
private int maxAddons = 2;
|
||||||
private int amountOfAddons = 0; // wird später geändert
|
private int amountOfAddons = 0; // wird später geändert
|
||||||
|
@ -331,6 +351,11 @@
|
||||||
,
|
,
|
||||||
new() { Position = TooltipPosition.Bottom, Duration = null});
|
new() { Position = TooltipPosition.Bottom, Duration = null});
|
||||||
|
|
||||||
|
void ShowTooltip(string text, ElementReference elementReference) => TooltipService.Open(elementReference, ds =>
|
||||||
|
@<div>@text</div>
|
||||||
|
,
|
||||||
|
new() { Position = TooltipPosition.Bottom, Duration = null});
|
||||||
|
|
||||||
private string _imageIdea = "";
|
private string _imageIdea = "";
|
||||||
|
|
||||||
private float _temperature = 0.9f;
|
private float _temperature = 0.9f;
|
||||||
|
@ -408,7 +433,13 @@
|
||||||
ChatRequest chatRequest = new ChatRequest
|
ChatRequest chatRequest = new ChatRequest
|
||||||
{
|
{
|
||||||
Temperature = _temperature,
|
Temperature = _temperature,
|
||||||
Model = _useGpt4Turbo ? ChatGPT.GPT4Turbo : Model.ChatGPTTurbo
|
Model = _usedGptModel switch
|
||||||
|
{
|
||||||
|
GptModel.Gpt3_5_turbo => Model.ChatGPTTurbo,
|
||||||
|
GptModel.Gpt4_turbo => ChatGPT.GPT4Turbo,
|
||||||
|
GptModel.Gpt4o => ChatGPT.GPT4o,
|
||||||
|
_ => throw new ArgumentOutOfRangeException()
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
_conversation = _openAiApi.Chat.CreateConversation(chatRequest);
|
_conversation = _openAiApi.Chat.CreateConversation(chatRequest);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
using DataAccess.Data;
|
using DataAccess.Data;
|
||||||
using DataAccess.DbAccess;
|
using DataAccess.DbAccess;
|
||||||
using KIKunstKirstenKlöckner.Data;
|
using KIKunstKirstenKlöckner.Data;
|
||||||
using Radzen;
|
using Radzen;
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"sdk": {
|
||||||
|
"version": "8.0.0",
|
||||||
|
"rollForward": "latestMajor",
|
||||||
|
"allowPrerelease": true
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue