Uerying Embedding Models in AetherMind

AetherMind hosts multiple embedding models. This guide will walk through an example using nomic-ai/nomic-embed-text-v1.5 to demonstrate how to query AetherMind with the embeddings API.


Embedding Documents

AetherMind embedding service is compatible with OpenAI’s API. You can refer to OpenAI’s embeddings guide and documentation for more details on embedding model usage.

The embedding model takes text as input and outputs a vector (a list of floating-point numbers) that can be used for tasks like similarity comparisons and search.


Example: Embedding a Document

python

import dashflow  

client = dashflow.Client(  
    base_url="https://api.dashflow.ai/v1",  
    api_key="<DASHFLOW_API_KEY>",  
)  
response = client.embeddings.create(  
    model="nomic-ai/nomic-embed-text-v1.5",  
    input="search_document: Spiderman was a particularly entertaining movie with...",  
)  

print(response)  

This code embeds the text "search_document: Spiderman was a particularly entertaining movie with..." and returns a response similar to:

json

{  
  "data": [  
    {  
      "embedding": [0.0063, 0.0118, ...],  
      "index": 0,  
      "object": "embedding"  
    }  
  ],  
  "model": "nomic-ai/nomic-embed-text-v1.5",  
  "object": "list",  
  "usage": {  
    "prompt_tokens": 12,  
    "total_tokens": 12  
  }  
}  

Embedding Queries and Documents

Nomic models have been fine-tuned to handle specific prefixes. Use search_query: for user queries and search_document: for documents.

For example, if you previously embedded movie reviews stored in a vector database, they should all include the prefix search_document:.

To retrieve recommendations based on a user query, embed the query as follows:

python

import dashflow  

client = dashflow.Client(  
    base_url="https://api.dashflow.ai/v1",  
    api_key="<DASHFLOW_API_KEY>",  
)  

query = "I love superhero movies, any recommendations?"  
task_description = "Given a user query for movies, retrieve the relevant movie that can fulfill the query."  

query_emb = client.embeddings.create(  
    model="nomic-ai/nomic-embed-text-v1.5",  
    input=f"search_query: {query}"  
)  

print(query_emb)  

To see an end-to-end example using a MongoDB vector store and a AetherMind-hosted generation model for Retrieval-Augmented Generation (RAG), refer to the full AetherMind RAG guide.

For more details on prefix usage in Nomic models, refer to Nomic's official documentation.


Variable Dimensions

AetherMind embedding models support variable embedding dimension sizes. To specify a custom dimension size, provide the dimensions parameter in the API request:

python

import dashflow  

client = dashflow.Client(  
    base_url="https://api.dashflow.ai/v1",  
    api_key="<DASHFLOW_API_KEY>",  
)  

response = client.embeddings.create(  
    model="nomic-ai/nomic-embed-text-v1.5",  
    input="search_document: I like Christmas movies, can you make any recommendations?",  
    dimensions=128,  
)  

print(len(response.data[0].embedding))  

This allows you to customize the embedding size to suit your specific use case.

For more details, visit the AetherMind API documentation at dashflow.ai/docs.

Last updated