feat(i18n): add internationalization support across multiple components
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import type { ConfigFormItem, DocLinkConfig } from './ConfigurationDialog';
|
||||
import { LLM_FACTORY_LIST } from '@/constants/llm';
|
||||
import i18n from '@/locales';
|
||||
|
||||
// AWS Bedrock 支持的区域列表
|
||||
export const BEDROCK_REGIONS = [
|
||||
@@ -54,71 +55,71 @@ export const MODEL_TYPE_OPTIONS = [
|
||||
export const DOC_LINKS: Record<string, DocLinkConfig> = {
|
||||
[LLM_FACTORY_LIST.AzureOpenAI]: {
|
||||
url: 'https://azure.microsoft.com/en-us/products/ai-services/openai-service',
|
||||
text: '如何集成 Azure OpenAI',
|
||||
text: `${i18n.t('setting.howToIntegrate')} Azure OpenAI`,
|
||||
},
|
||||
[LLM_FACTORY_LIST.Bedrock]: {
|
||||
url: 'https://console.aws.amazon.com/',
|
||||
text: '如何集成 Bedrock',
|
||||
text: `${i18n.t('setting.howToIntegrate')} Bedrock`,
|
||||
},
|
||||
[LLM_FACTORY_LIST.Ollama]: {
|
||||
url: 'https://github.com/infiniflow/ragflow/blob/main/docs/guides/models/deploy_local_llm.mdx',
|
||||
text: '如何集成 Ollama',
|
||||
text: `${i18n.t('setting.howToIntegrate')} Ollama`,
|
||||
},
|
||||
[LLM_FACTORY_LIST.Xinference]: {
|
||||
url: 'https://inference.readthedocs.io/en/latest/user_guide',
|
||||
text: '如何集成 Xinference',
|
||||
text: `${i18n.t('setting.howToIntegrate')} Xinference`,
|
||||
},
|
||||
[LLM_FACTORY_LIST.ModelScope]: {
|
||||
url: 'https://www.modelscope.cn/docs/model-service/API-Inference/intro',
|
||||
text: '如何集成 ModelScope',
|
||||
text: `${i18n.t('setting.howToIntegrate')} ModelScope`,
|
||||
},
|
||||
[LLM_FACTORY_LIST.LocalAI]: {
|
||||
url: 'https://localai.io/docs/getting-started/models/',
|
||||
text: '如何集成 LocalAI',
|
||||
text: `${i18n.t('setting.howToIntegrate')} LocalAI`,
|
||||
},
|
||||
[LLM_FACTORY_LIST.LMStudio]: {
|
||||
url: 'https://lmstudio.ai/docs/basics',
|
||||
text: '如何集成 LMStudio',
|
||||
text: `${i18n.t('setting.howToIntegrate')} LMStudio`,
|
||||
},
|
||||
[LLM_FACTORY_LIST.OpenAiAPICompatible]: {
|
||||
url: 'https://platform.openai.com/docs/models/gpt-4',
|
||||
text: '如何集成 OpenAI API Compatible',
|
||||
text: `${i18n.t('setting.howToIntegrate')} OpenAI API Compatible`,
|
||||
},
|
||||
[LLM_FACTORY_LIST.TogetherAI]: {
|
||||
url: 'https://docs.together.ai/docs/deployment-options',
|
||||
text: '如何集成 TogetherAI',
|
||||
text: `${i18n.t('setting.howToIntegrate')} TogetherAI`,
|
||||
},
|
||||
[LLM_FACTORY_LIST.Replicate]: {
|
||||
url: 'https://replicate.com/docs/topics/deployments',
|
||||
text: '如何集成 Replicate',
|
||||
text: `${i18n.t('setting.howToIntegrate')} Replicate`,
|
||||
},
|
||||
[LLM_FACTORY_LIST.OpenRouter]: {
|
||||
url: 'https://openrouter.ai/docs',
|
||||
text: '如何集成 OpenRouter',
|
||||
text: `${i18n.t('setting.howToIntegrate')} OpenRouter`,
|
||||
},
|
||||
[LLM_FACTORY_LIST.HuggingFace]: {
|
||||
url: 'https://huggingface.co/docs/text-embeddings-inference/quick_tour',
|
||||
text: '如何集成 HuggingFace',
|
||||
text: `${i18n.t('setting.howToIntegrate')} HuggingFace`,
|
||||
},
|
||||
[LLM_FACTORY_LIST.GPUStack]: {
|
||||
url: 'https://docs.gpustack.ai/latest/quickstart',
|
||||
text: '如何集成 GPUStack',
|
||||
text: `${i18n.t('setting.howToIntegrate')} GPUStack`,
|
||||
},
|
||||
[LLM_FACTORY_LIST.VLLM]: {
|
||||
url: 'https://docs.vllm.ai/en/latest/',
|
||||
text: '如何集成 VLLM',
|
||||
text: `${i18n.t('setting.howToIntegrate')} VLLM`,
|
||||
},
|
||||
[LLM_FACTORY_LIST.FishAudio]: {
|
||||
url: 'https://www.fish.audio/',
|
||||
text: '如何集成 Fish Audio',
|
||||
text: `${i18n.t('setting.howToIntegrate')} Fish Audio`,
|
||||
},
|
||||
[LLM_FACTORY_LIST.TencentCloud]: {
|
||||
url: 'https://cloud.tencent.com/document/api/1093/37823',
|
||||
text: '如何集成 腾讯云语音识别',
|
||||
text: `${i18n.t('setting.howToIntegrate')} 腾讯云语音识别`,
|
||||
},
|
||||
[LLM_FACTORY_LIST.VolcEngine]: {
|
||||
url: 'https://www.volcengine.com/docs/82379/1302008',
|
||||
text: '如何集成 VolcEngine',
|
||||
text: `${i18n.t('setting.howToIntegrate')} VolcEngine`,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -126,7 +127,7 @@ export const DOC_LINKS: Record<string, DocLinkConfig> = {
|
||||
export const AZURE_OPENAI_CONFIG: ConfigFormItem[] = [
|
||||
{
|
||||
name: 'model_type',
|
||||
label: '模型类型',
|
||||
label: i18n.t('setting.modelType'),
|
||||
type: 'select',
|
||||
required: true,
|
||||
options: [
|
||||
@@ -138,24 +139,24 @@ export const AZURE_OPENAI_CONFIG: ConfigFormItem[] = [
|
||||
},
|
||||
{
|
||||
name: 'llm_name',
|
||||
label: '模型名称',
|
||||
label: i18n.t('setting.modelName'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: 'gpt-3.5-turbo',
|
||||
helperText: '请输入模型名称',
|
||||
helperText: i18n.t('setting.modelNameHelperText'),
|
||||
defaultValue: 'gpt-3.5-turbo',
|
||||
},
|
||||
{
|
||||
name: 'api_base',
|
||||
label: '基础 Url',
|
||||
label: i18n.t('setting.baseUrl'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: 'https://your-resource.openai.azure.com/',
|
||||
helperText: 'Azure OpenAI 服务的端点 URL',
|
||||
helperText: i18n.t('setting.azureOpenAIEndpointHelperText'),
|
||||
validation: {
|
||||
pattern: {
|
||||
value: /^https?:\/\/.+/,
|
||||
message: '基础 URL 必须是有效的 URL',
|
||||
message: i18n.t('setting.baseUrlValidationMessage'),
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -163,7 +164,7 @@ export const AZURE_OPENAI_CONFIG: ConfigFormItem[] = [
|
||||
name: 'api_key',
|
||||
label: 'API-Key',
|
||||
type: 'password',
|
||||
helperText: '输入api key(如果是本地部署的模型,请忽略)',
|
||||
helperText: i18n.t('setting.apiKeyHelperText'),
|
||||
},
|
||||
{
|
||||
name: 'api_version',
|
||||
@@ -171,20 +172,20 @@ export const AZURE_OPENAI_CONFIG: ConfigFormItem[] = [
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '2024-02-01',
|
||||
helperText: 'Azure OpenAI API 版本',
|
||||
helperText: i18n.t('setting.azureAPIVersionHelperText'),
|
||||
defaultValue: '2024-02-01',
|
||||
},
|
||||
{
|
||||
name: 'max_tokens',
|
||||
label: '最大token数',
|
||||
label: i18n.t('setting.maxTokens'),
|
||||
type: 'number',
|
||||
required: true,
|
||||
placeholder: '设置了模型输出的最大长度,以token(单词片段)的数量表示',
|
||||
helperText: '设置了模型输出的最大长度,以token(单词片段)的数量表示',
|
||||
placeholder: i18n.t('setting.maxTokensPlaceholder'),
|
||||
helperText: i18n.t('setting.maxTokensHelperText'),
|
||||
defaultValue: 4096,
|
||||
validation: {
|
||||
min: { value: 1, message: '最大token数必须大于0' },
|
||||
max: { value: 100000, message: '最大token数不能超过100000' },
|
||||
min: { value: 1, message: i18n.t('setting.maxTokensMinMessage') },
|
||||
max: { value: 100000, message: i18n.t('setting.maxTokensMaxMessage') },
|
||||
},
|
||||
},
|
||||
];
|
||||
@@ -193,7 +194,7 @@ export const AZURE_OPENAI_CONFIG: ConfigFormItem[] = [
|
||||
export const BEDROCK_CONFIG: ConfigFormItem[] = [
|
||||
{
|
||||
name: 'model_type',
|
||||
label: '模型类型',
|
||||
label: i18n.t('setting.modelType'),
|
||||
type: 'select',
|
||||
required: true,
|
||||
options: MODEL_TYPE_OPTIONS.slice(0, 2), // 只支持 chat 和 embedding
|
||||
@@ -201,24 +202,24 @@ export const BEDROCK_CONFIG: ConfigFormItem[] = [
|
||||
},
|
||||
{
|
||||
name: 'llm_name',
|
||||
label: '模型名称',
|
||||
label: i18n.t('setting.modelName'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入模型名称',
|
||||
placeholder: i18n.t('setting.modelNamePlaceholder'),
|
||||
},
|
||||
{
|
||||
name: 'bedrock_ak',
|
||||
label: 'ACCESS KEY',
|
||||
type: 'password',
|
||||
required: true,
|
||||
placeholder: '请输入 ACCESS KEY',
|
||||
placeholder: i18n.t('setting.accessKeyPlaceholder'),
|
||||
},
|
||||
{
|
||||
name: 'bedrock_sk',
|
||||
label: 'SECRET KEY',
|
||||
type: 'password',
|
||||
required: true,
|
||||
placeholder: '请输入 SECRET KEY',
|
||||
placeholder: i18n.t('setting.secretKeyPlaceholder'),
|
||||
},
|
||||
{
|
||||
name: 'bedrock_region',
|
||||
@@ -230,14 +231,14 @@ export const BEDROCK_CONFIG: ConfigFormItem[] = [
|
||||
},
|
||||
{
|
||||
name: 'max_tokens',
|
||||
label: '最大token数',
|
||||
label: i18n.t('setting.maxTokens'),
|
||||
type: 'number',
|
||||
required: true,
|
||||
placeholder: '这设置了模型输出的最大长度,以token(单词或词片段)的数量来衡量',
|
||||
helperText: '这设置了模型输出的最大长度,以token(单词或词片段)的数量来衡量',
|
||||
placeholder: i18n.t('setting.maxTokensPlaceholder'),
|
||||
helperText: i18n.t('setting.maxTokensHelperText'),
|
||||
defaultValue: 4096,
|
||||
validation: {
|
||||
min: { value: 1, message: '最大token数必须大于0' },
|
||||
min: { value: 1, message: i18n.t('setting.maxTokensMinMessage') },
|
||||
},
|
||||
},
|
||||
];
|
||||
@@ -246,7 +247,7 @@ export const BEDROCK_CONFIG: ConfigFormItem[] = [
|
||||
export const OLLAMA_CONFIG: ConfigFormItem[] = [
|
||||
{
|
||||
name: 'model_type',
|
||||
label: '模型类型',
|
||||
label: i18n.t('setting.modelType'),
|
||||
type: 'select',
|
||||
required: true,
|
||||
options: MODEL_TYPE_OPTIONS,
|
||||
@@ -254,24 +255,24 @@ export const OLLAMA_CONFIG: ConfigFormItem[] = [
|
||||
},
|
||||
{
|
||||
name: 'llm_name',
|
||||
label: '模型名称',
|
||||
label: i18n.t('setting.modelName'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '例如: llama2, mistral',
|
||||
helperText: '请输入模型名称',
|
||||
placeholder: i18n.t('setting.ollamaModelNamePlaceholder'),
|
||||
helperText: i18n.t('setting.modelNameHelperText'),
|
||||
},
|
||||
{
|
||||
name: 'api_base',
|
||||
label: '基础 URL',
|
||||
label: i18n.t('setting.baseUrl'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: 'http://localhost:8888',
|
||||
helperText: '基础 URL',
|
||||
helperText: i18n.t('setting.baseUrlHelperText'),
|
||||
defaultValue: 'http://localhost:11434',
|
||||
validation: {
|
||||
pattern: {
|
||||
value: /^https?:\/\/.+/,
|
||||
message: '基础 URL 必须是有效的 URL',
|
||||
message: i18n.t('setting.baseUrlValidationMessage'),
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -279,20 +280,20 @@ export const OLLAMA_CONFIG: ConfigFormItem[] = [
|
||||
name: 'api_key',
|
||||
label: 'API Key',
|
||||
type: 'text',
|
||||
placeholder: '如果需要认证,请输入 API Key',
|
||||
helperText: 'API Key (可选)',
|
||||
placeholder: i18n.t('setting.apiKeyOptionalPlaceholder'),
|
||||
helperText: i18n.t('setting.apiKeyOptional'),
|
||||
},
|
||||
{
|
||||
name: 'max_tokens',
|
||||
label: '最大 Token 数',
|
||||
label: i18n.t('setting.maxTokens'),
|
||||
type: 'number',
|
||||
required: true,
|
||||
placeholder: '4096',
|
||||
helperText: '模型支持的最大 Token 数',
|
||||
helperText: i18n.t('setting.maxTokensSupportedHelperText'),
|
||||
defaultValue: 4096,
|
||||
validation: {
|
||||
min: { value: 1, message: '最大 Token 数必须大于 0' },
|
||||
max: { value: 100000, message: '最大 Token 数不能超过 100000' },
|
||||
min: { value: 1, message: i18n.t('setting.maxTokensMinMessage') },
|
||||
max: { value: 100000, message: i18n.t('setting.maxTokensMaxMessage') },
|
||||
},
|
||||
},
|
||||
];
|
||||
@@ -300,7 +301,7 @@ export const OLLAMA_CONFIG: ConfigFormItem[] = [
|
||||
export const BAIDU_YIYAN_CONFIG: ConfigFormItem[] = [
|
||||
{
|
||||
name: 'model_type',
|
||||
label: '模型类型',
|
||||
label: i18n.t('setting.modelType'),
|
||||
type: 'select',
|
||||
required: true,
|
||||
options: MODEL_TYPE_OPTIONS.slice(0, 3),
|
||||
@@ -308,38 +309,38 @@ export const BAIDU_YIYAN_CONFIG: ConfigFormItem[] = [
|
||||
},
|
||||
{
|
||||
name: 'llm_name',
|
||||
label: '模型名称',
|
||||
label: i18n.t('setting.modelName'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入模型名称',
|
||||
placeholder: i18n.t('setting.modelNamePlaceholder'),
|
||||
},
|
||||
{
|
||||
name: 'yiyan_ak',
|
||||
label: '一言 API KEY',
|
||||
label: i18n.t('setting.baiduYiYanAPIKey'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入 API KEY',
|
||||
placeholder: i18n.t('setting.apiKeyPlaceholder'),
|
||||
helperText: 'Baidu YiYan API KEY',
|
||||
},
|
||||
{
|
||||
name: 'yiyan_sk',
|
||||
label: '一言 Secret KEY',
|
||||
label: i18n.t('setting.baiduYiYanSecretKey'),
|
||||
type: 'password',
|
||||
required: true,
|
||||
placeholder: '请输入 Secret KEY',
|
||||
placeholder: i18n.t('setting.secretKeyPlaceholder'),
|
||||
helperText: 'Baidu YiYan Secret KEY',
|
||||
},
|
||||
{
|
||||
name: 'max_tokens',
|
||||
label: '最大token数',
|
||||
label: i18n.t('setting.maxTokens'),
|
||||
type: 'number',
|
||||
required: true,
|
||||
placeholder: '设置了模型输出的最大长度,以token(单词片段)的数量表示',
|
||||
helperText: '设置了模型输出的最大长度,以token(单词片段)的数量表示',
|
||||
placeholder: i18n.t('setting.maxTokensPlaceholder'),
|
||||
helperText: i18n.t('setting.maxTokensHelperText'),
|
||||
defaultValue: 4096,
|
||||
validation: {
|
||||
min: { value: 1, message: '最大token数必须大于0' },
|
||||
max: { value: 100000, message: '最大token数不能超过100000' },
|
||||
min: { value: 1, message: i18n.t('setting.maxTokensMinMessage') },
|
||||
max: { value: 100000, message: i18n.t('setting.maxTokensMaxMessage') },
|
||||
},
|
||||
},
|
||||
];
|
||||
@@ -347,7 +348,7 @@ export const BAIDU_YIYAN_CONFIG: ConfigFormItem[] = [
|
||||
export const FISH_AUDIO_CONFIG: ConfigFormItem[] = [
|
||||
{
|
||||
name: 'model_type',
|
||||
label: '模型类型',
|
||||
label: i18n.t('setting.modelType'),
|
||||
type: 'select',
|
||||
required: true,
|
||||
options: [{ value: 'tts', label: 'TTS' },],
|
||||
@@ -355,17 +356,17 @@ export const FISH_AUDIO_CONFIG: ConfigFormItem[] = [
|
||||
},
|
||||
{
|
||||
name: 'llm_name',
|
||||
label: '模型名称',
|
||||
label: i18n.t('setting.modelName'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入模型名称',
|
||||
placeholder: i18n.t('setting.modelNamePlaceholder'),
|
||||
},
|
||||
{
|
||||
name: 'fish_audio_ak',
|
||||
label: 'Fish Audio API KEY',
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入 API KEY',
|
||||
placeholder: i18n.t('setting.apiKeyPlaceholder'),
|
||||
helperText: 'Fish Audio API KEY',
|
||||
},
|
||||
{
|
||||
@@ -373,20 +374,20 @@ export const FISH_AUDIO_CONFIG: ConfigFormItem[] = [
|
||||
label: 'FishAudio Refrence ID',
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入 Refrence ID',
|
||||
placeholder: i18n.t('setting.fishAudioRefIdPlaceholder'),
|
||||
helperText: 'Fish Audio Refrence ID',
|
||||
},
|
||||
{
|
||||
name: 'max_tokens',
|
||||
label: '最大token数',
|
||||
label: i18n.t('setting.maxTokens'),
|
||||
type: 'number',
|
||||
required: true,
|
||||
placeholder: '设置了模型输出的最大长度,以token(单词片段)的数量表示',
|
||||
helperText: '设置了模型输出的最大长度,以token(单词片段)的数量表示',
|
||||
placeholder: i18n.t('setting.maxTokensPlaceholder'),
|
||||
helperText: i18n.t('setting.maxTokensHelperText'),
|
||||
defaultValue: 4096,
|
||||
validation: {
|
||||
min: { value: 1, message: '最大token数必须大于0' },
|
||||
max: { value: 100000, message: '最大token数不能超过100000' },
|
||||
min: { value: 1, message: i18n.t('setting.maxTokensMinMessage') },
|
||||
max: { value: 100000, message: i18n.t('setting.maxTokensMaxMessage') },
|
||||
},
|
||||
},
|
||||
]
|
||||
@@ -394,7 +395,7 @@ export const FISH_AUDIO_CONFIG: ConfigFormItem[] = [
|
||||
export const GOOGLE_CLOUD_CONFIG: ConfigFormItem[] = [
|
||||
{
|
||||
name: 'model_type',
|
||||
label: '模型类型',
|
||||
label: i18n.t('setting.modelType'),
|
||||
type: 'select',
|
||||
required: true,
|
||||
options: [{ value: 'chat', label: 'Chat' }, { value: 'image2text', label: 'Image2Text' }],
|
||||
@@ -402,46 +403,46 @@ export const GOOGLE_CLOUD_CONFIG: ConfigFormItem[] = [
|
||||
},
|
||||
{
|
||||
name: 'llm_name',
|
||||
label: '模型名称',
|
||||
label: i18n.t('setting.modelName'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入模型名称',
|
||||
placeholder: i18n.t('setting.modelNamePlaceholder'),
|
||||
},
|
||||
{
|
||||
name: 'google_project_id',
|
||||
label: 'Project ID',
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入 Project ID',
|
||||
placeholder: i18n.t('setting.googleProjectIdPlaceholder'),
|
||||
helperText: 'Google Cloud Project ID',
|
||||
},
|
||||
{
|
||||
name: 'google_region',
|
||||
label: 'Google Cloud 区域',
|
||||
label: i18n.t('setting.googleCloudRegion'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入 Google Cloud 区域',
|
||||
helperText: 'Google Cloud 区域',
|
||||
placeholder: i18n.t('setting.googleCloudRegionPlaceholder'),
|
||||
helperText: i18n.t('setting.googleCloudRegionHelperText'),
|
||||
},
|
||||
{
|
||||
name: 'google_service_account_key',
|
||||
label: 'Google Cloud Service Account Key',
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入 Google Cloud Service Account Key',
|
||||
placeholder: i18n.t('setting.googleServiceAccountKeyPlaceholder'),
|
||||
helperText: 'Google Cloud Service Account Key',
|
||||
},
|
||||
{
|
||||
name: 'max_tokens',
|
||||
label: '最大token数',
|
||||
label: i18n.t('setting.maxTokens'),
|
||||
type: 'number',
|
||||
required: true,
|
||||
placeholder: '设置了模型输出的最大长度,以token(单词片段)的数量表示',
|
||||
helperText: '设置了模型输出的最大长度,以token(单词片段)的数量表示',
|
||||
placeholder: i18n.t('setting.maxTokensPlaceholder'),
|
||||
helperText: i18n.t('setting.maxTokensHelperText'),
|
||||
defaultValue: 4096,
|
||||
validation: {
|
||||
min: { value: 1, message: '最大token数必须大于0' },
|
||||
max: { value: 100000, message: '最大token数不能超过100000' },
|
||||
min: { value: 1, message: i18n.t('setting.maxTokensMinMessage') },
|
||||
max: { value: 100000, message: i18n.t('setting.maxTokensMaxMessage') },
|
||||
},
|
||||
},
|
||||
]
|
||||
@@ -449,7 +450,7 @@ export const GOOGLE_CLOUD_CONFIG: ConfigFormItem[] = [
|
||||
export const TENCENT_CLOUD_CONFIG: ConfigFormItem[] = [
|
||||
{
|
||||
name: 'model_type',
|
||||
label: '模型类型',
|
||||
label: i18n.t('setting.modelType'),
|
||||
type: 'select',
|
||||
required: true,
|
||||
options: [{ value: 'speech2text', label: 'Speech2Text' }],
|
||||
@@ -457,7 +458,7 @@ export const TENCENT_CLOUD_CONFIG: ConfigFormItem[] = [
|
||||
},
|
||||
{
|
||||
name: 'llm_name',
|
||||
label: '模型名称',
|
||||
label: i18n.t('setting.modelName'),
|
||||
type: 'select',
|
||||
required: true,
|
||||
options: [
|
||||
@@ -469,38 +470,38 @@ export const TENCENT_CLOUD_CONFIG: ConfigFormItem[] = [
|
||||
},
|
||||
{
|
||||
name: 'tencent_ak',
|
||||
label: '腾讯云 Secret ID',
|
||||
label: i18n.t('setting.tencentSecretId'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入 Secret ID',
|
||||
helperText: '腾讯云 Secret ID',
|
||||
placeholder: i18n.t('setting.secretIdPlaceholder'),
|
||||
helperText: i18n.t('setting.tencentSecretIdHelperText'),
|
||||
},
|
||||
{
|
||||
name: 'tencent_sk',
|
||||
label: '腾讯云 Secret KEY',
|
||||
label: i18n.t('setting.tencentSecretKey'),
|
||||
type: 'password',
|
||||
required: true,
|
||||
placeholder: '请输入 Secret KEY',
|
||||
helperText: '腾讯云 Secret KEY',
|
||||
placeholder: i18n.t('setting.secretKeyPlaceholder'),
|
||||
helperText: i18n.t('setting.tencentSecretKeyHelperText'),
|
||||
},
|
||||
]
|
||||
|
||||
export const TENCENT_HUNYUAN_CONFIG: ConfigFormItem[] = [
|
||||
{
|
||||
name: 'hunyuan_sid',
|
||||
label: '混元 Secret ID',
|
||||
label: i18n.t('setting.hunyuanSecretId'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入 Secret ID',
|
||||
helperText: '混元 Secret ID',
|
||||
placeholder: i18n.t('setting.secretIdPlaceholder'),
|
||||
helperText: i18n.t('setting.hunyuanSecretIdHelperText'),
|
||||
},
|
||||
{
|
||||
name: 'hunyuan_sk',
|
||||
label: '混元 Secret KEY',
|
||||
label: i18n.t('setting.hunyuanSecretKey'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入 Secret KEY',
|
||||
helperText: '混元 Secret KEY',
|
||||
placeholder: i18n.t('setting.secretKeyPlaceholder'),
|
||||
helperText: i18n.t('setting.hunyuanSecretKeyHelperText'),
|
||||
},
|
||||
]
|
||||
|
||||
@@ -508,7 +509,7 @@ export const TENCENT_HUNYUAN_CONFIG: ConfigFormItem[] = [
|
||||
export const XUNFEI_SPARK_CONFIG: ConfigFormItem[] = [
|
||||
{
|
||||
name: 'model_type',
|
||||
label: '模型类型',
|
||||
label: i18n.t('setting.modelType'),
|
||||
type: 'select',
|
||||
required: true,
|
||||
options: [{ value: 'chat', label: 'Chat' }, { value: 'tts', label: 'TTS' }],
|
||||
@@ -516,30 +517,30 @@ export const XUNFEI_SPARK_CONFIG: ConfigFormItem[] = [
|
||||
},
|
||||
{
|
||||
name: 'llm_name',
|
||||
label: '模型名称',
|
||||
label: i18n.t('setting.modelName'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入模型名称',
|
||||
placeholder: i18n.t('setting.modelNamePlaceholder'),
|
||||
},
|
||||
{
|
||||
name: 'xunfei_spark_password',
|
||||
label: '讯飞星火 API Password',
|
||||
label: i18n.t('setting.xunfeiSparkAPIPassword'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入 API Password',
|
||||
helperText: '讯飞星火 API Password',
|
||||
placeholder: i18n.t('setting.apiPasswordPlaceholder'),
|
||||
helperText: i18n.t('setting.xunfeiSparkAPIPasswordHelperText'),
|
||||
},
|
||||
{
|
||||
name: 'max_tokens',
|
||||
label: '最大token数',
|
||||
label: i18n.t('setting.maxTokens'),
|
||||
type: 'number',
|
||||
required: true,
|
||||
placeholder: '设置了模型输出的最大长度,以token(单词片段)的数量表示',
|
||||
helperText: '设置了模型输出的最大长度,以token(单词片段)的数量表示',
|
||||
placeholder: i18n.t('setting.maxTokensPlaceholder'),
|
||||
helperText: i18n.t('setting.maxTokensHelperText'),
|
||||
defaultValue: 4096,
|
||||
validation: {
|
||||
min: { value: 1, message: '最大token数必须大于0' },
|
||||
max: { value: 100000, message: '最大token数不能超过100000' },
|
||||
min: { value: 1, message: i18n.t('setting.maxTokensMinMessage') },
|
||||
max: { value: 100000, message: i18n.t('setting.maxTokensMaxMessage') },
|
||||
},
|
||||
},
|
||||
]
|
||||
@@ -548,7 +549,7 @@ export const XUNFEI_SPARK_CONFIG: ConfigFormItem[] = [
|
||||
export const VOLC_ENGINE_CONFIG: ConfigFormItem[] = [
|
||||
{
|
||||
name: 'model_type',
|
||||
label: '模型类型',
|
||||
label: i18n.t('setting.modelType'),
|
||||
type: 'select',
|
||||
required: true,
|
||||
options: [{ value: 'chat', label: 'Chat' }, { value: 'embedding', label: 'Embedding' }],
|
||||
@@ -556,38 +557,38 @@ export const VOLC_ENGINE_CONFIG: ConfigFormItem[] = [
|
||||
},
|
||||
{
|
||||
name: 'llm_name',
|
||||
label: '模型名称',
|
||||
label: i18n.t('setting.modelName'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入模型名称',
|
||||
placeholder: i18n.t('setting.modelNamePlaceholder'),
|
||||
},
|
||||
{
|
||||
name: 'endpoint_id',
|
||||
label: '模型 EndpointID',
|
||||
label: i18n.t('setting.modelEndpointId'),
|
||||
type: 'text',
|
||||
required: true,
|
||||
placeholder: '请输入 EndpointID',
|
||||
helperText: '模型 EndpointID',
|
||||
placeholder: i18n.t('setting.endpointIdPlaceholder'),
|
||||
helperText: i18n.t('setting.modelEndpointIdHelperText'),
|
||||
},
|
||||
{
|
||||
name: 'ark_api_key',
|
||||
label: '火山 ARK_API_KEY',
|
||||
label: i18n.t('setting.volcEngineARKAPIKey'),
|
||||
type: 'password',
|
||||
required: true,
|
||||
placeholder: '请输入 ARK_API_KEY',
|
||||
helperText: '模型 ARK_API_KEY',
|
||||
placeholder: i18n.t('setting.arkApiKeyPlaceholder'),
|
||||
helperText: i18n.t('setting.modelARKAPIKeyHelperText'),
|
||||
},
|
||||
{
|
||||
name: 'max_tokens',
|
||||
label: '最大token数',
|
||||
label: i18n.t('setting.maxTokens'),
|
||||
type: 'number',
|
||||
required: true,
|
||||
placeholder: '设置了模型输出的最大长度,以token(单词片段)的数量表示',
|
||||
helperText: '设置了模型输出的最大长度,以token(单词片段)的数量表示',
|
||||
placeholder: i18n.t('setting.maxTokensPlaceholder'),
|
||||
helperText: i18n.t('setting.maxTokensHelperText'),
|
||||
defaultValue: 4096,
|
||||
validation: {
|
||||
min: { value: 1, message: '最大token数必须大于0' },
|
||||
max: { value: 100000, message: '最大token数不能超过100000' },
|
||||
min: { value: 1, message: i18n.t('setting.maxTokensMinMessage') },
|
||||
max: { value: 100000, message: i18n.t('setting.maxTokensMaxMessage') },
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user