Kom igångKom igång gratis

Föra in vektorer för semantisk sökning

Dags att bädda in textdata och föra in vektorerna med metadata i ditt 'pinecone-datacamp'-index! Du har fått tillgång till ett dataset med namnet squad_dataset.csv, och ett urval på 200 rader har laddats in i DataFramen df.

I den här övningen behöver du inte skapa eller använda en egen API-nyckel för att anropa OpenAI:s API och använda deras inbäddningsmodell. En giltig OpenAI-klient har redan skapats och tilldelats variabeln client.

Din uppgift är att bädda in texten med OpenAI:s API och föra in inbäddningarna och metadata i Pinecone-indexet under namnrymden squad_dataset.

Den här övningen är en del av kursen

Bygga AI-applikationer med Pinecone

Visa kurs

Övningsinstruktioner

  • Initiera Pinecone-klienten med din API-nyckel (OpenAI-klienten är redan tillgänglig som client).
  • Extrahera metadata för 'id', 'text' och 'title' från varje row i batchen.
  • Koda texts med 'text-embedding-3-small' från OpenAI med dimensionaliteten 1536.
  • För in vektorerna och metadata i en namnrymd som heter 'squad_dataset'.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Initialize the Pinecone client
pc = Pinecone(api_key="____")
index = pc.Index('pinecone-datacamp')

batch_limit = 100

for batch in np.array_split(df, len(df) / batch_limit):
    # Extract the metadata from each row
    metadatas = [{
      "text_id": row['____'],
      "text": row['____'],
      "title": row['____']} for _, row in batch.iterrows()]
    texts = batch['text'].tolist()
    
    ids = [str(uuid4()) for _ in range(len(texts))]
    
    # Encode texts using OpenAI
    response = ____(input=____, model="____")
    embeds = [np.array(x.embedding) for x in response.data]
    
    # Upsert vectors to the correct namespace
    ____(vectors=____(ids, embeds, metadatas), namespace=____)
Redigera och kör kod