> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ko/llms.txt # Cloudflare 벡터 스토어 CloudflareVector 클래스는 다음을 사용하여 벡터 검색을 제공합니다.[Cloudflare Vectorize](https://developers.cloudflare.com/vectorize/), Cloudflare의 에지 네트워크와 통합된 벡터 데이터베이스 서비스입니다. ## 생성자 옵션 **accountId** (`string`): Cloudflare 계정 ID **apiToken** (`string`): Vectorize 권한이 있는 Cloudflare API 토큰 ## 행동 양식 ### `createIndex()` **indexName** (`string`): 생성할 인덱스의 이름 **dimension** (`number`): 벡터 차원(사용하는 임베딩 Model과 일치해야 함) **metric** (`'cosine' | 'euclidean' | 'dotproduct'`): 유사도 검색에 사용할 거리 메트릭(dotproduct는 dot-product에 매핑됨) (Default: `cosine`) ### `upsert()` **indexName** (`string`): 데이터를 upsert할 인덱스의 이름 **vectors** (`number[][]`): 임베딩 벡터 배열 **metadata** (`Record[]`): 각 벡터의 메타데이터 **ids** (`string[]`): 선택적 벡터 ID(제공하지 않으면 자동 생성됨) ### `query()` **indexName** (`string`): 쿼리할 인덱스의 이름 **queryVector** (`number[]`): 유사한 벡터를 찾는 데 사용할 쿼리 벡터 **topK** (`number`): 반환할 결과 수 (Default: `10`) **filter** (`Record`): 쿼리에 적용할 메타데이터 필터 **includeVector** (`boolean`): 결과에 벡터를 포함할지 여부 (Default: `false`) ### `listIndexes()` 인덱스 이름의 배열을 문자열로 반환합니다. ### `describeIndex()` **indexName** (`string`): 설명을 조회할 인덱스의 이름 보고: ```typescript interface IndexStats { dimension: number count: number metric: 'cosine' | 'euclidean' | 'dotproduct' } ``` ### `deleteIndex()` **indexName** (`string`): 삭제할 인덱스의 이름 ### `createMetadataIndex()` 필터링을 활성화하기 위해 메타데이터 필드에 인덱스를 생성합니다. **indexName** (`string`): 메타데이터 필드가 포함된 인덱스의 이름 **propertyName** (`string`): 인덱싱할 메타데이터 필드의 이름 **indexType** (`'string' | 'number' | 'boolean'`): 메타데이터 필드의 타입 ### `deleteMetadataIndex()` 메타데이터 필드에서 색인을 제거합니다. **indexName** (`string`): 메타데이터 필드가 포함된 인덱스의 이름 **propertyName** (`string`): 인덱싱에서 제외할 메타데이터 필드의 이름 ### `listMetadataIndexes()` 인덱스에 대한 모든 메타데이터 필드 인덱스를 나열합니다. **indexName** (`string`): 메타데이터 인덱스 목록을 조회할 인덱스의 이름 ### `updateVector()` 인덱스 내의 특정 ID에 대한 벡터 또는 메타데이터를 업데이트합니다. **indexName** (`string`): 업데이트할 ID가 포함된 인덱스의 이름 **id** (`string`): 업데이트할 벡터 또는 메타데이터의 고유 식별자 **update** (`{ vector?: number[]; metadata?: Record; }`): 업데이트할 벡터 및/또는 메타데이터를 포함하는 객체 ### `deleteVector()` 인덱스 내의 특정 ID에 대한 벡터 및 관련 메타데이터를 삭제합니다. **indexName** (`string`): 삭제할 ID가 포함된 인덱스의 이름 **id** (`string`): 삭제할 벡터 및 메타데이터의 고유 식별자 ## 응답 유형 쿼리 결과는 다음 형식으로 반환됩니다. ```typescript interface QueryResult { id: string score: number metadata: Record vector?: number[] } ``` ## 오류 처리 상점에서는 포착할 수 있는 입력된 오류를 발생시킵니다. ```typescript try { await store.query({ indexName: 'index_name', queryVector: queryVector, }) } catch (error) { if (error instanceof VectorStoreError) { console.log(error.code) // 'connection_failed' | 'invalid_dimension' | etc console.log(error.details) // Additional error context } } ``` ## 환경변수 필수 환경 변수: - `CLOUDFLARE_ACCOUNT_ID`: Cloudflare 계정 ID - `CLOUDFLARE_API_TOKEN`: 벡터화 권한이 있는 Cloudflare API 토큰 ## 관련된 - [메타데이터 필터](https://mastra.zisheng.pro/ko/reference/rag/metadata-filters)