Pangkalan Data Vektor: Pinecone, Weaviate & pgvector · Pelajaran

Menyoal Data Vektor dalam Pinecone

Laksanakan carian keserupaan yang cekap dalam Pinecone untuk mendapatkan vektor berkaitan berdasarkan benaman pertanyaan.

Pelajaran 3 daripada 412 langkah

Menyoal Data Vektor dalam Pinecone ialah pelajaran Pangkalan Data Vektor: Pinecone, Weaviate & pgvector percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pangkalan Data Vektor: Pinecone, Weaviate & pgvector, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pangkalan Data Vektor: Pinecone, Weaviate & pgvector merangkumi sejumlah 4 pelajaran.

Pengenalan kepada Query Pinecone

Selepas menyediakan Index dan menambah data, langkah penting seterusnya ialah mendapatkan maklumat yang berkaitan. Di sinilah query digunakan!

Query dalam Pinecone bermaksud mencari vektor dalam Index anda yang paling serupa dengan "vektor query" yang diberikan. Inilah cara anda melakukan carian semantik, membuat cadangan dan banyak lagi.

Query Anda sebagai Vektor

Sama seperti data yang anda simpan, query carian anda juga perlu ditukar kepada vektor. "Vektor query" ini kemudiannya dibandingkan dengan semua vektor dalam Index Pinecone anda.

  • Model Pembenaman: Anda menggunakan model pembenaman yang sama yang menjana vektor tersimpan anda untuk mencipta vektor query.
  • Keserupaan: Pinecone mengira jarak atau keserupaan antara vektor query anda dengan vektor yang diindeks.

Menjana Pembenaman Query

Sebelum anda boleh membuat query Pinecone, anda memerlukan pembenaman untuk istilah carian anda. Katakan anda mahu mencari dokumen yang serupa dengan "machine learning models".

Anda akan menghantar "machine learning models" melalui model pembenaman pilihan anda (contohnya, text-embedding-ada-002 milik OpenAI) untuk mendapatkan perwakilan vektor.

Memperkenalkan `index.query()`

Klien Pinecone menyediakan kaedah yang mudah untuk membuat query: index.query(). Kaedah ini ialah laluan anda untuk mencari vektor yang serupa.

Parameter utama yang sering anda gunakan:

  • vector: Pembenaman query anda.
  • top_k: Bilangan hasil serupa yang anda mahu.
  • include_metadata: Sama ada metadata berkaitan perlu dikembalikan.
  • include_values: Sama ada nilai vektor mentah perlu dikembalikan.

Query Pinecone Pertama Anda

Mari lakukan query mudah. Buat masa ini, kita akan menggunakan vektor ruang letak, dengan andaian bahawa vektor itu telah dijana. Ingat untuk menggantikan YOUR_API_KEY dan YOUR_ENVIRONMENT.

import os
from pinecone import Pinecone, Index

# Initialize Pinecone (replace with your actual API key and environment)
# In a real app, use environment variables!
api_key = os.environ.get("PINECONE_API_KEY", "YOUR_API_KEY")
environment = os.environ.get("PINECONE_ENVIRONMENT", "YOUR_ENVIRONMENT")
pc = Pinecone(api_key=api_key, environment=environment)

index_name = "my-first-index"
index = pc.Index(index_name)

# A dummy query vector (in reality, this would be an embedding)
query_vector = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8] # Example 8-dim vector

# Perform the query
query_results = index.query(
    vector=query_vector,
    top_k=3 # Get the 3 most similar results
)

print("Query Results:")
for match in query_results.matches:
    print(f"ID: {match.id}, Score: {match.score:.2f}")

Mentafsir Padanan Query

Objek query_results mengandungi senarai matches. Setiap padanan mewakili vektor serupa yang ditemui dalam Index anda.

  • id: Pengecam unik bagi vektor yang sepadan.
  • score: Nilai berangka yang menunjukkan keserupaan. Skor yang lebih tinggi (lebih hampir kepada 1 untuk kosinus, lebih hampir kepada 0 untuk Euclidean) bermaksud keserupaan yang lebih tinggi.
  • values: Vektor mentah (jika include_values=True).
  • metadata: Sebarang metadata berkaitan (jika include_metadata=True).

Mengehadkan Hasil dengan `top_k`

Parameter top_k penting untuk mengawal bilangan hasil yang dikembalikan oleh Pinecone. Parameter ini menentukan bilangan jiran terdekat yang mahu anda dapatkan.

  • Jika top_k=1, anda hanya mendapat satu vektor yang paling serupa.
  • Jika top_k=10, anda mendapat 10 vektor paling serupa.

