O Athenadb é um banco de dados vetorial simples, sem servidor e distribuído que pode ser usado como uma API. Está escrito com os trabalhadores da CloudFlare AI, D1, Vectorize.
wrangler login . Athenadb exige uma assinatura de US $ 5/mês para funcionar.git clone https://github.com/TimeSurgeLabs/athenadb.git
cd athenadb
npm run create-vector
npm run create-db Copie o ID do banco de dados de saída e cole -o em wrangler.toml em database_id . Em seguida, execute os dois comandos a seguir:
npm run init-db
npm run deployVocê deve obter uma saída com seu URL da API. Agora você pode usar os pontos de extremidade da API.
POST /:namespace/insertInsira dados de texto no banco de dados. O texto é convertido em incorporação usando o Cloudflare AI e armazenado junto com um identificador exclusivo.
input : uma única sequência (máximo de 1024 caracteres).inputs : uma matriz de strings (cada um máximo de 1024 caracteres).POST /:namespace/query Consulta o banco de dados para incorporações de texto semelhantes. Especifique ?limit=number na URL para especificar o número de resultados para retornar. O padrão é 5, o máximo é 20.
input : uma única sequência para consulta. (Max 1024 caracteres)inputs : uma variedade de cordas para consulta em lote. (cada caractere máximo de 1024)GET /:namespace/:uuid Recupera uma entrada específica do banco de dados usando seu identificador exclusivo (UUID). Adicione parâmetros de consulta ?vector=true para recuperar o vetor junto com a entrada. Adicione parâmetros de consulta ?db_id=true para recuperar o ID da tabela SQL junto com a entrada.
GET /:namespace?limit=10&offset=0 Recupera todas as entradas do espaço para nome fornecido. O limite pode ser definido para um máximo de 100 entradas. Adicione parâmetros de consulta ?vector=true para recuperar os vetores junto com as entradas. Adicione parâmetros de consulta ?db_id=true para recuperar o ID da tabela SQL junto com as entradas.
DELETE /:namespace/:uuidExclui uma entrada específica do banco de dados usando seu identificador exclusivo (UUID). Aviso : Esta ação é irreversível.
DELETE /:namespaceExclui todas as entradas do espaço de nome fornecido. Aviso : Esta ação é irreversível.
POST /embeddingsGera incorporações para determinado texto sem armazená -lo no banco de dados.
text : uma sequência cuja incorporação deve ser gerada.GET /Um terminal de teste que retorna 'Hello World!' como uma resposta.
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' } )
} )