0Pricing
Vector Databases: Pinecone, Weaviate & pgvector · Lesson

Using Embedding APIs

Learn to integrate and utilize embedding generation services from providers like OpenAI and Hugging Face.

Using Embedding APIs is a free Vector Databases: Pinecone, Weaviate & pgvector lesson on CoddyKit — lesson 2 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Vector Databases: Pinecone, Weaviate & pgvector learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

What are Embedding APIs?

Embedding APIs are services that let you easily convert various types of data, like text or images, into vector embeddings.

Think of them as ready-to-use tools. Instead of building and training your own complex models, you send your data to the API, and it returns the numerical vector representation.

Why Use Embedding APIs?

Using an API for embeddings offers significant advantages, especially for beginners or those wanting quick integration:

  • Pre-trained Models: Access to powerful, state-of-the-art models without the need for training.
  • Ease of Use: Simple integration into your applications with just a few lines of code.
  • Scalability: The API provider handles the underlying infrastructure, allowing your application to scale easily.
  • Cost-Effective: Often more economical than maintaining your own models and hardware.

OpenAI: A Leading Provider

OpenAI is a well-known provider of AI models, including powerful embedding services. Their API makes it straightforward to generate high-quality embeddings.

A popular model they offer is text-embedding-ada-002, which is known for its balance of performance, versatility, and cost-effectiveness across many use cases.

OpenAI API: Initial Setup

To get started with OpenAI's embedding API, you'll need an API key from their website. It's crucial to keep this key confidential!

You'll also need to install the official Python client library. Open your terminal and run:

pip install openai

For security, always store your API key in an environment variable rather than directly in your code.

Generate Embeddings with OpenAI

This Python program demonstrates how to generate an embedding for a text using the OpenAI API. Remember to replace "YOUR_OPENAI_API_KEY_HERE" with your actual key.

import os
from openai import OpenAI

# Replace with your actual API key or set as environment variable
# client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
client = OpenAI(api_key="YOUR_OPENAI_API_KEY_HERE") # For demonstration

def get_openai_embedding(text, model="text-embedding-ada-002"):
    # OpenAI recommends replacing newlines with spaces for best results
    text = text.replace("\n", " ") 
    response = client.embeddings.create(input=[text], model=model)
    return response.data[0].embedding

if __name__ == "__main__":
    example_text = "CoddyKit makes learning to code easy and fun."
    embedding = get_openai_embedding(example_text)
    print(f"Text: '{example_text}'")
    print(f"Embedding length: {len(embedding)}")
    print(f"First 5 dimensions: {embedding[:5]}")

Hugging Face: Open-Source Models

Hugging Face is renowned for its vast hub of open-source machine learning models. They also provide an Inference API that allows you to use many of these models without complex local setup.

This is fantastic for experimenting with different models, especially various sentence transformer models that are excellent for text embeddings.

Embeddings with Hugging Face API

You can access the Hugging Face Inference API using standard HTTP requests. You'll need an API token from your Hugging Face account.

Here's a Python example using the requests library to get an embedding from a popular sentence transformer model.

import requests
import json
import os

# Replace with your Hugging Face API token or set as environment variable
# HF_API_TOKEN = os.environ.get("HF_API_TOKEN")
HF_API_TOKEN = "YOUR_HUGGINGFACE_API_TOKEN_HERE" # For demonstration

# Example model for sentence embeddings
API_URL = "https://api-inference.huggingface.co/models/sentence-transformers/all-MiniLM-L6-v2"
HEADERS = {"Authorization": f"Bearer {HF_API_TOKEN}"}

def query_hf_api(payload):
    response = requests.post(API_URL, headers=HEADERS, json=payload)
    return response.json()

if __name__ == "__main__":
    text_to_embed = "Mobile learning platforms are convenient."
    data = query_hf_api({"inputs": text_to_embed})

    if isinstance(data, list) and len(data) > 0 and isinstance(data[0], list):
        embedding = data[0]
        print(f"Text: '{text_to_embed}'")
        print(f"Embedding length: {len(embedding)}")
        print(f"First 5 dimensions: {embedding[:5]}")
    else:
        print(f"Error or unexpected response: {data}")
        print("Please check your API token and ensure the model is available.")

Secure Your API Keys!

API keys are like passwords for your services. Always handle them with extreme care:

  • Environment Variables: The most secure method is to store keys as environment variables, never hardcode them.
  • Version Control: Never commit API keys directly into your code repository (e.g., Git, GitHub).
  • Access Control: Limit who has access to your API keys and rotate them regularly if your provider allows.

Costs & Rate Limits

When using embedding APIs, be aware of:

  • Pricing Models: Most APIs charge per token or per character processed. Costs can vary significantly between models and providers. Always check their pricing pages.
  • Rate Limits: APIs often have limits on the number of requests you can make per minute or second. Exceeding these limits can lead to temporary blocks or errors.
  • Model Choice: Different models offer different performance vs. cost trade-offs. Choose a model that fits your application's requirements and budget.

API Benefits Check

Which of the following are key benefits of using a third-party Embedding API (like OpenAI or Hugging Face) compared to training your own model locally?

Recap: Using Embedding APIs

In this lesson, you learned how to leverage embedding generation services from providers like OpenAI and Hugging Face:

  • We explored the benefits of using pre-trained models via APIs for convenience and scalability.
  • You saw practical Python examples for integrating with both OpenAI and Hugging Face Inference APIs to generate text embeddings.
  • We discussed crucial aspects like API key security, understanding costs, and rate limits.

These APIs are powerful tools for quickly integrating semantic understanding into your applications, enabling features like semantic search, recommendations, and more!

Frequently asked questions

Is the “Using Embedding APIs” lesson free?

Yes — the full text of “Using Embedding APIs” is free to read here on the web, and the Vector Databases: Pinecone, Weaviate & pgvector course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Vector Databases: Pinecone, Weaviate & pgvector course, upgrade to CoddyKit PRO.

What will I learn in “Using Embedding APIs”?

Learn to integrate and utilize embedding generation services from providers like OpenAI and Hugging Face. You practise Vector Databases: Pinecone, Weaviate & pgvector with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Vector Databases: Pinecone, Weaviate & pgvector?

No prior experience is required. Vector Databases: Pinecone, Weaviate & pgvector on CoddyKit is structured for beginners through advanced learners; this is — lesson 2 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Using Embedding APIs” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Vector Databases: Pinecone, Weaviate & pgvector lesson?

Yes. Every Vector Databases: Pinecone, Weaviate & pgvector lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Text Embedding Models
  2. Using Embedding APIs
  3. Storing & Updating Embeddings
  4. Chunking Text for Better Embeddings
← Back to Vector Databases: Pinecone, Weaviate & pgvector