Pilih top_k berdasarkan bilangan item berkaitan yang diperlukan oleh aplikasi anda.

Mendapatkan Lebih Banyak Konteks: Metadata

Selalunya, anda bukan sekadar mahu mendapatkan ID dan skor; anda memerlukan kandungan asal atau sifat lain yang dikaitkan dengan vektor tersebut. Di sinilah include_metadata digunakan.

  • Tetapkan include_metadata=True untuk mendapatkan kamus metadata yang disimpan bersama setiap vektor.
  • Anda juga boleh menetapkan include_values=True untuk mendapatkan tatasusunan vektor sebenar bagi item yang sepadan, walaupun ini kurang biasa untuk mendapatkan data asas.

Menggabungkan Query dengan Penapis (Pratonton)

Pinecone membolehkan anda memperhalus carian keserupaan dengan menambahkan penapis berdasarkan metadata yang anda simpan bersama vektor.

Contohnya, anda boleh mencari item yang serupa hanya dalam kategori tertentu atau daripada pengarang tertentu.

Kita akan membincangkan penapisan metadata yang berkuasa dengan lebih mendalam dalam lesson kemudian, tetapi ketahuilah bahawa ini ialah ciri penting untuk carian yang tepat.

Query Praktikal dengan Metadata

Mari kembangkan contoh terdahulu untuk menyertakan metadata dalam hasil. Untuk ini berfungsi, kita perlu melakukan upsert data yang mempunyai metadata dalam langkah sebelumnya.

Contoh ini menganggap terdapat Index dengan vektor dan metadata berkaitan (contohnya, {"genre": "sci-fi"}).

import os
from pinecone import Pinecone, Index

# Initialize Pinecone
api_key = os.environ.get("PINECONE_API_KEY", "YOUR_API_KEY")
environment = os.environ.get("PINECONE_ENVIRONMENT", "YOUR_ENVIRONMENT")
pc = Pinecone(api_key=api_key, environment=environment)

index_name = "my-first-index"
index = pc.Index(index_name)

# A dummy query vector
query_vector = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]

# Perform query, including metadata
query_results = index.query(
    vector=query_vector,
    top_k=2, # Get top 2 results
    include_metadata=True # Request metadata
)

print("Detailed Query Results:")
for match in query_results.matches:
    print(f"ID: {match.id}, Score: {match.score:.2f}, Metadata: {match.metadata}")

Semakan Parameter Query

Anda mahu mendapatkan 5 vektor yang paling serupa daripada Index Pinecone anda. Anda juga perlu melihat metadata asal yang dikaitkan dengan setiap vektor yang sepadan.

Gabungan parameter yang manakah patut anda gunakan dalam panggilan index.query() anda?

Query Pinecone: Ulang Kaji

Tahniah! Anda telah mempelajari cara membuat query Index Pinecone anda untuk mencari vektor yang serupa.

  • Query menggunakan vektor query, yang biasanya dijana oleh model pembenaman yang sama.
  • Kaedah index.query() digunakan dengan parameter utama seperti vector, top_k, include_metadata dan include_values.
  • Hasilnya merangkumi id dan score yang menunjukkan keserupaan.

Seterusnya, kita akan meneroka cara yang lebih lanjut untuk memperhalus carian anda!

Percuma untuk bermula

Pelajari Pangkalan Data Vektor: Pinecone, Weaviate & pgvector dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Menyoal Data Vektor dalam Pinecone” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pangkalan Data Vektor: Pinecone, Weaviate & pgvector, termasuk “Menyoal Data Vektor dalam Pinecone”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pangkalan Data Vektor: Pinecone, Weaviate & pgvector merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Menyoal Data Vektor dalam Pinecone”?

Laksanakan carian keserupaan yang cekap dalam Pinecone untuk mendapatkan vektor berkaitan berdasarkan benaman pertanyaan. Anda berlatih Pangkalan Data Vektor: Pinecone, Weaviate & pgvector menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Pangkalan Data Vektor: Pinecone, Weaviate & pgvector?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pangkalan Data Vektor: Pinecone, Weaviate & pgvector di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Menyoal Data Vektor dalam Pinecone” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pangkalan Data Vektor: Pinecone, Weaviate & pgvector ini?

Ya. Setiap pelajaran Pangkalan Data Vektor: Pinecone, Weaviate & pgvector menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Penciptaan Indeks Pinecone
  2. Memasukkan Data ke Pinecone
  3. Menyoal Data Vektor dalam Pinecone
  4. Memahami Harga dan Pod Pinecone
← Kembali ke Pangkalan Data Vektor: Pinecone, Weaviate & pgvector