본문으로 건너뛰기

Cloudflare 벡터 스토어

CloudflareVector 클래스는 다음을 사용하여 벡터 검색을 제공합니다.Cloudflare Vectorize, Cloudflare의 에지 네트워크와 통합된 벡터 데이터베이스 서비스입니다.

생성자 옵션
생성자 옵션에 대한 직접 링크

accountId:

string
Cloudflare 계정 ID

apiToken:

string
Vectorize 권한이 있는 Cloudflare API 토큰

행동 양식
행동 양식에 대한 직접 링크

createIndex()
createindex에 대한 직접 링크

indexName:

string
생성할 인덱스의 이름

dimension:

number
벡터 차원(사용하는 임베딩 Model과 일치해야 함)

metric?:

'cosine' | 'euclidean' | 'dotproduct'
= cosine
유사도 검색에 사용할 거리 메트릭(dotproduct는 dot-product에 매핑됨)

upsert()
upsert에 대한 직접 링크

indexName:

string
데이터를 upsert할 인덱스의 이름

vectors:

number[][]
임베딩 벡터 배열

metadata?:

Record<string, any>[]
각 벡터의 메타데이터

ids?:

string[]
선택적 벡터 ID(제공하지 않으면 자동 생성됨)

query()
query에 대한 직접 링크

indexName:

string
쿼리할 인덱스의 이름

queryVector:

number[]
유사한 벡터를 찾는 데 사용할 쿼리 벡터

topK?:

number
= 10
반환할 결과 수

filter?:

Record<string, any>
쿼리에 적용할 메타데이터 필터

includeVector?:

boolean
= false
결과에 벡터를 포함할지 여부

listIndexes()
listindexes에 대한 직접 링크

인덱스 이름의 배열을 문자열로 반환합니다.

describeIndex()
describeindex에 대한 직접 링크

indexName:

string
설명을 조회할 인덱스의 이름

보고:

interface IndexStats {
dimension: number
count: number
metric: 'cosine' | 'euclidean' | 'dotproduct'
}

deleteIndex()
deleteindex에 대한 직접 링크

indexName:

string
삭제할 인덱스의 이름

createMetadataIndex()
createmetadataindex에 대한 직접 링크

필터링을 활성화하기 위해 메타데이터 필드에 인덱스를 생성합니다.

indexName:

string
메타데이터 필드가 포함된 인덱스의 이름

propertyName:

string
인덱싱할 메타데이터 필드의 이름

indexType:

'string' | 'number' | 'boolean'
메타데이터 필드의 타입

deleteMetadataIndex()
deletemetadataindex에 대한 직접 링크

메타데이터 필드에서 색인을 제거합니다.

indexName:

string
메타데이터 필드가 포함된 인덱스의 이름

propertyName:

string
인덱싱에서 제외할 메타데이터 필드의 이름

listMetadataIndexes()
listmetadataindexes에 대한 직접 링크

인덱스에 대한 모든 메타데이터 필드 인덱스를 나열합니다.

indexName:

string
메타데이터 인덱스 목록을 조회할 인덱스의 이름

updateVector()
updatevector에 대한 직접 링크

인덱스 내의 특정 ID에 대한 벡터 또는 메타데이터를 업데이트합니다.

indexName:

string
업데이트할 ID가 포함된 인덱스의 이름

id:

string
업데이트할 벡터 또는 메타데이터의 고유 식별자

update:

{ vector?: number[]; metadata?: Record<string, any>; }
업데이트할 벡터 및/또는 메타데이터를 포함하는 객체

deleteVector()
deletevector에 대한 직접 링크

인덱스 내의 특정 ID에 대한 벡터 및 관련 메타데이터를 삭제합니다.

indexName:

string
삭제할 ID가 포함된 인덱스의 이름

id:

string
삭제할 벡터 및 메타데이터의 고유 식별자

응답 유형
응답 유형에 대한 직접 링크

쿼리 결과는 다음 형식으로 반환됩니다.

interface QueryResult {
id: string
score: number
metadata: Record<string, any>
vector?: number[]
}

오류 처리
오류 처리에 대한 직접 링크

상점에서는 포착할 수 있는 입력된 오류를 발생시킵니다.

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 토큰