Vektordatenbanken für Einbettungen mit Pinecone
James Chapman
Curriculum Manager, DataCamp

from openai import OpenAI from pinecone import Pinecone, ServerlessSpec client = OpenAI(api_key="OPENAI_API_KEY") pc = Pinecone(api_key="PINECONE_API_KEY")pc.create_index( name="semantic-search-datacamp",dimension=1536,spec=ServerlessSpec(cloud='aws', region='us-east-1') )index = pc.Index("semantic-search-datacamp")
import pandas as pd
import numpy as np
from uuid import uuid4
df = pd.read_csv('squad_dataset.csv')
| id | text | title |
|----|---------------------------------------------------|-------------------|
| 1 | Architektonisch hat die Schule einen katholisc... | University of ... |
| 2 | Das College of Engineering wurde gegründet im... | University of ... |
| 3 | Nach der Auflösung von Destiny's Child im Jahr... | Beyonce |
| 4 | Architektonisch hat die Schule einen katholisc... | University of ... |
batch_limit = 100for batch in np.array_split(df, len(df) / batch_limit):metadatas = [{"text_id": row['id'], "text": row['text'], "title": row['title']} for _, row in batch.iterrows()]texts = batch['text'].tolist()ids = [str(uuid4()) for _ in range(len(texts))]response = client.embeddings.create(input=texts, model="text-embedding-3-small") embeds = [np.array(x.embedding) for x in response.data]index.upsert(vectors=zip(ids, embeds, metadatas), namespace="squad_dataset")
index.describe_index_stats()
{'dimension': 1536, 'index_fullness': 0.02,
'namespaces': {'squad_dataset': {'vector_count': 2000}},
'total_vector_count': 2000}
query = "To whom did the Virgin Mary allegedly appear in 1858 in Lourdes France?"query_response = client.embeddings.create( input=query, model="text-embedding-3-small") query_emb = query_response.data[0].embeddingretrieved_docs = index.query(vector=query_emb, top_k=3, namespace=namespace, include_metadata=True)
for result in retrieved_docs['matches']:
print(f"{round(result['score'], 2)}: {result['metadata']['text']}")
0.41: Architektonisch hat die Schule einen katholischen Charakter. Auf der goldenen
Kuppel des Hauptgebäudes steht eine goldene Statue der Jungfrau Maria...
0.3: Wegen ihrer katholischen Identität gibt es auf dem Campus mehrere religiöse
Gebäude. Das Old College ist eines von zwei Priesterseminaren...
0.29: Im weißen Schild die fünf Quinas (kleine blaue Schilde) mit
je fünf weißen Bezants, die die fünf Wunden darstellen...
Vektordatenbanken für Einbettungen mit Pinecone