> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ko/llms.txt # 아스트라 벡터 스토어 AstraVector 클래스는 다음을 사용하여 벡터 검색을 제공합니다.[DataStax Astra DB](https://www.datastax.com/products/datastax-astra), Apache Cassandra를 기반으로 구축된 클라우드 네이티브, 서버리스 데이터베이스입니다. 엔터프라이즈급 용량과 고가용성을 갖춘 벡터 검색 기능을 제공합니다. ## 생성자 옵션 **token** (`string`): Astra DB API 토큰입니다. **endpoint** (`string`): Astra DB API 엔드포인트입니다. **keyspace** (`string`): 선택적 키스페이스 이름입니다. ## 행동 양식 ### `createIndex()` **indexName** (`string`): 생성할 인덱스의 이름입니다. **dimension** (`number`): 벡터 차원입니다(사용 중인 임베딩 Model과 일치해야 함). **metric** (`'cosine' | 'euclidean' | 'dotproduct'`): 유사도 검색을 위한 거리 측정 방식입니다(dotproduct는 dot\_product에 매핑됨). (Default: `cosine`) ### `upsert()` **indexName** (`string`): 업서트할 인덱스의 이름입니다. **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`): 삭제할 인덱스의 이름입니다. ### `updateVector()` **indexName** (`string`): 벡터가 포함된 인덱스의 이름입니다. **id** (`string`): 업데이트할 벡터의 ID입니다. **update** (`object`): 벡터 및/또는 메타데이터 변경 사항이 포함된 업데이트 객체입니다. ### `deleteVector()` **indexName** (`string`): 벡터가 포함된 인덱스의 이름입니다. **id** (`string`): 삭제할 벡터의 ID입니다. ## 응답 유형 쿼리 결과는 다음 형식으로 반환됩니다. ```typescript interface QueryResult { id: string score: number metadata: Record vector?: number[] // Only included if includeVector is true } ``` ## 오류 처리 상점에서는 포착할 수 있는 입력된 오류를 발생시킵니다. ```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 } } ``` ## 환경변수 필수 환경 변수: - `ASTRA_DB_TOKEN`: Astra DB API 토큰 - `ASTRA_DB_ENDPOINT`: Astra DB API 엔드포인트 ## 관련된 - [메타데이터 필터](https://mastra.zisheng.pro/ko/reference/rag/metadata-filters)