Spaces:
Sleeping
Sleeping
File size: 1,085 Bytes
a7094fa | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import os
from chromadb.api.types import Documents, Embeddings
from chromadb import EmbeddingFunction
from mistralai.client import MistralClient # Import Mistral client
# Hardcoded Mistral API key (NOT RECOMMENDED for production)
MISTRAL_API_KEY = "9x8duC1VJ7n5uEwdV8nG6bmFEIqCftKn"
# Initialize Mistral client
mistral_client = MistralClient(api_key=MISTRAL_API_KEY)
class MistralEmbeddingFunction(EmbeddingFunction):
"""
Custom embedding function using Mistral AI API.
"""
def __call__(self, input: Documents) -> Embeddings:
if not MISTRAL_API_KEY:
raise ValueError("Mistral API Key not provided. Please set MISTRAL_API_KEY as an environment variable.")
embeddings = []
for text in input:
# Generate embeddings using Mistral's API
response = mistral_client.embeddings.create(
model="mistral-embed", # Mistral's embedding model
input=text
)
embeddings.append(response.data[0].embedding)
return embeddings |