Add support for ollama (#34)

This commit is contained in:
Thorsten Sommer authored and GitHub committed 2024-07-16 10:28:13 +02:00
1 parent 179f350af5
commit 063fd0fcfa
19 files changed
+271 -75

No files matched your search

@@ -1,3 +1,5 @@
using Host = AIStudio.Provider.SelfHosted.Host;
namespace AIStudio.Settings;
public static class SettingsMigrations
@@ -7,7 +9,11 @@ public static class SettingsMigrations
switch (previousData.Version)
{
case Version.V1:
return MigrateFromV1(previousData);
previousData = MigrateV1ToV2(previousData);
return MigrateV2ToV3(previousData);
case Version.V2:
return MigrateV2ToV3(previousData);
default:
Console.WriteLine("No migration needed.");
@@ -15,7 +21,7 @@ public static class SettingsMigrations
}
}
private static Data MigrateFromV1(Data previousData)
private static Data MigrateV1ToV2(Data previousData)
{
//
// Summary:
@@ -36,4 +42,33 @@ public static class SettingsMigrations
UpdateBehavior = previousData.UpdateBehavior,
};
}
private static Data MigrateV2ToV3(Data previousData)
{
//
// Summary:
// In v2, self-hosted providers had no host (LM Studio, llama.cpp, ollama, etc.)
//
Console.WriteLine("Migrating from v2 to v3...");
return new()
{
Version = Version.V3,
Providers = previousData.Providers.Select(provider =>
{
if(provider.IsSelfHosted)
return provider with { Host = Host.LM_STUDIO };
return provider with { Host = Host.NONE };
}).ToList(),
EnableSpellchecking = previousData.EnableSpellchecking,
IsSavingEnergy = previousData.IsSavingEnergy,
NextProviderNum = previousData.NextProviderNum,
ShortcutSendBehavior = previousData.ShortcutSendBehavior,
UpdateBehavior = previousData.UpdateBehavior,
WorkspaceStorageBehavior = previousData.WorkspaceStorageBehavior,
WorkspaceStorageTemporaryMaintenancePolicy = previousData.WorkspaceStorageTemporaryMaintenancePolicy,
};
}
}