| | |
| | | package cn.iocoder.yudao.server; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.ai.model.anthropic.autoconfigure.AnthropicChatAutoConfiguration; |
| | | import org.springframework.ai.model.deepseek.autoconfigure.DeepSeekChatAutoConfiguration; |
| | | import org.springframework.ai.model.google.genai.autoconfigure.chat.GoogleGenAiChatAutoConfiguration; |
| | | import org.springframework.ai.model.google.genai.autoconfigure.embedding.GoogleGenAiEmbeddingConnectionAutoConfiguration; |
| | | import org.springframework.ai.model.google.genai.autoconfigure.embedding.GoogleGenAiTextEmbeddingAutoConfiguration; |
| | | import org.springframework.ai.model.openai.autoconfigure.OpenAiAudioSpeechAutoConfiguration; |
| | | import org.springframework.ai.model.openai.autoconfigure.OpenAiAudioTranscriptionAutoConfiguration; |
| | | import org.springframework.ai.model.openai.autoconfigure.OpenAiChatAutoConfiguration; |
| | | import org.springframework.ai.model.openai.autoconfigure.OpenAiEmbeddingAutoConfiguration; |
| | | import org.springframework.ai.model.openai.autoconfigure.OpenAiImageAutoConfiguration; |
| | | import org.springframework.ai.model.openai.autoconfigure.OpenAiModerationAutoConfiguration; |
| | | import org.springframework.ai.model.ollama.autoconfigure.OllamaApiAutoConfiguration; |
| | | import org.springframework.ai.model.ollama.autoconfigure.OllamaChatAutoConfiguration; |
| | | import org.springframework.ai.model.ollama.autoconfigure.OllamaEmbeddingAutoConfiguration; |
| | | import org.springframework.ai.model.stabilityai.autoconfigure.StabilityAiImageAutoConfiguration; |
| | | import org.springframework.ai.vectorstore.milvus.autoconfigure.MilvusVectorStoreAutoConfiguration; |
| | | import org.springframework.ai.vectorstore.qdrant.autoconfigure.QdrantVectorStoreAutoConfiguration; |
| | | import org.springframework.ai.vectorstore.redis.autoconfigure.RedisVectorStoreAutoConfiguration; |
| | | import org.springframework.boot.SpringApplication; |
| | | import org.springframework.boot.autoconfigure.SpringBootApplication; |
| | | import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup; |
| | |
| | | // 1. 向量库:AI 模块由 AiModelFactoryImpl 手动构建 VectorStore,三个自动配置同时启用会争抢 vectorStore 这个 bean 名 |
| | | // 2. 模型:AI 模块的模型由 AiModelFactoryImpl 手动构建(走 DB 里 ai_model 配置的 apiKey),不需要 Spring AI 的模型 Bean; |
| | | // 且未配置 api-key 时自动配置会在启动阶段直接抛「API key cannot be empty.」 |
| | | exclude = { |
| | | excludeName = { |
| | | // ========== 向量库自动配置 ========== |
| | | QdrantVectorStoreAutoConfiguration.class, |
| | | RedisVectorStoreAutoConfiguration.class, |
| | | MilvusVectorStoreAutoConfiguration.class, |
| | | "org.springframework.ai.vectorstore.qdrant.autoconfigure.QdrantVectorStoreAutoConfiguration", |
| | | "org.springframework.ai.vectorstore.redis.autoconfigure.RedisVectorStoreAutoConfiguration", |
| | | "org.springframework.ai.vectorstore.milvus.autoconfigure.MilvusVectorStoreAutoConfiguration", |
| | | // ========== 模型自动配置 ========== |
| | | OpenAiChatAutoConfiguration.class, |
| | | OpenAiEmbeddingAutoConfiguration.class, |
| | | OpenAiImageAutoConfiguration.class, |
| | | OpenAiAudioSpeechAutoConfiguration.class, |
| | | OpenAiAudioTranscriptionAutoConfiguration.class, |
| | | OpenAiModerationAutoConfiguration.class, |
| | | DeepSeekChatAutoConfiguration.class, |
| | | AnthropicChatAutoConfiguration.class, |
| | | GoogleGenAiChatAutoConfiguration.class, |
| | | GoogleGenAiEmbeddingConnectionAutoConfiguration.class, |
| | | GoogleGenAiTextEmbeddingAutoConfiguration.class, |
| | | OllamaApiAutoConfiguration.class, |
| | | OllamaChatAutoConfiguration.class, |
| | | OllamaEmbeddingAutoConfiguration.class, |
| | | StabilityAiImageAutoConfiguration.class, |
| | | "org.springframework.ai.model.openai.autoconfigure.OpenAiChatAutoConfiguration", |
| | | "org.springframework.ai.model.openai.autoconfigure.OpenAiEmbeddingAutoConfiguration", |
| | | "org.springframework.ai.model.openai.autoconfigure.OpenAiImageAutoConfiguration", |
| | | "org.springframework.ai.model.openai.autoconfigure.OpenAiAudioSpeechAutoConfiguration", |
| | | "org.springframework.ai.model.openai.autoconfigure.OpenAiAudioTranscriptionAutoConfiguration", |
| | | "org.springframework.ai.model.openai.autoconfigure.OpenAiModerationAutoConfiguration", |
| | | "org.springframework.ai.model.deepseek.autoconfigure.DeepSeekChatAutoConfiguration", |
| | | "org.springframework.ai.model.anthropic.autoconfigure.AnthropicChatAutoConfiguration", |
| | | "org.springframework.ai.model.google.genai.autoconfigure.chat.GoogleGenAiChatAutoConfiguration", |
| | | "org.springframework.ai.model.google.genai.autoconfigure.embedding.GoogleGenAiEmbeddingConnectionAutoConfiguration", |
| | | "org.springframework.ai.model.google.genai.autoconfigure.embedding.GoogleGenAiTextEmbeddingAutoConfiguration", |
| | | "org.springframework.ai.model.ollama.autoconfigure.OllamaApiAutoConfiguration", |
| | | "org.springframework.ai.model.ollama.autoconfigure.OllamaChatAutoConfiguration", |
| | | "org.springframework.ai.model.ollama.autoconfigure.OllamaEmbeddingAutoConfiguration", |
| | | "org.springframework.ai.model.stabilityai.autoconfigure.StabilityAiImageAutoConfiguration", |
| | | }) |
| | | public class YudaoServerApplication { |
| | | |