Skip to content

Commit

Permalink
OpenAIのモデル名を外部から指定できるようにした。とはいえ、対応しているのが対話系だけなので、「ChatGPT3.5系」や「GPT4.…
Browse files Browse the repository at this point in the history
…x系の会話系機能」のみに対応。
  • Loading branch information
komiyamma committed Mar 31, 2023
1 parent 11c9cb2 commit 5107863
Show file tree
Hide file tree
Showing 45 changed files with 85 additions and 64 deletions.
Binary file modified src/.vs/HmChatGPT35Turbo/DesignTimeBuild/.dtbcache.v2
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified src/.vs/HmChatGPT35Turbo/v17/.futdcache.v2
Binary file not shown.
Binary file modified src/.vs/HmChatGPT35Turbo/v17/.suo
Binary file not shown.
Binary file modified src/.vs/ProjectEvaluation/hmchatgpt35turbo.metadata.v6.1
Binary file not shown.
Binary file modified src/.vs/ProjectEvaluation/hmchatgpt35turbo.projects.v6.1
Binary file not shown.
8 changes: 4 additions & 4 deletions src/HmChatGPT35Turbo/HmChatGPT35Turbo.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
<BaseOutputPath>bin\$(PlatformTarget)</BaseOutputPath>
<Authors>Akitsugu Komiyama</Authors>
<Copyright>$(Authors)</Copyright>
<AssemblyVersion>1.0.5.8</AssemblyVersion>
<FileVersion>1.0.5.8</FileVersion>
<Version>1.0.5.8</Version>
<AssemblyVersion>1.0.6.1</AssemblyVersion>
<FileVersion>1.0.6.1</FileVersion>
<Version>1.0.6.1</Version>
</PropertyGroup>

<PropertyGroup Condition="'$(Platform)'=='x86'">
Expand Down Expand Up @@ -42,7 +42,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Betalgo.OpenAI.GPT3" Version="6.8.1" />
<PackageReference Include="Betalgo.OpenAI.GPT3" Version="6.8.3" />
<PackageReference Include="HmNetCOM" Version="2.0.7.9" />
</ItemGroup>

Expand Down
15 changes: 12 additions & 3 deletions src/HmChatGPT35Turbo/OpenAIChat.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,20 @@ class OpenAIChatMain
static string? OpenAIKeyOverWriteVariable = null; // 直接APIの値を上書き指定している場合(マクロなどからの直接の引き渡し)
const string ErrorMessageNoOpenAIKey = OpenAIKeyEnvironmentVariableName + "キーが環境変数にありません。:" + NewLine;

public OpenAIChatMain(string key, IOutputWriter output)
string model = "";

