♻️ refactor: refactor agent runtime to model runtime (#7846)

This commit is contained in:
Arvin Xu
2025-05-15 14:10:12 +08:00
committed by GitHub
parent 5e61929ede
commit a3b94488f8
211 changed files with 122 additions and 127 deletions
@@ -1,6 +1,6 @@
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { AgentRuntimeError } from '@/libs/agent-runtime';
import { AgentRuntimeError } from '@/libs/model-runtime';
import { ChatErrorType } from '@/types/fetch';
import { createErrorResponse } from '@/utils/errorResponse';
import { getJWTPayload } from '@/utils/server/jwt';
+1 -1
View File
@@ -2,8 +2,8 @@ import { AuthObject } from '@clerk/backend';
import { NextRequest } from 'next/server';
import { JWTPayload, LOBE_CHAT_AUTH_HEADER, OAUTH_AUTHORIZED, enableClerk } from '@/const/auth';
import { AgentRuntime, AgentRuntimeError, ChatCompletionErrorPayload } from '@/libs/agent-runtime';
import { ClerkAuth } from '@/libs/clerk-auth';
import { AgentRuntime, AgentRuntimeError, ChatCompletionErrorPayload } from '@/libs/model-runtime';
import { ChatErrorType } from '@/types/fetch';
import { createErrorResponse } from '@/utils/errorResponse';
import { getJWTPayload } from '@/utils/server/jwt';
+1 -1
View File
@@ -2,7 +2,7 @@ import { type AuthObject } from '@clerk/backend';
import { getAppConfig } from '@/config/app';
import { enableClerk, enableNextAuth } from '@/const/auth';
import { AgentRuntimeError } from '@/libs/agent-runtime';
import { AgentRuntimeError } from '@/libs/model-runtime';
import { ChatErrorType } from '@/types/fetch';
interface CheckAuthParams {
@@ -4,7 +4,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { checkAuthMethod } from '@/app/(backend)/middleware/auth/utils';
import { LOBE_CHAT_AUTH_HEADER, OAUTH_AUTHORIZED } from '@/const/auth';
import { AgentRuntime, LobeRuntimeAI } from '@/libs/agent-runtime';
import { AgentRuntime, LobeRuntimeAI } from '@/libs/model-runtime';
import { ChatErrorType } from '@/types/fetch';
import { getJWTPayload } from '@/utils/server/jwt';
@@ -3,7 +3,7 @@ import {
AGENT_RUNTIME_ERROR_SET,
AgentRuntime,
ChatCompletionErrorPayload,
} from '@/libs/agent-runtime';
} from '@/libs/model-runtime';
import { createTraceOptions, initAgentRuntimeWithUserPayload } from '@/server/modules/AgentRuntime';
import { ChatErrorType } from '@/types/fetch';
import { ChatStreamPayload } from '@/types/openai/chat';
@@ -1,6 +1,6 @@
import { checkAuth } from '@/app/(backend)/middleware/auth';
import { AgentRuntime, ModelProvider } from '@/libs/agent-runtime';
import { LobeVertexAI } from '@/libs/agent-runtime/vertexai';
import { AgentRuntime, ModelProvider } from '@/libs/model-runtime';
import { LobeVertexAI } from '@/libs/model-runtime/vertexai';
import { safeParseJSON } from '@/utils/safeParseJSON';
import { POST as UniverseRoute } from '../[provider]/route';
@@ -1,5 +1,5 @@
import { checkAuth } from '@/app/(backend)/middleware/auth';
import { ChatCompletionErrorPayload, PullModelParams } from '@/libs/agent-runtime';
import { ChatCompletionErrorPayload, PullModelParams } from '@/libs/model-runtime';
import { initAgentRuntimeWithUserPayload } from '@/server/modules/AgentRuntime';
import { ChatErrorType } from '@/types/fetch';
import { createErrorResponse } from '@/utils/errorResponse';
@@ -1,7 +1,7 @@
import { NextResponse } from 'next/server';
import { checkAuth } from '@/app/(backend)/middleware/auth';
import { ChatCompletionErrorPayload, ModelProvider } from '@/libs/agent-runtime';
import { ChatCompletionErrorPayload, ModelProvider } from '@/libs/model-runtime';
import { initAgentRuntimeWithUserPayload } from '@/server/modules/AgentRuntime';
import { ChatErrorType } from '@/types/fetch';
import { createErrorResponse } from '@/utils/errorResponse';
@@ -4,7 +4,7 @@ import { createGatewayOnEdgeRuntime } from '@lobehub/chat-plugins-gateway';
import { getAppConfig } from '@/config/app';
import { LOBE_CHAT_AUTH_HEADER, OAUTH_AUTHORIZED, enableNextAuth } from '@/const/auth';
import { LOBE_CHAT_TRACE_ID, TraceNameMap } from '@/const/trace';
import { AgentRuntimeError } from '@/libs/agent-runtime';
import { AgentRuntimeError } from '@/libs/model-runtime';
import { TraceClient } from '@/libs/traces';
import { ChatErrorType, ErrorType } from '@/types/fetch';
import { createErrorResponse } from '@/utils/errorResponse';
@@ -1,8 +1,8 @@
import { NextResponse } from 'next/server';
import { checkAuth } from '@/app/(backend)/middleware/auth';
import { ChatCompletionErrorPayload } from '@/libs/agent-runtime';
import { TextToImagePayload } from '@/libs/agent-runtime/types';
import { ChatCompletionErrorPayload } from '@/libs/model-runtime';
import { TextToImagePayload } from '@/libs/model-runtime/types';
import { initAgentRuntimeWithUserPayload } from '@/server/modules/AgentRuntime';
import { ChatErrorType } from '@/types/fetch';
import { createErrorResponse } from '@/utils/errorResponse';
@@ -5,7 +5,7 @@ import { createStyles } from 'antd-style';
import { useTranslation } from 'react-i18next';
import { AzureProviderCard } from '@/config/modelProviders';
import { ModelProvider } from '@/libs/agent-runtime';
import { ModelProvider } from '@/libs/model-runtime';
import { useUserStore } from '@/store/user';
import { modelProviderSelectors } from '@/store/user/selectors';
@@ -6,7 +6,7 @@ import { useTranslation } from 'react-i18next';
import { FormInput, FormPassword } from '@/components/FormInput';
import { AzureProviderCard } from '@/config/modelProviders';
import { ModelProvider } from '@/libs/agent-runtime';
import { ModelProvider } from '@/libs/model-runtime';
import { aiProviderSelectors, useAiInfraStore } from '@/store/aiInfra';
import { useUserStore } from '@/store/user';
import { modelProviderSelectors } from '@/store/user/selectors';
@@ -4,7 +4,7 @@ import { useTranslation } from 'react-i18next';
import { FormInput, FormPassword } from '@/components/FormInput';
import { AzureAIProviderCard } from '@/config/modelProviders';
import { ModelProvider } from '@/libs/agent-runtime';
import { ModelProvider } from '@/libs/model-runtime';
import { aiProviderSelectors, useAiInfraStore } from '@/store/aiInfra';
import { KeyVaultsConfigKey, LLMProviderApiTokenKey, LLMProviderBaseUrlKey } from '../../const';
+1 -1
View File
@@ -1,4 +1,4 @@
import { ModelProvider } from '@/libs/agent-runtime';
import { ModelProvider } from '@/libs/model-runtime';
import { genUserLLMConfig } from '@/utils/genUserLLMConfig';
export const DEFAULT_LLM_CONFIG = genUserLLMConfig({
@@ -3,7 +3,7 @@ import { eq } from 'drizzle-orm/expressions';
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { LobeChatDatabase } from '@/database/type';
import { ModelProvider } from '@/libs/agent-runtime';
import { ModelProvider } from '@/libs/model-runtime';
import { sleep } from '@/utils/sleep';
import { aiProviders, users } from '../../schemas';
+1 -1
View File
@@ -3,7 +3,7 @@ import { isEmpty } from 'lodash-es';
import { DEFAULT_MODEL_PROVIDER_LIST } from '@/config/modelProviders';
import { LobeChatDatabase } from '@/database/type';
import { ModelProvider } from '@/libs/agent-runtime';
import { ModelProvider } from '@/libs/model-runtime';
import {
AiProviderDetailItem,
AiProviderListItem,
@@ -5,7 +5,7 @@ import { Network, ShieldPlus } from 'lucide-react';
import { memo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { ModelProvider } from '@/libs/agent-runtime';
import { ModelProvider } from '@/libs/model-runtime';
import { useUserStore } from '@/store/user';
import { keyVaultsConfigSelectors } from '@/store/user/selectors';
@@ -4,7 +4,7 @@ import { memo, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { Center, Flexbox } from 'react-layout-kit';
import { ModelProvider } from '@/libs/agent-runtime';
import { ModelProvider } from '@/libs/model-runtime';
import { useChatStore } from '@/store/chat';
import { GlobalLLMProviderKey } from '@/types/user/settings';
+1 -1
View File
@@ -6,7 +6,7 @@ import { Suspense, memo, useMemo } from 'react';
import { useTranslation } from 'react-i18next';
import { useProviderName } from '@/hooks/useProviderName';
import { AgentRuntimeErrorType, ILobeAgentRuntimeErrorType } from '@/libs/agent-runtime';
import { AgentRuntimeErrorType, ILobeAgentRuntimeErrorType } from '@/libs/model-runtime';
import { ChatErrorType, ErrorType } from '@/types/fetch';
import { ChatMessage, ChatMessageError } from '@/types/message';
@@ -6,8 +6,8 @@ import { beforeEach, describe, expect, it, vi } from 'vitest';
import * as langfuseCfg from '@/config/langfuse';
import { JWTPayload } from '@/const/auth';
import { TraceNameMap } from '@/const/trace';
import { AgentRuntime, ChatStreamPayload, LobeOpenAI, ModelProvider } from '@/libs/agent-runtime';
import { providerRuntimeMap } from '@/libs/agent-runtime/runtimeMap';
import { AgentRuntime, ChatStreamPayload, LobeOpenAI, ModelProvider } from '@/libs/model-runtime';
import { providerRuntimeMap } from '@/libs/model-runtime/runtimeMap';
import { createTraceOptions } from '@/server/modules/AgentRuntime';
import { AgentChatOptions } from './AgentRuntime';
@@ -1,6 +1,6 @@
// @vitest-environment node
import { ModelProvider } from '@/libs/agent-runtime';
import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
import { ModelProvider } from '@/libs/model-runtime';
import { testProvider } from '@/libs/model-runtime/providerTestUtils';
import { LobeAi21AI } from './index';
@@ -1,6 +1,6 @@
// @vitest-environment node
import { ModelProvider } from '@/libs/agent-runtime';
import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
import { ModelProvider } from '@/libs/model-runtime';
import { testProvider } from '@/libs/model-runtime/providerTestUtils';
import { LobeAi360AI } from './index';
@@ -1,7 +1,7 @@
// @vitest-environment node
import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { ChatCompletionTool, ChatStreamPayload } from '@/libs/agent-runtime';
import { ChatCompletionTool, ChatStreamPayload } from '@/libs/model-runtime';
import * as anthropicHelpers from '../utils/anthropicHelpers';
import * as debugStreamModule from '../utils/debugStream';
@@ -1,7 +1,7 @@
// @vitest-environment node
import { Mock } from 'vitest';
import { LobeOpenAICompatibleRuntime, ModelProvider } from '@/libs/agent-runtime';
import { LobeOpenAICompatibleRuntime, ModelProvider } from '@/libs/model-runtime';
import { testProvider } from '../providerTestUtils';
import { LobeBaichuanAI } from './index';
@@ -2,7 +2,7 @@
import { InvokeModelWithResponseStreamCommand } from '@aws-sdk/client-bedrock-runtime';
import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { AgentRuntimeErrorType, ModelProvider } from '@/libs/agent-runtime';
import { AgentRuntimeErrorType, ModelProvider } from '@/libs/model-runtime';
import * as debugStreamModule from '../utils/debugStream';
import { LobeBedrockAI } from './index';
@@ -1,7 +1,7 @@
// @vitest-environment node
import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { ChatCompletionTool } from '@/libs/agent-runtime';
import { ChatCompletionTool } from '@/libs/model-runtime';
import * as debugStreamModule from '../utils/debugStream';
import { LobeCloudflareAI } from './index';
@@ -6,8 +6,8 @@ import {
LLMRoleType,
LobeOpenAICompatibleRuntime,
ModelProvider,
} from '@/libs/agent-runtime';
import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
} from '@/libs/model-runtime';
import { testProvider } from '@/libs/model-runtime/providerTestUtils';
import { LobeDeepSeekAI } from './index';
@@ -1,6 +1,6 @@
// @vitest-environment node
import { ModelProvider } from '@/libs/agent-runtime';
import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
import { ModelProvider } from '@/libs/model-runtime';
import { testProvider } from '@/libs/model-runtime/providerTestUtils';
import { LobeFireworksAI } from './index';
@@ -1,6 +1,6 @@
// @vitest-environment node
import { ModelProvider } from '@/libs/agent-runtime';
import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
import { ModelProvider } from '@/libs/model-runtime';
import { testProvider } from '@/libs/model-runtime/providerTestUtils';
import { LobeGiteeAI } from './index';
@@ -1,6 +1,6 @@
// @vitest-environment node
import { ModelProvider } from '@/libs/agent-runtime';
import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
import { ModelProvider } from '@/libs/model-runtime';
import { testProvider } from '@/libs/model-runtime/providerTestUtils';
import { LobeGithubAI } from './index';
@@ -3,7 +3,7 @@ import { FunctionDeclarationsTool } from '@google/generative-ai';
import OpenAI from 'openai';
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { OpenAIChatMessage } from '@/libs/agent-runtime';
import { OpenAIChatMessage } from '@/libs/model-runtime';
import * as imageToBase64Module from '@/utils/imageToBase64';
import * as debugStreamModule from '../utils/debugStream';
@@ -1,8 +1,8 @@
// @vitest-environment node
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { LobeOpenAICompatibleRuntime } from '@/libs/agent-runtime';
import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
import { LobeOpenAICompatibleRuntime } from '@/libs/model-runtime';
import { testProvider } from '@/libs/model-runtime/providerTestUtils';
import { LobeGroq } from './index';
@@ -1,8 +1,8 @@
// @vitest-environment node
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { LobeOpenAICompatibleRuntime, ModelProvider } from '@/libs/agent-runtime';
import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
import { LobeOpenAICompatibleRuntime, ModelProvider } from '@/libs/model-runtime';
import { testProvider } from '@/libs/model-runtime/providerTestUtils';
import { LobeHunyuanAI } from './index';
@@ -1,6 +1,6 @@
// @vitest-environment node
import { ModelProvider } from '@/libs/agent-runtime';
import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
import { ModelProvider } from '@/libs/model-runtime';
import { testProvider } from '@/libs/model-runtime/providerTestUtils';
import { LobeInternLMAI } from './index';
@@ -1,6 +1,6 @@
// @vitest-environment node
import { ModelProvider } from '@/libs/agent-runtime';
import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
import { ModelProvider } from '@/libs/model-runtime';
import { testProvider } from '@/libs/model-runtime/providerTestUtils';
import { LobeLMStudioAI } from './index';
@@ -1,8 +1,8 @@
// @vitest-environment node
import { Mock, afterEach, beforeEach, expect, it, vi } from 'vitest';
import { LobeOpenAICompatibleRuntime } from '@/libs/agent-runtime';
import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
import { LobeOpenAICompatibleRuntime } from '@/libs/model-runtime';
import { testProvider } from '@/libs/model-runtime/providerTestUtils';
import { LobeMistralAI } from './index';
@@ -1,5 +1,5 @@
// @vitest-environment node
import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
import { testProvider } from '@/libs/model-runtime/providerTestUtils';
import { LobeMoonshotAI } from './index';
@@ -1,9 +1,9 @@
// @vitest-environment node
import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { LobeOpenAICompatibleRuntime } from '@/libs/agent-runtime';
import { ModelProvider } from '@/libs/agent-runtime';
import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
import { LobeOpenAICompatibleRuntime } from '@/libs/model-runtime';
import { ModelProvider } from '@/libs/model-runtime';
import { testProvider } from '@/libs/model-runtime/providerTestUtils';
import models from './fixtures/models.json';
import { LobeNovitaAI } from './index';
@@ -1,7 +1,7 @@
import { Ollama, Tool } from 'ollama/browser';
import { ClientOptions } from 'openai';
import { ModelRequestOptions, OpenAIChatMessage } from '@/libs/agent-runtime';
import { ModelRequestOptions, OpenAIChatMessage } from '@/libs/model-runtime';
import { ChatModelCard } from '@/types/llm';
import { createErrorResponse } from '@/utils/errorResponse';
@@ -3,7 +3,7 @@ import OpenAI from 'openai';
import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
// 引入模块以便于对函数进行spy
import { ChatStreamCallbacks, LobeOpenAICompatibleRuntime } from '@/libs/agent-runtime';
import { ChatStreamCallbacks, LobeOpenAICompatibleRuntime } from '@/libs/model-runtime';
import * as debugStreamModule from '../utils/debugStream';
import officalOpenAIModels from './fixtures/openai-models.json';
@@ -1,8 +1,8 @@
// @vitest-environment node
import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { LobeOpenAICompatibleRuntime } from '@/libs/agent-runtime';
import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
import { LobeOpenAICompatibleRuntime } from '@/libs/model-runtime';
import { testProvider } from '@/libs/model-runtime/providerTestUtils';
import frontendModels from './fixtures/frontendModels.json';
import models from './fixtures/models.json';
@@ -1,8 +1,8 @@
// @vitest-environment node
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { LobeOpenAICompatibleRuntime, ModelProvider } from '@/libs/agent-runtime';
import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
import { LobeOpenAICompatibleRuntime, ModelProvider } from '@/libs/model-runtime';
import { testProvider } from '@/libs/model-runtime/providerTestUtils';
import { LobePerplexityAI } from './index';
@@ -2,10 +2,10 @@
import OpenAI from 'openai';
import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { LobeDeepSeekAI, LobeOpenAICompatibleRuntime } from '@/libs/agent-runtime';
import { ModelProvider } from '@/libs/agent-runtime';
import { AgentRuntimeErrorType } from '@/libs/agent-runtime';
import { testProvider } from '@/libs/agent-runtime/providerTestUtils';
import { LobeDeepSeekAI, LobeOpenAICompatibleRuntime } from '@/libs/model-runtime';
import { ModelProvider } from '@/libs/model-runtime';
import { AgentRuntimeErrorType } from '@/libs/model-runtime';
import { testProvider } from '@/libs/model-runtime/providerTestUtils';
import * as debugStreamModule from '../utils/debugStream';
import models from './fixtures/models.json';
@@ -1,7 +1,7 @@
import OpenAI from 'openai';
import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { LobeOpenAICompatibleRuntime } from '@/libs/agent-runtime';
import { LobeOpenAICompatibleRuntime } from '@/libs/model-runtime';
import * as debugStreamModule from './utils/debugStream';

Some files were not shown because too many files have changed in this diff Show More