@forgeframework/ai-embeddings
v0.3.0
Published
Vector embeddings and semantic search for the Forge Framework.
Maintainers
Readme
@forgeframework/ai-embeddings
Vector embeddings and semantic search for the Forge Framework.
Part of the Forge Framework — a TypeScript framework for backend microservices and web applications.
Installation
npm install @forgeframework/ai-embeddingsUsage
import { DocumentIndexBuilder, VectorDBType, ChunkingStrategy, SimilarityMetric, FilterOperator } from '@forgeframework/ai-embeddings';
import { DefaultAIProviderFactory, AIFramework, AIModelProvider } from '@forgeframework/ai-llm';
import { ConfigLoader } from '@forgeframework/config';
import { LoggerFactory } from '@forgeframework/logging';
const config = await new ConfigLoader({ sources: [{ type: 'env', prefix: 'FORGE' }] }).load();
const logger = LoggerFactory.create('embedding-service');
const index = await new DocumentIndexBuilder()
.name('knowledge-base')
.vectorDB(VectorDBType.REDIS, {
type: VectorDBType.REDIS,
dimensions: 1536,
similarityMetric: SimilarityMetric.COSINE,
redis: { url: config.get('redis.url'), indexName: 'kb-vectors', algorithm: 'HNSW' },
})
.embedding({ model: 'text-embedding-3-small', dimensions: 1536, batchSize: 100, normalize: true })
.chunking(ChunkingStrategy.RECURSIVE, 512, 64)
.similarity(SimilarityMetric.COSINE)
.build();
await index.addDocuments([
{ id: 'doc-1', content: 'TypeScript is a typed superset of JavaScript.', metadata: { category: 'languages' } },
{ id: 'doc-2', content: 'PostgreSQL is a powerful relational database.', metadata: { category: 'databases' } },
]);
const results = await index.search('typed programming language', {
k: 5,
minScore: 0.7,
filter: { field: 'category', operator: FilterOperator.EQ, value: 'languages' },
});
for (const hit of results) {
logger.info('Result', { id: hit.documentId, score: hit.score });
}
const stats = await index.getStats();
logger.info('Index stats', { documents: stats.totalDocuments, chunks: stats.totalChunks });Documentation
Full API reference and guides: https://carbonforge.io/framework/docs/ai/ai-embeddings
(Documentation site launching soon.)
License
MIT © Carbon Forge
