/ examples / capabilities / embeddings_example.py
embeddings_example.py
 1  """
 2  Embeddings Capability Example
 3  
 4  Demonstrates text embedding generation using PraisonAI capabilities.
 5  Both `embed` and `embedding` work identically - use whichever you prefer.
 6  """
 7  
 8  from praisonai import embed, embedding  # Both work from top-level
 9  # Or: from praisonai.capabilities import embed, embedding
10  
11  # Single text embedding using embed()
12  print("=== Single Text Embedding (using embed) ===")
13  result = embed(
14      input="Hello, world!",
15      model="text-embedding-3-small"
16  )
17  print(f"Embedding dimensions: {len(result.embeddings[0])}")
18  print(f"First 5 values: {result.embeddings[0][:5]}")
19  print(f"Usage: {result.usage}")
20  
21  # Same thing using embedding() alias
22  print("\n=== Single Text Embedding (using embedding alias) ===")
23  result = embedding(
24      input="Hello, world!",
25      model="text-embedding-3-small"
26  )
27  print(f"Embedding dimensions: {len(result.embeddings[0])}")
28  
29  # Multiple text embeddings
30  print("\n=== Multiple Text Embeddings ===")
31  result = embed(
32      input=["Hello", "World", "AI"],
33      model="text-embedding-3-small"
34  )
35  print(f"Number of embeddings: {len(result.embeddings)}")
36  for i, emb in enumerate(result.embeddings):
37      print(f"  Text {i+1}: {len(emb)} dimensions")
38  
39  # With custom dimensions (for models that support it)
40  print("\n=== Custom Dimensions ===")
41  result = embed(
42      input="Hello world",
43      model="text-embedding-3-large",
44      dimensions=256
45  )
46  print(f"Reduced dimensions: {len(result.embeddings[0])}")