API, SDK & dashboard to easily create, store, and retrieve machine learning embeddings.
Project description
Embedbase
Seamless data connections to LLMs
Open-source API & SDK to sync your data and easily hook them up to LLMs
Used by AVA and serving 100k request a day
Check out the docs for more info.
Table of Contents
The 3 ways to use Embedbase
- Embedbase Cloud: Build embeddings-powered apps in minutes |
npm i embedbase-js
| ⏱️ 3min - Embedbase.py: Choose your own db, embeddings models, and get started with a simple |
pip install embedbase
| ⏱️ 5 min - Embedbase self-hosted: Get Embedbase Cloud on your infra |
docker-compose up
| ⏱️ 15 min
What are people building
- Recommendation Engines: AVA uses Embedbase to help their users find related notes
- Chat with your data: Solpilot uses Embedbase to put smart contract integration on autopilot
- Talk to your docs: ChatGPT-powered search for markdown documentation
Getting started
Let's install Python dependencies:
pip install embedbase sentence-transformers
Run a local-first instance of Embedbase:
embedbase run
🔥 Embedbase now runs! Look here to see how to use the sdk
ℹ️ Look at the code you just ran here, feel free to modify it to your needs.
Managed Instance
The fastest way to get started with Embedbase is signing up for free to Embedbase Cloud.
How to use
SDK
npm i embedbase-js
import { createClient } from 'embedbase-js'
const question = 'What can I do with Embedbase API?'
const embedbase = createClient(
'https://api.embedbase.xyz',
'api-key')
const context = await embedbase
.dataset('embedbase-docs')
.createContext('What can I do with Embedbase API?', { limit: 3 });
console.log(context)
[
"Embedbase API allows to store unstructured data...",
"Embedbase API has 3 main functions a) provides a plug and play solution to store embeddings b) makes it easy to connect to get the right data into llms c)..",
"Embedabase API is self-hostable...",
]
// refer to https://github.com/openai/openai-node for the exact api
openai.createCompletion(
`Write a response to question: ${question}
based on the follwing context ${context.toString()}`
)
// answer:
// You can use the Embedbase API to store unstructured data and then use the data to connect it to LLMs
Inserting data
const URL = 'http://localhost:8000'
const VAULT_ID = 'people'
// if using the hosted version
const API_KEY = '<https://app.embedbase.xyz/signup>'
fetch(`${URL}/v1/${VAULT_ID}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
// if using the hosted version, uncomment
// 'Authorization': `Bearer ${API_KEY}`
},
body: JSON.stringify({
documents: [{
data: 'Elon is sipping a tea on Mars',
}],
}),
});
Searching
fetch(`${URL}/v1/${VAULT_ID}/search`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
// 'Authorization': `Bearer ${API_KEY}`
},
body: JSON.stringify({
query: 'Something about a red planet',
}),
});
Result:
{
"query": "Something about a red planet",
"similarities": [
{
"score": 0.828773,
"id": "ABCU75FEBE",
"data": "Elon is sipping a tea on Mars",
}
]
}
Docs and support
Check out our tutorials for step-by-step guides, how-to's, and best practices, our documentation is powered by GPT-4, so you can ask question directly.
Ask a question in our Discord community to get support.
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for embedbase-1.0.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c13b89a51932060a6de396340bb25b8240afc38d25b4824f35c8ecbc41bdb15 |
|
MD5 | 5c96e3657641662d92904d002182da5a |
|
BLAKE2b-256 | 204700ea27d93350422cd1bc47650207466d80199efc70b4e2de3d212faec8aa |