gemini.ts

This commit is contained in:
Nipurn123 2024-07-24 23:45:55 +05:30 committed by GitHub
parent 8a76f92e23
commit 72339ba559
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -0,0 +1,45 @@
import { ChatGoogleGenerativeAI } from '@langchain/google-genai';
import { 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 Pro': new ChatGoogleGenerativeAI({
temperature: 0.7,
apiKey: geminiApiKey,
modelName: 'gemini-pro',
}),
};
return chatModels;
} catch (err) {
logger.error(`Error loading Gemini chat models: ${err}`);
return {};
}
};
export const loadGeminiEmbeddingsModels = async () => {
const geminiApiKey = getGeminiApiKey();
if (!geminiApiKey) return {};
try {
const embeddingsModels = {
'Gemini Embedding': new GoogleGenerativeAIEmbeddings({
apiKey: geminiApiKey,
modelName: 'embedding-001',
}),
};
return embeddingsModels;
} catch (err) {
logger.error(`Error loading Gemini embeddings model: ${err}`);
return {};
}
};