Refactor error handling, client, and tests for Ollama integration
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
// Debug the heading matching
|
||||
const heading = "Algorithm Design";
|
||||
const content = "This file mentions algorithm somewhere in the body text";
|
||||
const query = "algorithm";
|
||||
|
||||
function stemToken(token) {
|
||||
if (token.endsWith('s')) return token.slice(0, -1);
|
||||
if (token.endsWith('ed')) return token.slice(0, -2);
|
||||
if (token.endsWith('ing')) return token.slice(0, -3);
|
||||
return token;
|
||||
}
|
||||
|
||||
function tokenize(text) {
|
||||
const stopWords = new Set(['the', 'a', 'an', 'and', 'or', 'but', 'is', 'are', 'was', 'were', 'in', 'on', 'at', 'to', 'of', 'for', 'with', 'as', 'by', 'it', 'its', 'that', 'this', 'these', 'those']);
|
||||
return text
|
||||
.toLowerCase()
|
||||
.split(/\W+/)
|
||||
.filter((token) => token.length > 1 && !stopWords.has(token));
|
||||
}
|
||||
|
||||
const queryTokens = tokenize(query);
|
||||
const headingTokens = tokenize(heading);
|
||||
const contentTokens = tokenize(content);
|
||||
|
||||
console.log("Query:", query);
|
||||
console.log("Query tokens:", queryTokens);
|
||||
console.log("Heading:", heading);
|
||||
console.log("Heading tokens:", headingTokens);
|
||||
console.log("Content:", content);
|
||||
console.log("Content tokens:", contentTokens);
|
||||
|
||||
const queryStemmed = queryTokens.map(t => stemToken(t));
|
||||
const headingStemmed = headingTokens.map(t => stemToken(t));
|
||||
const contentStemmed = contentTokens.map(t => stemToken(t));
|
||||
|
||||
console.log("Query stemmed:", queryStemmed);
|
||||
console.log("Heading stemmed:", headingStemmed);
|
||||
console.log("Content stemmed:", contentStemmed);
|
||||
|
||||
// Check heading match
|
||||
const headingMatch = headingStemmed.some(h => h.includes(stemToken(queryStemmed[0])));
|
||||
console.log("Heading match:", headingMatch);
|
||||
|
||||
// Check content match
|
||||
const contentMatch = contentStemmed.includes(stemToken(queryStemmed[0]));
|
||||
console.log("Content match:", contentMatch);
|
||||
Reference in New Issue
Block a user