From a52d8f1c1f10fad6054f31eb2d1a06b34f008f28 Mon Sep 17 00:00:00 2001 From: ningyv <1793599591@qq.com> Date: Wed, 12 Mar 2025 15:42:07 +0800 Subject: [PATCH 1/5] feat: feature/1.6-Integrate custom model --- .../api/AiServiceInsideRouterModelConfig.tsx | 43 +++++++++++-------- .../core/src/pages/loadBalancing/AddModel.tsx | 10 ++++- .../core/src/pages/system/SystemConfig.tsx | 18 +++++++- 3 files changed, 48 insertions(+), 23 deletions(-) diff --git a/frontend/packages/core/src/pages/aiService/api/AiServiceInsideRouterModelConfig.tsx b/frontend/packages/core/src/pages/aiService/api/AiServiceInsideRouterModelConfig.tsx index 3705a89e..70bce5e3 100644 --- a/frontend/packages/core/src/pages/aiService/api/AiServiceInsideRouterModelConfig.tsx +++ b/frontend/packages/core/src/pages/aiService/api/AiServiceInsideRouterModelConfig.tsx @@ -10,7 +10,7 @@ import { DefaultOptionType } from 'antd/es/select' import { forwardRef, useEffect, useImperativeHandle, useState } from 'react' export type AiServiceRouterModelConfigHandle = { - save: () => Promise<{ id: string; config: string, type: string, provider: string }> + save: () => Promise<{ id: string; config: string; type: string; provider: string }> } export type AiServiceRouterModelConfigProps = { @@ -49,7 +49,7 @@ const AiServiceRouterModelConfig = forwardRef { fetchData('simple/ai/models/local/configured', { @@ -113,12 +113,11 @@ const AiServiceRouterModelConfig = forwardRef { - return { ...x, label: x.name, value: x.id } - }) + data.providers?.map((x: SimpleAiProviderItem) => { + return { ...x, label: x.name, value: x.id } + }) ) - if (setDefaultValue && data.providers.length) { + if (setDefaultValue && data.providers.length) { const id = data.providers[0].id form.setFieldValue('provider', id) getLlmList(id) @@ -179,9 +178,14 @@ const AiServiceRouterModelConfig = forwardRef ({ - value: x.id, - label: ( -
- {x.name || x.id} - {modelType === 'online' && x?.scopes?.map((s: any) => {s?.toLocaleUpperCase()})} -
- ) - })) - } + filterOption={(input, option) => (option?.searchText ?? '').includes(input.toLowerCase())} + options={llmList?.map((x) => ({ + value: x.id, + label: ( +
+ {x.name || x.id} + {modelType === 'online' && x?.scopes?.map((s: any) => {s?.toLocaleUpperCase()})} +
+ ), + searchText: x.name.toLowerCase() + }))} onChange={(e) => { form.setFieldValue('config', llmList.find((x) => x.id === e)?.config) }} diff --git a/frontend/packages/core/src/pages/loadBalancing/AddModel.tsx b/frontend/packages/core/src/pages/loadBalancing/AddModel.tsx index 1843d78f..cb94bea4 100644 --- a/frontend/packages/core/src/pages/loadBalancing/AddModel.tsx +++ b/frontend/packages/core/src/pages/loadBalancing/AddModel.tsx @@ -182,7 +182,9 @@ const AddLoadBalancingModel = forwardRef((props, ref: any) {modelType === 'online' && ( label={$t('模型供应商')} name="provider" rules={[{ required: true }]}> (option?.searchText ?? '').includes(input.toLowerCase())} loading={llmListLoading} options={ llmList?.map((x) => ({ @@ -212,7 +217,8 @@ const AddLoadBalancingModel = forwardRef((props, ref: any) {x.name || x.id} { modelType === 'online' &&x?.scopes?.map((s: any) => {s?.toLocaleUpperCase()})} - ) + ), + searchText: x.name.toLowerCase() })) } onChange={(value) => { diff --git a/frontend/packages/core/src/pages/system/SystemConfig.tsx b/frontend/packages/core/src/pages/system/SystemConfig.tsx index f3eacd6e..f0c93662 100644 --- a/frontend/packages/core/src/pages/system/SystemConfig.tsx +++ b/frontend/packages/core/src/pages/system/SystemConfig.tsx @@ -450,9 +450,14 @@ const SystemConfig = forwardRef((_, ref) => { > {providerOptionList && providerOptionList.length > 0 ? ( + )} From 22ccd3d59e08aff77b8255358f02bb578da9c32c Mon Sep 17 00:00:00 2001 From: sunanzhi Date: Wed, 12 Mar 2025 20:23:41 +0800 Subject: [PATCH 2/5] refactor: adjust field requirements in Vertex AI config file --- .../model-providers/vertex_ai/vertex_ai.yaml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/ai-provider/model-runtime/model-providers/vertex_ai/vertex_ai.yaml b/ai-provider/model-runtime/model-providers/vertex_ai/vertex_ai.yaml index 4676b15b..1016af99 100644 --- a/ai-provider/model-runtime/model-providers/vertex_ai/vertex_ai.yaml +++ b/ai-provider/model-runtime/model-providers/vertex_ai/vertex_ai.yaml @@ -20,6 +20,15 @@ configurate_methods: - predefined-model provider_credential_schema: credential_form_schemas: + - variable: vertex_api_base + label: + zh_Hans: API Base + en_US: API Base + type: text-input + required: true + placeholder: + zh_Hans: 在此输入您的 API Base + en_US: Enter your API Base - variable: vertex_project_id label: en_US: Project ID @@ -36,12 +45,12 @@ provider_credential_schema: en_US: Enter your Google Cloud Location - variable: vertex_service_account_key label: - en_US: Service Account Key (Leave blank if you use Application Default Credentials) + en_US: Enter your Google Cloud Service Account Key in base64 format type: secret-input - required: false + required: true placeholder: en_US: Enter your Google Cloud Service Account Key in base64 format address: https://api.openai.com model_config: access_configuration_status: true - access_configuration_demo: "{\"vertex_service_account_key\": \"\", \"vertex_location\": \"\", \"vertex_project_id\": \"\"}" \ No newline at end of file + access_configuration_demo: "{\"vertex_location\": \"\", \"vertex_project_id\": \"\", \"vertex_model\":\"\"}" \ No newline at end of file From 68764a4403082025bf43815ee965a0cb1377b793 Mon Sep 17 00:00:00 2001 From: "Dot.L" <824010343@qq.com> Date: Thu, 13 Mar 2025 09:18:50 +0800 Subject: [PATCH 3/5] Delete .gitlab-ci.yml --- .gitlab-ci.yml | 99 -------------------------------------------------- 1 file changed, 99 deletions(-) delete mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index d8314486..00000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,99 +0,0 @@ -variables: - PATH: /opt/go-1.21/go/bin/:/opt/node/node/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin - GOROOT: /opt/go-1.21/go - GOPROXY: https://goproxy.cn - VERSION: $CI_COMMIT_SHORT_SHA - APP: apipark - APP_PRE: ${APP}_${VERSION} - BUILD_DIR: ${APP}-build - DEPLOY_DESC: "DEV 环境" - VIEW_ADDR: http://172.18.166.219:8288 - SAVE_DIR: /opt/${APP} - NODE_OPTIONS: --max_old_space_size=8192 - APIPARK_OLLAMA_BASE: http://127.0.0.1:11434 - -stages: - - notice - - prefix - - build - - deploy - - webhook - -feishu-informer: # 飞书回调 - stage: notice - variables: - DIFF_URL: "$CI_MERGE_REQUEST_PROJECT_URL/-/merge_requests/$CI_MERGE_REQUEST_IID/diffs" - rules: - - if: $CI_PIPELINE_SOURCE=="merge_request_event" && $CI_COMMIT_BRANCH =~ "main" - script: - - echo "merge request" - - | - curl -X POST -H "Content-Type: application/json" \ - -d "{\"msg_type\":\"text\",\"content\":{\"text\":\"项目:${CI_PROJECT_NAME}\\n提交人:${GITLAB_USER_NAME}\\n提交信息:${CI_MERGE_REQUEST_TITLE}\\n合并分支信息:${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} -> ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}\\n差异性地址:${DIFF_URL}\\n请及时review代码\"}}" \ - https://open.feishu.cn/open-apis/bot/v2/hook/1c334752-2874-41a1-8f1b-3060f2d46b6c - -prebuild: - stage: prefix - rules: - - if: $CI_COMMIT_BRANCH == "main" - script: - - echo "prebuild" - - chmod +x ./scripts/prefix.sh - - ./scripts/prefix.sh - -builder: - stage: build - rules: - - if: $CI_COMMIT_BRANCH == "main" - script: - - set -e - - | - if [ ! -d "../artifacts" ]; then - mkdir -p ../artifacts - fi - if [ -d "../artifacts/dist" ]; then - cp -r ../artifacts/dist frontend/dist - fi - - | - if [ -n "$(git diff --name-status HEAD~1 HEAD -- frontend)" ]; then - ./scripts/build.sh $BUILD_DIR ${VERSION} all "" - else - ./scripts/build.sh $BUILD_DIR ${VERSION} - fi - if [ -d "frontend/dist" ]; then - echo "copy frontend/dist to artifacts/dist" - rm -fr ../artifacts/dist - cp -r frontend/dist ../artifacts/dist - fi - cp $BUILD_DIR/${APP_PRE}_linux_amd64.tar.gz ${SAVE_DIR} - -deployer: - stage: deploy - rules: - - if: $CI_COMMIT_BRANCH == "main" - variables: - APIPARK_GUEST_MODE: allow - APIPARK_GUEST_ID: dklejrfbhjqwdh - script: - - cd ${SAVE_DIR};mkdir -p ${APP_PRE};tar -zxvf ${APP_PRE}_linux_amd64.tar.gz -C ${APP_PRE};cd ${APP_PRE};./install.sh ${SAVE_DIR};./run.sh restart;cd ${SAVE_DIR} && ./clean.sh ${APP_PRE} - when: on_success -success: - stage: webhook - rules: - - if: $CI_COMMIT_BRANCH == "main" - script: - - | - curl -X POST -H "Content-Type: application/json" \ - -d "{\"msg_type\":\"text\",\"content\":{\"text\":\"最近一次提交:${CI_COMMIT_TITLE}\\n提交人:${GITLAB_USER_NAME}\\n项目:${CI_PROJECT_NAME}\\n环境:${DEPLOY_DESC}\\n更新部署完成.\\n访问地址:${VIEW_ADDR}\\n工作流地址:${CI_PIPELINE_URL}\"}}" \ - https://open.feishu.cn/open-apis/bot/v2/hook/c3672932-4dfa-4989-8023-0128bae59338 - when: on_success -failure: - stage: webhook - rules: - - if: $CI_COMMIT_BRANCH == "main" - script: - - | - curl -X POST -H "Content-Type: application/json" \ - -d "{\"msg_type\":\"text\",\"content\":{\"text\":\"最近一次提交:${CI_COMMIT_TITLE}\\n提交人:${GITLAB_USER_NAME}\\n项目:${CI_PROJECT_NAME}\\n环境:${DEPLOY_DESC}\\n更新部署失败,请及时到gitlab上查看\\n工作流地址:${CI_PIPELINE_URL}\"}}" \ - https://open.feishu.cn/open-apis/bot/v2/hook/c3672932-4dfa-4989-8023-0128bae59338 - when: on_failure From 9556fcdf5ad0592eb034cdbdee6638474089f871 Mon Sep 17 00:00:00 2001 From: ningyv <1793599591@qq.com> Date: Thu, 13 Mar 2025 11:58:28 +0800 Subject: [PATCH 4/5] feat: feature/1.6-Integrate custom model --- .../core/src/components/AIProviderSelect/index.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/frontend/packages/core/src/components/AIProviderSelect/index.tsx b/frontend/packages/core/src/components/AIProviderSelect/index.tsx index 5b9e28f4..c0a7fecd 100644 --- a/frontend/packages/core/src/components/AIProviderSelect/index.tsx +++ b/frontend/packages/core/src/components/AIProviderSelect/index.tsx @@ -91,8 +91,15 @@ const AIProviderSelect: React.FC = ({ value, onChange, so label: ( {provider.name} From 76309c28d2821fc3f808c186533609cec00d099a Mon Sep 17 00:00:00 2001 From: ningyv <1793599591@qq.com> Date: Thu, 13 Mar 2025 13:46:32 +0800 Subject: [PATCH 5/5] feat: feature/1.6-Integrate custom model --- .../aoplatform/PublishApprovalModalContent.tsx | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/frontend/packages/common/src/components/aoplatform/PublishApprovalModalContent.tsx b/frontend/packages/common/src/components/aoplatform/PublishApprovalModalContent.tsx index 6272fd42..5016fac9 100644 --- a/frontend/packages/common/src/components/aoplatform/PublishApprovalModalContent.tsx +++ b/frontend/packages/common/src/components/aoplatform/PublishApprovalModalContent.tsx @@ -1,5 +1,5 @@ import { App, Col, Form, Input, Row, Table, Tooltip } from 'antd' -import { forwardRef, useEffect, useImperativeHandle, useMemo } from 'react' +import { forwardRef, useEffect, useImperativeHandle, useMemo, useRef } from 'react' import { PublishApprovalInfoType, PublishApprovalModalHandle, @@ -36,6 +36,7 @@ export const PublishApprovalModalContent = forwardRef(null) const save: (operate: 'pass' | 'refuse') => Promise = (operate) => { if (type === 'view') { @@ -140,6 +141,12 @@ export const PublishApprovalModalContent = forwardRef { form.setFieldsValue({ opinion: '', ...data }) + // 如果是添加模式且insidePage为true,自动聚焦版本号输入框 + if (type === 'add' && insidePage && versionInputRef.current) { + setTimeout(() => { + versionInputRef.current?.focus() + }, 100) + } }, []) const translatedUpstreamColumns = useMemo( @@ -335,7 +342,12 @@ export const PublishApprovalModalContent = forwardRef - +