# 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."},
]
from mistralai.client import MistralClient
client = MistralClient(api_key="MISTRAL_API_KEY")
def embed(docs: list[str]) -> list[list[float]]:
embeddings = client.embeddings(
model="mistral-embed",
input=docs,
)
return embeddings.data
embeddings = embed([d["text"] for d in data])
# pull out embedding objects
embeddings = [e.embedding for e in embeddings]
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"
)