add baseurl

This commit is contained in:
sagitchu 2024-08-24 11:29:52 +08:00
parent 9c1936ec2c
commit fb344e7442
2 changed files with 29 additions and 1 deletions

View file

@ -18,6 +18,9 @@ interface Config {
SEARXNG: string; SEARXNG: string;
OLLAMA: string; OLLAMA: string;
}; };
BASE_URL: {
OPENAI: string;
};
} }
type RecursivePartial<T> = { type RecursivePartial<T> = {
@ -36,6 +39,8 @@ export const getSimilarityMeasure = () =>
export const getOpenaiApiKey = () => loadConfig().API_KEYS.OPENAI; export const getOpenaiApiKey = () => loadConfig().API_KEYS.OPENAI;
export const getOpenaiBaseUrl = () => loadConfig().BASE_URL.OPENAI;
export const getGroqApiKey = () => loadConfig().API_KEYS.GROQ; export const getGroqApiKey = () => loadConfig().API_KEYS.GROQ;
export const getAnthropicApiKey = () => loadConfig().API_KEYS.ANTHROPIC; export const getAnthropicApiKey = () => loadConfig().API_KEYS.ANTHROPIC;

View file

@ -1,9 +1,10 @@
import { ChatOpenAI, OpenAIEmbeddings } from '@langchain/openai'; import { ChatOpenAI, OpenAIEmbeddings } from '@langchain/openai';
import { getOpenaiApiKey } from '../../config'; import { getOpenaiApiKey, getOpenaiBaseUrl } from '../../config';
import logger from '../../utils/logger'; import logger from '../../utils/logger';
export const loadOpenAIChatModels = async () => { export const loadOpenAIChatModels = async () => {
const openAIApiKey = getOpenaiApiKey(); const openAIApiKey = getOpenaiApiKey();
const openaibaseURL = getOpenaiBaseUrl();
if (!openAIApiKey) return {}; if (!openAIApiKey) return {};
@ -11,26 +12,41 @@ export const loadOpenAIChatModels = async () => {
const chatModels = { const chatModels = {
'GPT-3.5 turbo': new ChatOpenAI({ 'GPT-3.5 turbo': new ChatOpenAI({
openAIApiKey, openAIApiKey,
configuration: {
baseURL: openaibaseURL,
},
modelName: 'gpt-3.5-turbo', modelName: 'gpt-3.5-turbo',
temperature: 0.7, temperature: 0.7,
}), }),
'GPT-4': new ChatOpenAI({ 'GPT-4': new ChatOpenAI({
openAIApiKey, openAIApiKey,
configuration: {
baseURL: openaibaseURL,
},
modelName: 'gpt-4', modelName: 'gpt-4',
temperature: 0.7, temperature: 0.7,
}), }),
'GPT-4 turbo': new ChatOpenAI({ 'GPT-4 turbo': new ChatOpenAI({
openAIApiKey, openAIApiKey,
configuration: {
baseURL: openaibaseURL,
},
modelName: 'gpt-4-turbo', modelName: 'gpt-4-turbo',
temperature: 0.7, temperature: 0.7,
}), }),
'GPT-4 omni': new ChatOpenAI({ 'GPT-4 omni': new ChatOpenAI({
openAIApiKey, openAIApiKey,
configuration: {
baseURL: openaibaseURL,
},
modelName: 'gpt-4o', modelName: 'gpt-4o',
temperature: 0.7, temperature: 0.7,
}), }),
'GPT-4 omni mini': new ChatOpenAI({ 'GPT-4 omni mini': new ChatOpenAI({
openAIApiKey, openAIApiKey,
configuration: {
baseURL: openaibaseURL,
},
modelName: 'gpt-4o-mini', modelName: 'gpt-4o-mini',
temperature: 0.7, temperature: 0.7,
}), }),
@ -45,6 +61,7 @@ export const loadOpenAIChatModels = async () => {
export const loadOpenAIEmbeddingsModels = async () => { export const loadOpenAIEmbeddingsModels = async () => {
const openAIApiKey = getOpenaiApiKey(); const openAIApiKey = getOpenaiApiKey();
const openaibaseURL = getOpenaiBaseUrl();
if (!openAIApiKey) return {}; if (!openAIApiKey) return {};
@ -52,10 +69,16 @@ export const loadOpenAIEmbeddingsModels = async () => {
const embeddingModels = { const embeddingModels = {
'Text embedding 3 small': new OpenAIEmbeddings({ 'Text embedding 3 small': new OpenAIEmbeddings({
openAIApiKey, openAIApiKey,
configuration: {
baseURL: openaibaseURL,
},
modelName: 'text-embedding-3-small', modelName: 'text-embedding-3-small',
}), }),
'Text embedding 3 large': new OpenAIEmbeddings({ 'Text embedding 3 large': new OpenAIEmbeddings({
openAIApiKey, openAIApiKey,
configuration: {
baseURL: openaibaseURL,
},
modelName: 'text-embedding-3-large', modelName: 'text-embedding-3-large',
}), }),
}; };