AthenAdb - это простая, без сервера распределенная векторная база данных, которая может использоваться в качестве API. Это написано с помощью AI AI, D1, D1, D1, D1.
wrangler login . Athenadb требует подписки на работники в 5 долларов в месяц для функционирования.git clone https://github.com/TimeSurgeLabs/athenadb.git
cd athenadb
npm run create-vector
npm run create-db Скопируйте идентификатор базы данных вывода и вставьте его в wrangler.toml в рамках database_id . Затем запустите следующие две команды:
npm run init-db
npm run deployВы должны получить выход с вашим URL. Теперь вы можете использовать конечные точки API.
POST /:namespace/insertВставьте текстовые данные в базу данных. Текст преобразуется в встраивание с использованием AI CloudFlare и хранится вместе с уникальным идентификатором.
input : одна строка (максимальные 1024 символы).inputs : массив строк (каждый макс 1024 символов).POST /:namespace/query Запрашивает базу данных для аналогичных текстовых встроений. Укажите ?limit=number в URL, чтобы указать количество результатов для возврата. По умолчанию 5, максимум - 20.
input : одна строка для запроса. (Макс 1024 символы)inputs : массив струн для пакетного запроса. (Каждый макс 1024 символов)GET /:namespace/:uuid Получает конкретную запись из базы данных, используя его уникальный идентификатор (UUID). Добавить параметры запроса ?vector=true чтобы получить вектор вместе с записью. Добавить параметры запроса ?db_id=true , чтобы получить идентификатор таблицы SQL вместе с записью.
GET /:namespace?limit=10&offset=0 Получает все записи из данного пространства имен. Лимит может быть установлен максимум 100 записей. Добавить параметры запроса ?vector=true чтобы получить векторы вместе с записями. Добавить параметры запроса ?db_id=true , чтобы получить идентификатор таблицы SQL вместе с записями.
DELETE /:namespace/:uuidУдаляет конкретную запись из базы данных, используя его уникальный идентификатор (UUID). Предупреждение : это действие необратимо.
DELETE /:namespaceУдаляет все записи из данного пространства имен. Предупреждение : это действие необратимо.
POST /embeddingsГенерирует встраивание для данного текста, не хранения его в базе данных.
text : строка, встроение которой должно быть сгенерировано.GET /Тестовая конечная точка, которая возвращает «Привет, мир!» как ответ.
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' } )
} )