mirror of
https://github.com/pupperpowell/bibdle.git
synced 2026-02-04 10:54:44 -05:00
embeddings fix
This commit is contained in:
@@ -47,9 +47,13 @@ export async function initializeEmbeddings(bibleVerses: Array<{ text: string; bo
|
||||
|
||||
const output = await extractor!(batchTexts, { pooling: 'mean', normalize: true });
|
||||
const data = output.data as Float32Array;
|
||||
const embeddingDim = EMBEDDING_DIM;
|
||||
const embeddingDim = data.length / batchTexts.length;
|
||||
if (Number.isInteger(embeddingDim) === false || embeddingDim !== EMBEDDING_DIM) {
|
||||
throw new Error(`Invalid embedding shape: data.length=${data.length}, batch=${batchTexts.length}, dim=${embeddingDim}`);
|
||||
}
|
||||
for (let k = 0; k < batchTexts.length; k++) {
|
||||
verseEmbeddings.push(Float32Array.from(data.slice(k * embeddingDim, (k + 1) * embeddingDim)));
|
||||
const sliceData = data.slice(k * embeddingDim, (k + 1) * embeddingDim);
|
||||
verseEmbeddings.push(Float32Array.from(sliceData));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -362,3 +362,32 @@ export function formatReference(bookName: string, chapter: number, startVerse: n
|
||||
}
|
||||
return `${bookName} ${chapter}:${startVerse}-${endVerse}`;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all NKJV verses with metadata for embeddings
|
||||
*/
|
||||
export function getAllNKJVVerses(): Array<{ text: string; book: string; chapter: number; verse: number }> {
|
||||
const bible = loadBibleXml();
|
||||
const verses: Array<{ text: string; book: string; chapter: number; verse: number }> = [];
|
||||
|
||||
for (const testament of bible.bible.testament) {
|
||||
for (const bookData of testament.book) {
|
||||
const bookNumber = +bookData.number;
|
||||
const bookInfo = getBookByNumber(bookNumber);
|
||||
const bookName = bookInfo ? bookInfo.name : `Book ${bookNumber}`;
|
||||
for (const chapterData of bookData.chapter) {
|
||||
const chapterNum = +chapterData.number;
|
||||
for (const verseData of chapterData.verse) {
|
||||
const verseNum = +verseData.number;
|
||||
verses.push({
|
||||
text: verseData._text || '',
|
||||
book: bookName,
|
||||
chapter: chapterNum,
|
||||
verse: verseNum
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return verses;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user