public OpenAIChatMain(string key, string model, IOutputWriter output)
{
// 出力対象のDI用
this.output = output;

this.model = model;
if (this.model == "")
{
this.model = Models.ChatGpt3_5Turbo;
output.WriteLine(this.model);
}

// とりあえず代入。エラーならChatGPTの方が言ってくれる。
if (key.Length > 0)
{
Expand Down Expand Up @@ -104,7 +113,7 @@ public static void InitMessages()
}

// チャットのエンジンやオプション。過去のチャット内容なども渡す。
static IAsyncEnumerable<ChatCompletionCreateResponse> ReBuildPastChatContents(CancellationToken ct)
IAsyncEnumerable<ChatCompletionCreateResponse> ReBuildPastChatContents(CancellationToken ct)
{
var key = GetOpenAIKey();
if (key == null)
Expand All @@ -127,7 +136,7 @@ static IAsyncEnumerable<ChatCompletionCreateResponse> ReBuildPastChatContents(Ca
var options = new ChatCompletionCreateRequest
{
Messages = messageList,
Model = Models.ChatGpt3_5Turbo,
Model = this.model,
MaxTokens = 2000
};

Expand Down
6 changes: 4 additions & 2 deletions src/HmChatGPT35Turbo/WinForm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,14 @@ class AppForm : Form
IOutputWriter output;
IInputReader input;
int DisplayDpi = 96;
string model = "";

public AppForm(string key, IOutputWriter output, IInputReader input)
public AppForm(string key, string model, IOutputWriter output, IInputReader input)
{
// 「入力」や「出力」の対象を外部から受け取り
this.output = output;
this.input = input;
this.model = model;

try
{
Expand Down Expand Up @@ -344,7 +346,7 @@ void SetOpenAI(string key)
{
try
{
ai = new OpenAIChatMain(key, output);
ai = new OpenAIChatMain(key, model, output);
}
catch (Exception ex)
{
Expand Down
4 changes: 2 additions & 2 deletions src/HmChatGPT35Turbo/WinFormCOMInterface.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public class HmChatGPT35Turbo

HmChatGPT35TurboSharedMemory sm = new HmChatGPT35TurboSharedMemory();

public long CreateForm(string key = "")
public long CreateForm(string key = "", string model="")
{
try
{
Expand All @@ -28,7 +28,7 @@ public long CreateForm(string key = "")
{
output = new HmOutputWriter();
input = new HmInputReader();
form = new AppForm(key, output, input);
form = new AppForm(key, model, output, input);

sm.CreateSharedMemory();
}
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,24 @@
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"HmChatGPT35Turbo/1.0.5.8": {
"HmChatGPT35Turbo/1.0.6.1": {
"dependencies": {
"Betalgo.OpenAI.GPT3": "6.8.1",
"Betalgo.OpenAI.GPT3": "6.8.3",
"HmNetCOM": "2.0.7.9"
},
"runtime": {
"HmChatGPT35Turbo.dll": {}
}
},
"Betalgo.OpenAI.GPT3/6.8.1": {
"Betalgo.OpenAI.GPT3/6.8.3": {
"dependencies": {
"Microsoft.Extensions.Http": "6.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0"
},
"runtime": {
"lib/net6.0/OpenAI.GPT3.dll": {
"assemblyVersion": "6.8.1.0",
"fileVersion": "6.8.1.0"
"assemblyVersion": "6.8.3.0",
"fileVersion": "6.8.3.0"
}
}
},
Expand Down Expand Up @@ -154,17 +154,17 @@
}
},
"libraries": {
"HmChatGPT35Turbo/1.0.5.8": {
"HmChatGPT35Turbo/1.0.6.1": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Betalgo.OpenAI.GPT3/6.8.1": {
"Betalgo.OpenAI.GPT3/6.8.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-P+sOCYfwkHbM08Bf2Y6UqDy06Blce6fUS9Ix5STCyr4LiIQ+WhpnmF5uhkAIDsAhCgBAxEkJORWniPuq1F/JPQ==",
"path": "betalgo.openai.gpt3/6.8.1",
"hashPath": "betalgo.openai.gpt3.6.8.1.nupkg.sha512"
"sha512": "sha512-2IiZWvWUJdsFjH8K+bV/cBqprAHlUHWrE0o7ioOUmkaXFSYdlxS+uMP5SYXOM9GLoigzNeVGDpndGox+MCbfwQ==",
"path": "betalgo.openai.gpt3/6.8.3",
"hashPath": "betalgo.openai.gpt3.6.8.3.nupkg.sha512"
},
"HmNetCOM/2.0.7.9": {
"type": "package",
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*--------------------------------------------
* HmChatGPT35Turbo v1.0.5
* HmChatGPT35Turbo v1.0.6.1
*
* Copyright (C) 2023 Akitsugu Komiyama
* under the MIT License
Expand All @@ -16,6 +16,11 @@ SET_OPENAI_KEY:
$OPENAI_KEY = ""; // 直接ここでAPIのKEYの文字列を指定しても良いですが、あまり推奨はしません。直書きする場合、このマクロを迂闊に配布して他者にAPIのキーが漏れないよう注意。
}

// モデルの指定
SET_OPENAI_KEY:

$MODEL = "gpt-3.5-turbo"; // あなたのOpenAIアカウント内のAPIで、gpt-4 以上が使えるならば、"gpt-4"などの設定可能。しかしながら値段が10倍以上に跳ね上がるので注意。

// 選択テキストの保持 ($HmSelectedTextという変数名を変更しないこと)
SAVE_SELECTED_TEXT:

Expand Down Expand Up @@ -81,6 +86,6 @@ SHOW_OPENAI_FORM:
setcomdetachmethod #CHATGPT_OBJ, "DestroyForm";

// フォームの表示。
#_ = member(#CHATGPT_OBJ, "CreateForm", $OPENAI_KEY);
#_ = member(#CHATGPT_OBJ, "CreateForm", $OPENAI_KEY, $MODEL);

return;
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,24 @@
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"HmChatGPT35Turbo/1.0.5.8": {
"HmChatGPT35Turbo/1.0.6.1": {
"dependencies": {
"Betalgo.OpenAI.GPT3": "6.8.1",
"Betalgo.OpenAI.GPT3": "6.8.3",
"HmNetCOM": "2.0.7.9"
},
"runtime": {
"HmChatGPT35Turbo.dll": {}
}
},
"Betalgo.OpenAI.GPT3/6.8.1": {
"Betalgo.OpenAI.GPT3/6.8.3": {
"dependencies": {
"Microsoft.Extensions.Http": "6.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0"
},
"runtime": {
"lib/net6.0/OpenAI.GPT3.dll": {
"assemblyVersion": "6.8.1.0",
"fileVersion": "6.8.1.0"
"assemblyVersion": "6.8.3.0",
"fileVersion": "6.8.3.0"
}
}
},
Expand Down Expand Up @@ -154,17 +154,17 @@
}
},
"libraries": {
"HmChatGPT35Turbo/1.0.5.8": {
"HmChatGPT35Turbo/1.0.6.1": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Betalgo.OpenAI.GPT3/6.8.1": {
"Betalgo.OpenAI.GPT3/6.8.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-P+sOCYfwkHbM08Bf2Y6UqDy06Blce6fUS9Ix5STCyr4LiIQ+WhpnmF5uhkAIDsAhCgBAxEkJORWniPuq1F/JPQ==",
"path": "betalgo.openai.gpt3/6.8.1",
"hashPath": "betalgo.openai.gpt3.6.8.1.nupkg.sha512"
"sha512": "sha512-2IiZWvWUJdsFjH8K+bV/cBqprAHlUHWrE0o7ioOUmkaXFSYdlxS+uMP5SYXOM9GLoigzNeVGDpndGox+MCbfwQ==",
"path": "betalgo.openai.gpt3/6.8.3",
"hashPath": "betalgo.openai.gpt3.6.8.3.nupkg.sha512"
},
"HmNetCOM/2.0.7.9": {
"type": "package",
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*--------------------------------------------
* HmChatGPT35Turbo v1.0.5
* HmChatGPT35Turbo v1.0.6.1
*
* Copyright (C) 2023 Akitsugu Komiyama
* under the MIT License
Expand All @@ -16,6 +16,11 @@ SET_OPENAI_KEY:
$OPENAI_KEY = ""; // 直接ここでAPIのKEYの文字列を指定しても良いですが、あまり推奨はしません。直書きする場合、このマクロを迂闊に配布して他者にAPIのキーが漏れないよう注意。
}

// モデルの指定
SET_OPENAI_KEY:

$MODEL = "gpt-3.5-turbo"; // あなたのOpenAIアカウント内のAPIで、gpt-4 以上が使えるならば、"gpt-4"などの設定可能。しかしながら値段が10倍以上に跳ね上がるので注意。

// 選択テキストの保持 ($HmSelectedTextという変数名を変更しないこと)
SAVE_SELECTED_TEXT:

Expand Down Expand Up @@ -81,6 +86,6 @@ SHOW_OPENAI_FORM:
setcomdetachmethod #CHATGPT_OBJ, "DestroyForm";

// フォームの表示。
#_ = member(#CHATGPT_OBJ, "CreateForm", $OPENAI_KEY);
#_ = member(#CHATGPT_OBJ, "CreateForm", $OPENAI_KEY, $MODEL);

return;
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("Akitsugu Komiyama")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyCopyrightAttribute("Akitsugu Komiyama")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.5.7")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.5.7")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.6.1")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.6.1")]
[assembly: System.Reflection.AssemblyProductAttribute("HmChatGPT35Turbo")]
[assembly: System.Reflection.AssemblyTitleAttribute("HmChatGPT35Turbo")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.5.7")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.6.1")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]

Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
b0558ee7be57479af5ad79256aac318947df4cab
8adfffa4412529d40b2aeaa7993830f15e74d9af
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
},
"projects": {
"G:\\repogitory\\hm_openai_chatgpt35_turbo\\src\\HmChatGPT35Turbo\\HmChatGPT35Turbo.csproj": {
"version": "1.0.5.8",
"version": "1.0.6.1",
"restore": {
"projectUniqueName": "G:\\repogitory\\hm_openai_chatgpt35_turbo\\src\\HmChatGPT35Turbo\\HmChatGPT35Turbo.csproj",
"projectName": "HmChatGPT35Turbo",
Expand Down Expand Up @@ -48,7 +48,7 @@
"dependencies": {
"Betalgo.OpenAI.GPT3": {
"target": "Package",
"version": "[6.8.1, )"
"version": "[6.8.3, )"
},
"HmNetCOM": {
"target": "Package",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("Akitsugu Komiyama")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyCopyrightAttribute("Akitsugu Komiyama")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.5.8")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.5.8")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.6.1")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.6.1")]
[assembly: System.Reflection.AssemblyProductAttribute("HmChatGPT35Turbo")]
[assembly: System.Reflection.AssemblyTitleAttribute("HmChatGPT35Turbo")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.5.8")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.6.1")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]

Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
250069fc9e7849a6c0b846693174cc037a91d385
d0b2b267c5316fc58df346b34377075ad8e38fd5
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"{cf709244-a284-419e-832d-0b354ee2950d}":{"type":"HmNetCOM.HmMacroCOMVar","assembly":"HmChatGPT35Turbo, Version=1.0.5.8, Culture=neutral, PublicKeyToken=null","progid":"HmNetCOM.HmMacroCOMVar"},"{bccbe82c-56e1-4056-ae7c-3c4f62806732}":{"type":"HmOpenAIChatGpt35Turbo.HmChatGPT35Turbo","assembly":"HmChatGPT35Turbo, Version=1.0.5.8, Culture=neutral, PublicKeyToken=null","progid":"HmOpenAIChatGpt35Turbo.HmChatGPT35Turbo"},"{9818f69e-a37d-4a03-bca1-c4c172366473}":{"type":"HmOpenAIChatGpt35Turbo.HmChatGPT35TurboSharedMemory","assembly":"HmChatGPT35Turbo, Version=1.0.5.8, Culture=neutral, PublicKeyToken=null","progid":"HmOpenAIChatGpt35Turbo.HmChatGPT35TurboSharedMemory"}}
{"{cf709244-a284-419e-832d-0b354ee2950d}":{"type":"HmNetCOM.HmMacroCOMVar","assembly":"HmChatGPT35Turbo, Version=1.0.6.1, Culture=neutral, PublicKeyToken=null","progid":"HmNetCOM.HmMacroCOMVar"},"{bccbe82c-56e1-4056-ae7c-3c4f62806732}":{"type":"HmOpenAIChatGpt35Turbo.HmChatGPT35Turbo","assembly":"HmChatGPT35Turbo, Version=1.0.6.1, Culture=neutral, PublicKeyToken=null","progid":"HmOpenAIChatGpt35Turbo.HmChatGPT35Turbo"},"{9818f69e-a37d-4a03-bca1-c4c172366473}":{"type":"HmOpenAIChatGpt35Turbo.HmChatGPT35TurboSharedMemory","assembly":"HmChatGPT35Turbo, Version=1.0.6.1, Culture=neutral, PublicKeyToken=null","progid":"HmOpenAIChatGpt35Turbo.HmChatGPT35TurboSharedMemory"}}
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ff891503e8b6e38ea7cc4cd5c84252be02253ce9
0601a8addc1e24f8d9e164c1ebb82d2d1d0a489d
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"Betalgo.OpenAI.GPT3/6.8.1": {
"Betalgo.OpenAI.GPT3/6.8.3": {
"dependencies": {
"Microsoft.Extensions.Http": "6.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0"
},
"runtime": {
"lib/net6.0/OpenAI.GPT3.dll": {
"assemblyVersion": "6.8.1.0",
"fileVersion": "6.8.1.0"
"assemblyVersion": "6.8.3.0",
"fileVersion": "6.8.3.0"
}
}
},
Expand Down Expand Up @@ -158,12 +158,12 @@
}
},
"libraries": {
"Betalgo.OpenAI.GPT3/6.8.1": {
"Betalgo.OpenAI.GPT3/6.8.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-P+sOCYfwkHbM08Bf2Y6UqDy06Blce6fUS9Ix5STCyr4LiIQ+WhpnmF5uhkAIDsAhCgBAxEkJORWniPuq1F/JPQ==",
"path": "betalgo.openai.gpt3/6.8.1",
"hashPath": "betalgo.openai.gpt3.6.8.1.nupkg.sha512"
"sha512": "sha512-2IiZWvWUJdsFjH8K+bV/cBqprAHlUHWrE0o7ioOUmkaXFSYdlxS+uMP5SYXOM9GLoigzNeVGDpndGox+MCbfwQ==",
"path": "betalgo.openai.gpt3/6.8.3",
"hashPath": "betalgo.openai.gpt3.6.8.3.nupkg.sha512"
},
"HmNetCOM/2.0.7.9": {
"type": "package",
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading

0 comments on commit 5107863

Please sign in to comment.