diff --git a/src/embeddings.ts b/src/embeddings.ts index 8d31233..c59110b 100644 --- a/src/embeddings.ts +++ b/src/embeddings.ts @@ -1,15 +1,21 @@ -import { pipeline, Pipeline, FeatureExtractionPipeline } from '@xenova/transformers'; +import { pipeline, Pipeline, FeatureExtractionPipeline, env } from '@xenova/transformers'; + +// Disable progress callbacks to prevent stdout pollution in MCP context +// In MCP, stdout is reserved for JSON-RPC communication +env.allowLocalModels = true; +env.useBrowserCache = false; let embeddingPipeline: FeatureExtractionPipeline | null = null; export async function initEmbeddings(): Promise { if (!embeddingPipeline) { - console.log('Loading embedding model (first run may take time)...'); + console.error('Loading embedding model (first run may take time)...'); embeddingPipeline = await pipeline( 'feature-extraction', - 'Xenova/all-MiniLM-L6-v2' + 'Xenova/all-MiniLM-L6-v2', + { progress_callback: null } // Disable progress output to stdout ); - console.log('Embedding model loaded'); + console.error('Embedding model loaded'); } }