voyage-3-lite
Voyage AI voyage-3-lite on Pinecone: cost- and latency-optimized 512-dim text embeddings with 32k-token context for high-throughput search.
voyage-3-lite
Section titled “voyage-3-lite”Overview
Section titled “Overview”Optimized for latency and cost. See blog post for details. Visit the Voyage documentation for an overview of all Voyage embedding models and rerankers.
Access to models is through the Voyage Python client. You must register for Voyage API keys to access.
Using the model
Section titled “Using the model”Installation
Section titled “Installation”!pip install -qU voyageai pineconeCreate Index
Section titled “Create Index”from pinecone import Pinecone, ServerlessSpec
pc = Pinecone(api_key="API_KEY")
# Create Index
index_name = "voyage-3-lite"
if not pc.has_index(index_name):
pc.create_index(
name=index_name,
dimension=1024,
metric="cosine",
spec=ServerlessSpec(
cloud="aws",
region="us-east-1"
)
)
index = pc.Index(index_name)Embed & Upsert
Section titled “Embed & Upsert”# Embed data
data = [
{"id": "vec1", "text": "Apple is a popular fruit known for its sweetness and crisp texture."},
{"id": "vec2", "text": "The tech company Apple is known for its innovative products like the iPhone."},
{"id": "vec3", "text": "Many people enjoy eating apples as a healthy snack."},
{"id": "vec4", "text": "Apple Inc. has revolutionized the tech industry with its sleek designs and user-friendly interfaces."},
{"id": "vec5", "text": "An apple a day keeps the doctor away, as the saying goes."},
]
import voyageai
vo = voyageai.Client(api_key=VOYAGE_API_KEY)
model_id = "voyage-3-lite"
def embed(docs: list[str], input_type: str) -> list[list[float]]:
embeddings = vo.embed(
docs,
model=model_id,
input_type=input_type
).embeddings
return embeddings
# Use "document" input type for documents
embeddings = embed([d["text"] for d in data], input_type="document")
vectors = []
for d, e in zip(data, embeddings):
vectors.append({
"id": d['id'],
"values": e,
"metadata": {'text': d['text']}
})
index.upsert(
vectors=vectors,
namespace="ns1"
)query = "Tell me about the tech company known as Apple"
# Use "query" input type for queries
x = embed([query], input_type="query")
results = index.query(
namespace="ns1",
vector=x[0],
top_k=3,
include_values=False,
include_metadata=True
)
print(results)Lorem Ipsum