Athenadb는 API로 사용할 수있는 간단한 서버리스 분산 벡터 데이터베이스입니다. CloudFlare Workers AI, D1, Vectorize와 함께 작성되었습니다.
wrangler login 으로 Wrangler에 로그인하십시오. Athenadb는 기능을 위해 $ 5/월 직원 가입이 필요합니다 .git clone https://github.com/TimeSurgeLabs/athenadb.git
cd athenadb
npm run create-vector
npm run create-db 출력 데이터베이스 ID를 복사하여 database_id 에서 wrangler.toml 에 붙여 넣습니다. 그런 다음 다음 두 가지 명령을 실행하십시오.
npm run init-db
npm run deployAPI URL로 출력을 가져와야합니다. 이제 API 엔드 포인트를 사용할 수 있습니다.
POST /:namespace/insert텍스트 데이터를 데이터베이스에 삽입합니다. 텍스트는 CloudFlare AI를 사용하여 임베딩으로 변환되며 고유 식별자와 함께 저장됩니다.
input : 단일 문자열 (최대 1024 자).inputs : 문자열 배열 (각 최대 1024 자).POST /:namespace/query 유사한 텍스트 임베드에 대한 데이터베이스를 쿼리합니다. 반환 할 결과 수를 지정하려면 URL의 ?limit=number 지정하십시오. 기본값은 5이고 최대 값은 20입니다.
input : 쿼리를위한 단일 문자열. (최대 1024 자)inputs : 배치 쿼리를위한 문자열 배열. (각 최대 1024 자)GET /:namespace/:uuid 고유 식별자 (UUID)를 사용하여 데이터베이스에서 특정 항목을 검색합니다. 쿼리 매개 변수를 추가합니까 ?vector=true 쿼리 매개 변수를 추가합니까 ?db_id=true 항목과 함께 SQL 테이블 ID를 검색합니다.
GET /:namespace?limit=10&offset=0 주어진 네임 스페이스에서 모든 항목을 검색합니다. 한도는 최대 100 개의 항목으로 설정할 수 있습니다. 쿼리 매개 변수를 추가 ?vector=true 쿼리 매개 변수를 추가합니까 ?db_id=true 항목과 함께 SQL 테이블 ID를 검색합니다.
DELETE /:namespace/:uuid고유 식별자 (UUID)를 사용하여 데이터베이스에서 특정 항목을 삭제합니다. 경고 :이 동작은 돌이킬 수 없습니다.
DELETE /:namespace주어진 네임 스페이스에서 모든 항목을 삭제합니다. 경고 :이 동작은 돌이킬 수 없습니다.
POST /embeddings데이터베이스에 저장하지 않고 주어진 텍스트에 대한 임베딩을 생성합니다.
text : 임베딩을 생성 해야하는 문자열.GET /'Hello World!' 응답으로.
fetch ( 'https://athenadb.yourusername.workers.dev/your-namespace/insert' , {
method : 'POST' ,
headers : { 'Content-Type' : 'application/json' } ,
body : JSON . stringify ( { input : 'Your text here' } )
} ) fetch ( 'https://athenadb.yourusername.workers.dev/your-namespace/query' , {
method : 'POST' ,
headers : { 'Content-Type' : 'application/json' } ,
body : JSON . stringify ( { input : 'Query text' } )
} ) fetch ( 'https://athenadb.yourusername.workers.dev/your-namespace/your-uuid' , {
method : 'GET'
} ) fetch ( 'https://athenadb.yourusername.workers.dev/your-namespace/your-uuid' , {
method : 'DELETE'
} ) fetch ( 'https://athenadb.yourusername.workers.dev/embeddings' , {
method : 'POST' ,
headers : { 'Content-Type' : 'application/json' } ,
body : JSON . stringify ( { text : 'Your text here' } )
} )