normalize LiteLLM embedding requests
This commit is contained in:
parent
b40941e4d5
commit
548c39a883
4 changed files with 17 additions and 16 deletions
|
|
@ -9,7 +9,8 @@ var { authMiddleware, adminMiddleware } = require('../middleware/auth');
|
|||
var PROMPTS = require('../utils/prompts');
|
||||
var logger = require('../utils/logger');
|
||||
var { gatewayUrl } = require('../utils/errors');
|
||||
var { GOOGLE_TTS_VOICES, OPENAI_TTS_VOICES, getTTSEnvProvider, getLiteLLMHeaders, getLiteLLMTTSModels, getTTSProvider, getTTSVoiceLists } = require('../utils/ttsProvider');
|
||||
var { GOOGLE_TTS_VOICES, OPENAI_TTS_VOICES, getTTSEnvProvider, getLiteLLMTTSModels, getTTSProvider, getTTSVoiceLists } = require('../utils/ttsProvider');
|
||||
var { getLiteLLMHeaders } = require('../utils/litellm');
|
||||
var { getSTTDependencies, getSTTModelLists, getSTTProvider } = require('../utils/sttProvider');
|
||||
|
||||
router.use(authMiddleware);
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
// ============================================================
|
||||
|
||||
var axios = require('axios');
|
||||
var { gatewayUrl } = require('./errors');
|
||||
var { getLiteLLMHeaders } = require('./litellm');
|
||||
|
||||
// Vertex AI embedding models (via LiteLLM or direct)
|
||||
// gemini-embedding-001: 768 dims, multilingual + code, best quality
|
||||
|
|
@ -61,12 +63,6 @@ async function generateEmbedding(text, opts) {
|
|||
*/
|
||||
async function generateEmbeddingLiteLLM(text, model, dimensions) {
|
||||
try {
|
||||
var base = process.env.LITELLM_API_BASE.replace(/\/+$/, '');
|
||||
var headers = { 'Content-Type': 'application/json' };
|
||||
if (process.env.LITELLM_API_KEY) {
|
||||
headers['Authorization'] = 'Bearer ' + process.env.LITELLM_API_KEY;
|
||||
}
|
||||
|
||||
var payload = {
|
||||
model: model,
|
||||
input: text
|
||||
|
|
@ -77,8 +73,8 @@ async function generateEmbeddingLiteLLM(text, model, dimensions) {
|
|||
payload.dimensions = dimensions;
|
||||
}
|
||||
|
||||
var response = await axios.post(base + '/embeddings', payload, {
|
||||
headers: headers,
|
||||
var response = await axios.post(gatewayUrl('/embeddings'), payload, {
|
||||
headers: getLiteLLMHeaders('application/json'),
|
||||
timeout: 30000
|
||||
});
|
||||
|
||||
|
|
|
|||
10
src/utils/litellm.js
Normal file
10
src/utils/litellm.js
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
function getLiteLLMHeaders(contentType) {
|
||||
var headers = {};
|
||||
if (contentType) headers['Content-Type'] = contentType;
|
||||
if (process.env.LITELLM_API_KEY) headers.Authorization = 'Bearer ' + process.env.LITELLM_API_KEY;
|
||||
return headers;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getLiteLLMHeaders
|
||||
};
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
const { isGoogleTTSConfigured } = require('./ttsGoogle');
|
||||
const { getLiteLLMHeaders } = require('./litellm');
|
||||
|
||||
const GOOGLE_TTS_VOICES = ['en-US-Journey-F','en-US-Journey-D','en-US-Studio-O','en-US-Neural2-A','en-US-Neural2-C','en-US-Neural2-D','en-US-Neural2-E','en-US-Neural2-F','en-US-Neural2-G','en-US-Neural2-H','en-US-Neural2-I','en-US-Neural2-J'];
|
||||
const OPENAI_TTS_VOICES = ['alloy','echo','fable','onyx','nova','shimmer','ash','sage','coral'];
|
||||
|
|
@ -37,13 +38,6 @@ function getLiteLLMTTSModels(models) {
|
|||
.filter(isOpenAITTSModel);
|
||||
}
|
||||
|
||||
function getLiteLLMHeaders(contentType) {
|
||||
var headers = {};
|
||||
if (contentType) headers['Content-Type'] = contentType;
|
||||
if (process.env.LITELLM_API_KEY) headers.Authorization = 'Bearer ' + process.env.LITELLM_API_KEY;
|
||||
return headers;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
ELEVENLABS_DEFAULT_VOICES,
|
||||
GOOGLE_TTS_VOICES,
|
||||
|
|
|
|||
Loading…
Reference in a new issue