Claude commited on
Commit ·
9cfc8cf
1
Parent(s): 6753246
Fix embedding dimensions to match Pinecone index (1024)
Browse files- app/main.py +8 -3
app/main.py
CHANGED
|
@@ -114,20 +114,25 @@ def get_embedding(text: str) -> List[float]:
|
|
| 114 |
"""
|
| 115 |
Get embedding using Azure OpenAI API instead of local model.
|
| 116 |
This saves ~400MB memory by not loading SentenceTransformer locally.
|
|
|
|
|
|
|
|
|
|
| 117 |
"""
|
| 118 |
client = get_azure_client()
|
| 119 |
-
embedding_model = os.getenv("AZURE_EMBEDDING_MODEL", "text-embedding-
|
|
|
|
| 120 |
|
| 121 |
try:
|
| 122 |
response = client.embeddings.create(
|
| 123 |
input=text,
|
| 124 |
-
model=embedding_model
|
|
|
|
| 125 |
)
|
| 126 |
return response.data[0].embedding
|
| 127 |
except Exception as e:
|
| 128 |
# Fallback: return zero vector if embedding fails
|
| 129 |
print(f"Embedding error: {e}")
|
| 130 |
-
return [0.0] *
|
| 131 |
|
| 132 |
|
| 133 |
# Request/Response models
|
|
|
|
| 114 |
"""
|
| 115 |
Get embedding using Azure OpenAI API instead of local model.
|
| 116 |
This saves ~400MB memory by not loading SentenceTransformer locally.
|
| 117 |
+
|
| 118 |
+
Uses text-embedding-3-small with dimensions=1024 to match existing Pinecone index
|
| 119 |
+
(which was created with BAAI/bge-large-en-v1.5 at 1024 dimensions).
|
| 120 |
"""
|
| 121 |
client = get_azure_client()
|
| 122 |
+
embedding_model = os.getenv("AZURE_EMBEDDING_MODEL", "text-embedding-3-small")
|
| 123 |
+
embedding_dims = int(os.getenv("AZURE_EMBEDDING_DIMS", "1024"))
|
| 124 |
|
| 125 |
try:
|
| 126 |
response = client.embeddings.create(
|
| 127 |
input=text,
|
| 128 |
+
model=embedding_model,
|
| 129 |
+
dimensions=embedding_dims # Match Pinecone index dimensions
|
| 130 |
)
|
| 131 |
return response.data[0].embedding
|
| 132 |
except Exception as e:
|
| 133 |
# Fallback: return zero vector if embedding fails
|
| 134 |
print(f"Embedding error: {e}")
|
| 135 |
+
return [0.0] * embedding_dims
|
| 136 |
|
| 137 |
|
| 138 |
# Request/Response models
|