Skip to content

Commit 96eda48

Browse files
Added base uri field
1 parent 3d4c69e commit 96eda48

File tree

5 files changed

+25
-1
lines changed

5 files changed

+25
-1
lines changed

extend.php

+1
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
->default('muhammedsaidckr-chatgpt.continue_to_reply', true)
6868
->default('muhammedsaidckr-chatgpt.continue_to_reply_count', 5)
6969
->default('muhammedsaidckr-chatgpt.moderation', false)
70+
->default('muhammedsaidckr-chatgpt.base_uri', 'https://api.openai.com/v1/')
7071
->serializeToForum('chatGptUserPromptId', 'muhammedsaidckr-chatgpt.user_prompt')
7172
->serializeToForum('chatGptBadgeText', 'muhammedsaidckr-chatgpt.user_prompt_badge_text'),
7273
];

js/src/admin/components/ChatGptSettings.tsx

+7
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,13 @@ export default class ChatGptSettings extends ExtensionPage {
2626
}),
2727
placeholder: 'sk-...',
2828
})}
29+
{this.buildSettingComponent({
30+
setting: 'muhammedsaidckr-chatgpt.base_uri',
31+
type: 'text',
32+
label: app.translator.trans('muhammedsaidckr-chatgpt.admin.settings.base_uri_label'),
33+
help: app.translator.trans('muhammedsaidckr-chatgpt.admin.settings.base_uri_help'),
34+
placeholder: 'api.openai.com',
35+
})}
2936
{this.buildSettingComponent({
3037
setting: 'muhammedsaidckr-chatgpt.model',
3138
type: 'dropdown',

locale/en.yml

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ muhammedsaidckr-chatgpt:
55
settings:
66
api_key_label: API Key
77
api_key_help: Get the OpenAI API key from <a>openai.com</a>.
8+
base_uri_label: Base URI
9+
base_uri_help: The base URI of the OpenAI API. Default is <code>https://api.openai.com/v1</code>.
810
model_label: Model
911
model_help: "Learn more about <a>models</a> (default: <code>text-davinci-003</code>)."
1012
max_tokens_label: Max Tokens

locale/tr.yml

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ muhammedsaidckr-chatgpt:
55
settings:
66
api_key_label: API Key
77
api_key_help: Open API key üretmek için <a>openai.com</a>.
8+
base_uri_label: Base URI
9+
base_uri_help: OpenAI API'nin temel URI'si. Varsayılan <code>https://api.openai.com/v1</code>.
810
model_label: Model
911
model_help: "Daha fazla bilgi almak için <a>modeller</a> (varsayılan: <code>gpt-3.5-turbo-instruct</code>)."
1012
max_tokens_label: En fazla kullanılabilecek jeton sayısı

src/ClientProvider.php

+13-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public function boot(Container $container)
2424
$apiKey = $settings->get('muhammedsaidckr-chatgpt.api_key');
2525

2626
if ($apiKey) {
27-
$this->container->singleton(Client::class, fn() => OpenAI::client($apiKey));
27+
$this->container->singleton(Client::class, fn() => $this->getClient($settings));
2828
}
2929

3030
/** @var ExtensionManager $extensions */
@@ -56,4 +56,16 @@ protected function getAgent(SettingsRepositoryInterface $settings, ExtensionMana
5656
return $agent;
5757
}
5858

59+
protected function getClient(SettingsRepositoryInterface $settings)
60+
{
61+
$apiKey = $settings->get('muhammedsaidckr-chatgpt.api_key');
62+
63+
$baseUri = $settings->get('muhammedsaidckr-chatgpt.base_uri');
64+
65+
return OpenAI::factory()
66+
->withApiKey($apiKey)
67+
->withBaseUri($baseUri)
68+
->make();
69+
}
70+
5971
}

0 commit comments

Comments
 (0)