@restnfeel/agentc-starter-kit
Version:
한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템
37 lines (34 loc) • 1.07 kB
JavaScript
import { OpenAIEmbeddings } from '../../node_modules/@langchain/openai/dist/embeddings.js';
class OpenAIEmbeddingModel {
constructor(apiKey, modelName = "text-embedding-3-small") {
this.embeddings = new OpenAIEmbeddings({
openAIApiKey: apiKey,
modelName,
batchSize: 1000, // Process embeddings in batches
});
}
async embed(text) {
try {
const result = await this.embeddings.embedQuery(text);
return result;
}
catch (error) {
throw new Error(`Failed to generate embedding: ${error}`);
}
}
async embedBatch(texts) {
try {
const results = await this.embeddings.embedDocuments(texts);
return results;
}
catch (error) {
throw new Error(`Failed to generate batch embeddings: ${error}`);
}
}
getDimensions() {
// text-embedding-3-small has 1536 dimensions
return 1536;
}
}
export { OpenAIEmbeddingModel };
//# sourceMappingURL=openai.js.map