AthenAdb es una base de datos vectorial simple, sin servidor y distribuida que se puede usar como API. Está escrito con Cloudflare Workers AI, D1, vectorizan.
wrangler login . AthenAdb requiere una suscripción de trabajadores de $ 5/mes a la función.git clone https://github.com/TimeSurgeLabs/athenadb.git
cd athenadb
npm run create-vector
npm run create-db Copie la ID de base de datos de salida y péguelo en wrangler.toml en database_id . Luego, ejecute los siguientes dos comandos:
npm run init-db
npm run deployDebe obtener una salida con su URL API. Ahora puede usar los puntos finales de la API.
POST /:namespace/insertInserta datos de texto en la base de datos. El texto se convierte en integridades utilizando Cloudflare AI y se almacena junto con un identificador único.
input : una sola cadena (máx. 1024 caracteres).inputs : una matriz de cadenas (cada uno máximo de 1024 caracteres).POST /:namespace/query Consultan la base de datos para incrustaciones de texto similares. Especificar ?limit=number en la URL para especificar el número de resultados para devolver. El valor predeterminado es 5, el máximo es 20.
input : una sola cadena para consultar. (Max 1024 caracteres)inputs : una matriz de cadenas para consultas por lotes. (cada uno de los 1024 caracteres máximo)GET /:namespace/:uuid Recupera una entrada específica de la base de datos utilizando su identificador único (UUID). Agregar parámetros de consulta ?vector=true para recuperar el vector junto con la entrada. Agregar parámetros de consulta ?db_id=true para recuperar la ID de la tabla SQL junto con la entrada.
GET /:namespace?limit=10&offset=0 Recupera todas las entradas del espacio de nombres. El límite se puede establecer en un máximo de 100 entradas. Agregar parámetros de consulta ?vector=true para recuperar los vectores junto con las entradas. Agregar parámetros de consulta ?db_id=true para recuperar la ID de la tabla SQL junto con las entradas.
DELETE /:namespace/:uuidElimina una entrada específica de la base de datos utilizando su identificador único (UUID). ADVERTENCIA : Esta acción es irreversible.
DELETE /:namespaceElimina todas las entradas del espacio de nombres. ADVERTENCIA : Esta acción es irreversible.
POST /embeddingsGenera incrustaciones para el texto dado sin almacenarlo en la base de datos.
text : una cadena cuya incrustación se debe generar.GET /Un punto final de prueba que devuelve '¡Hola mundo!' como respuesta.
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' } )
} )