mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Split vector batches into 10s
This commit is contained in:
@@ -35,19 +35,31 @@ async function getVector(source, sourceSettings, text) {
|
|||||||
* @returns {Promise<number[][]>} - The array of vectors for the texts
|
* @returns {Promise<number[][]>} - The array of vectors for the texts
|
||||||
*/
|
*/
|
||||||
async function getBatchVector(source, sourceSettings, texts) {
|
async function getBatchVector(source, sourceSettings, texts) {
|
||||||
|
const batchSize = 10;
|
||||||
|
const batches = Array(Math.ceil(texts.length / batchSize)).fill(undefined).map((_, i) => texts.slice(i * batchSize, i * batchSize + batchSize));
|
||||||
|
|
||||||
|
let results = [];
|
||||||
|
for (let batch of batches) {
|
||||||
switch (source) {
|
switch (source) {
|
||||||
case 'mistral':
|
case 'mistral':
|
||||||
case 'openai':
|
case 'openai':
|
||||||
return require('../openai-vectors').getOpenAIBatchVector(texts, source);
|
results.push(...await require('../openai-vectors').getOpenAIBatchVector(batch, source));
|
||||||
|
break;
|
||||||
case 'transformers':
|
case 'transformers':
|
||||||
return require('../embedding').getTransformersBatchVector(texts);
|
results.push(...await require('../embedding').getTransformersBatchVector(batch));
|
||||||
|
break;
|
||||||
case 'extras':
|
case 'extras':
|
||||||
return require('../extras-vectors').getExtrasBatchVector(texts, sourceSettings.extrasUrl, sourceSettings.extrasKey);
|
results.push(...await require('../extras-vectors').getExtrasBatchVector(batch, sourceSettings.extrasUrl, sourceSettings.extrasKey));
|
||||||
|
break;
|
||||||
case 'palm':
|
case 'palm':
|
||||||
return require('../makersuite-vectors').getMakerSuiteBatchVector(texts);
|
results.push(...await require('../makersuite-vectors').getMakerSuiteBatchVector(batch));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new Error(`Unknown vector source ${source}`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new Error(`Unknown vector source ${source}`);
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user