Spaces:
Paused
Paused
| import { | |
| ChatGoogleGenerativeAI, | |
| GoogleGenerativeAIEmbeddings, | |
| } from '@langchain/google-genai'; | |
| import { getGeminiApiKey } from '../../config'; | |
| import logger from '../../utils/logger'; | |
| export const loadGeminiChatModels = async () => { | |
| const geminiApiKey = getGeminiApiKey(); | |
| if (!geminiApiKey) return {}; | |
| try { | |
| const chatModels = { | |
| 'gemini-1.5-flash': { | |
| displayName: 'Gemini 1.5 Flash', | |
| model: new ChatGoogleGenerativeAI({ | |
| modelName: 'gemini-1.5-flash', | |
| temperature: 0.7, | |
| apiKey: geminiApiKey, | |
| }), | |
| }, | |
| 'gemini-1.5-flash-8b': { | |
| displayName: 'Gemini 1.5 Flash 8B', | |
| model: new ChatGoogleGenerativeAI({ | |
| modelName: 'gemini-1.5-flash-8b', | |
| temperature: 0.7, | |
| apiKey: geminiApiKey, | |
| }), | |
| }, | |
| 'gemini-1.5-pro': { | |
| displayName: 'Gemini 1.5 Pro', | |
| model: new ChatGoogleGenerativeAI({ | |
| modelName: 'gemini-1.5-pro', | |
| temperature: 0.7, | |
| apiKey: geminiApiKey, | |
| }), | |
| }, | |
| }; | |
| return chatModels; | |
| } catch (err) { | |
| logger.error(`Error loading Gemini models: ${err}`); | |
| return {}; | |
| } | |
| }; | |
| export const loadGeminiEmbeddingsModels = async () => { | |
| const geminiApiKey = getGeminiApiKey(); | |
| if (!geminiApiKey) return {}; | |
| try { | |
| const embeddingModels = { | |
| 'text-embedding-004': { | |
| displayName: 'Text Embedding', | |
| model: new GoogleGenerativeAIEmbeddings({ | |
| apiKey: geminiApiKey, | |
| modelName: 'text-embedding-004', | |
| }), | |
| }, | |
| }; | |
| return embeddingModels; | |
| } catch (err) { | |
| logger.error(`Error loading Gemini embeddings model: ${err}`); | |
| return {}; | |
| } | |
| }; | |