description |
---|
Get your cloud hosted Epsilla vector database up and running within 1 minute. |
Create an Epsilla Cloud account at https://cloud.epsilla.com/, then sign in.
Navigate to the 'Configurations' tab within the project, create a new API Key, and keep it at a secure place.
Navigate to the 'Resource' tab, and click 'Create Vector Database'.
Give the database a name, and click 'Create'. It takes a few seconds to spin up a vector database.
Within the newly created database, create a new table. Give the table a name. Adjust the table schema according to your business logic, then click 'Create'.
Epsilla automatically generates sample queries for the table. Start with inserting some sample data:
Then query the table with top K semantic similarity search.
Switch between Shell, Python, and JavaScript tags, and click the 'Copy' button to copy the curl command, Python code snippet, and JavaScript code snippet of the query.
{% hint style="info" %} Copying the code snippet is the easiest way to integrate with your application as it already has the project_id and db_id prefilled.
Remember to replace "YOUR-API-KEY" part with the API Key you get earlier. {% endhint %}
First, install Epsilla Python/JavaScript client.
{% tabs %} {% tab title="Python" %}
pip3 install --upgrade pyepsilla
{% endtab %}
{% tab title="JavaScript" %}
npm install epsillajs
{% endtab %} {% endtabs %}
Then connect to the created database.
{% tabs %} {% tab title="Python" %}
from pyepsilla import cloud
client = cloud.Client(
project_id="PROJECT-ID", # Copied from the GUI code snippet
api_key="YOUR-API-KEY" # Replace with your API Key
)
db = client.vectordb(db_id="DB-ID") # Copied from the GUI code snippet
{% endtab %}
{% tab title="JavaScript" %}
const epsillajs = require('epsillajs');
const client = new epsillajs.EpsillaCloud({
projectID: 'PROJECT-ID', // Copied from the GUI code snippet
apiKey: 'YOUR-API-KEY' // Replace with your API Key
});
const db = new epsillajs.VectorDB(
'DB-ID', // Copied from the GUI code snippet
client
);
await db.connect();
{% endtab %} {% endtabs %}
You can insert multiple records in a batch.
{% tabs %} {% tab title="Python" %}
status_code, response = db.insert(table_name="MyTable",
records=[
{"ID": 1, "Doc": "Berlin", "Embedding": [0.05, 0.61, 0.76, 0.74]},
{"ID": 2, "Doc": "London", "Embedding": [0.19, 0.81, 0.75, 0.11]},
{"ID": 3, "Doc": "Moscow", "Embedding": [0.36, 0.55, 0.47, 0.94]},
{"ID": 4, "Doc": "San Francisco", "Embedding": [0.18, 0.01, 0.85, 0.80]},
{"ID": 5, "Doc": "Shanghai", "Embedding": [0.24, 0.18, 0.22, 0.44]}
]
)
{% endtab %}
{% tab title="JavaScript" %}
await db.insert('MyTable',
[
{"ID": 1, "Doc": "Berlin", "Embedding": [0.05, 0.61, 0.76, 0.74]},
{"ID": 2, "Doc": "London", "Embedding": [0.19, 0.81, 0.75, 0.11]},
{"ID": 3, "Doc": "Moscow", "Embedding": [0.36, 0.55, 0.47, 0.94]},
{"ID": 4, "Doc": "San Francisco", "Embedding": [0.18, 0.01, 0.85, 0.80]},
{"ID": 5, "Doc": "Shanghai", "Embedding": [0.24, 0.18, 0.22, 0.44]}
]
);
{% endtab %}
{% tab title="cURL" %}
curl -X POST 'https://api-us-east-1-1-aws.epsilla.com/api/v2/project/<PROJECT-ID>/vectordb/<DB-ID>/data/insert' \
-H "X-API-Key: Your-API-Key-Here" \
-H "Content-Type: application/json" \
-d '{
"table": "MyTable",
"data": [
{
"ID": 1,
"Doc": "Berlin",
"Embedding": [0.05, 0.61, 0.76, 0.74]
},
{
"ID": 2,
"Doc": "London",
"Embedding": [0.19, 0.81, 0.75, 0.11]
},
{
"ID": 3,
"Doc": "Moscow",
"Embedding": [0.36, 0.55, 0.47, 0.94]
},
{
"ID": 4,
"Doc": "San Francisco",
"Embedding": [0.18, 0.01, 0.85, 0.80]
},
{
"ID": 5,
"Doc": "Shanghai",
"Embedding": [0.24, 0.18, 0.22, 0.44]
}
]
}'
{% endtab %} {% endtabs %}
{% tabs %} {% tab title="Python" %}
status_code, response = db.query(
table_name="MyTable",
query_field="Embedding",
query_vector=[0.35, 0.55, 0.47, 0.94],
limit=2
)
{% endtab %}
{% tab title="JavaScript" %}
// search
const query = await db.query(
'MyTable',
{
queryField: "Embedding", // query field
queryVector: [0.35, 0.55, 0.47, 0.94], // query vector
limit: 2 // top K
}
);
{% endtab %}
{% tab title="cURL" %}
curl -X POST 'https://api-us-east-1-1-aws.epsilla.com/api/v2/project/<PROJECT-ID>/vectordb/<DB-ID>/data/query' \
-H "X-API-Key: Your-API-Key-Here" \
-H "Content-Type: application/json" \
-d '{
"table": "MyTable",
"queryField": "Embedding",
"queryVector": [0.35, 0.55, 0.47, 0.94],
"limit": 2
}'
{% endtab %} {% endtabs %}
Use the GUI to delete a table and delete a database.