UNPKG

@restnfeel/agentc-starter-kit

Version:

한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템

38 lines (32 loc) 1.04 kB
import { EmbeddingModel } from "../types"; import { OpenAIEmbeddings } from "@langchain/openai"; export class OpenAIEmbeddingModel implements EmbeddingModel { private embeddings: OpenAIEmbeddings; constructor(apiKey: string, modelName: string = "text-embedding-3-small") { this.embeddings = new OpenAIEmbeddings({ openAIApiKey: apiKey, modelName, batchSize: 1000, // Process embeddings in batches }); } async embed(text: string): Promise<number[]> { try { const result = await this.embeddings.embedQuery(text); return result; } catch (error) { throw new Error(`Failed to generate embedding: ${error}`); } } async embedBatch(texts: string[]): Promise<number[][]> { try { const results = await this.embeddings.embedDocuments(texts); return results; } catch (error) { throw new Error(`Failed to generate batch embeddings: ${error}`); } } getDimensions(): number { // text-embedding-3-small has 1536 dimensions return 1536; } }