Usage-based pricing to use bge-large-en model privately to create embeddings on your data
Arguflow OpenEmbedings: Pay for what use using ETH, USDC/USDT/DAI, or WBTC on Ethereum mainnet to privately encode your data into embeddings using bge-large-en (other models coming soon).
Search Demo • Debate Opponent Demo • Discord
| Model | USDC/USDT/DAI per 1k-tokens | ETH per 1k-tokens | WBTC per 1k-tokens | 
|---|---|---|---|
| bge-large-en | 0.00015 | 0.000000083 | 0.000000006 | 
curl https://embeddings.arguflow.ai/key
Expected response will contain a key in the following format: EMB-09250e7c54e226d30ac3ee06f290c934
Replace {key} with the key you received in the previous step
curl https://embeddings.arguflow.ai/gateway/{key}
Expected response will contain a valid Ethereum address
curl https://embeddings.arguflow.ai/balance/{key}
curl -X POST https://embeddings.arguflow.ai/encode -H "Content-Type: application/json" -d '{
  "model": "bge-large-en",
  "input": "foo foo bar bar foo foo xyz",
  "key": "{key}"
}'
We made a very simple python wrapper of our api if you prefer that
Look in examples/starter_notebook.ipynb to see a quick starter notebook or
import requests
import json
def create_api_key():
    response = requests.get("https://embeddings.arguflow.ai/key")
    return json.loads(response.text)["key"]
class OpenEmbeddingsClient:
    def __init__(self, api_key: str):
        if not api_key:
            raise ValueError("API key is required")
        self.api_key = api_key
    def create_payment_address(self):
        response = requests.get(f"https://embeddings.arguflow.ai/gateway/{self.api_key}")
        return json.loads(response.text)["address"]
    def get_balance(self):
        response = requests.get(f"https://embeddings.arguflow.ai/balance/{self.api_key}")
        return json.loads(response.text)["balance"]
    
    def create_embedding(self, input: str, model="bge-large-en"):
        if model != "bge-large-en":
            raise ValueError("Only bge-large-en is supported at the moment")
            
        req_json = {
            "model": model,
            "input": input,
            "key": self.api_key,
        }
        response = requests.post(f"https://embeddings.arguflow.ai/encode", json=req_json)
        if response.status_code == requests.codes.ok:
            return json.loads(response.text)["embeddings"]
    def get_key(self):
        return self.api_key
if __name__ == "__main__":
    api_key = create_api_key()
    # Save this key, it is the only way to access your account
    print(api_key)
    client = OpenEmbeddingsClient(api_key)
    # Send funds to this address
    # We accept ETH, USDC, wBTC and DAI, all other payment methods
    # are not supported and we have no way to detect
    print(client.create_payment_address()) 
    # Your balance in number of tokens. we keep it simple and have 
    # 1 token be exactly 4 charcters rounded up to the nearest amount
    print(client.get_balance())
    embedding = client.create_embedding("Make an embedding for this address", model="bge-large-en")