Vektoridatan kyselyt Pineconessa
Suorittakaa tehokkaita samankaltaisuushakuja Pineconessa ja hakekaa kyselyn upotukseen perustuvat olennaiset vektorit.
Vektoridatan kyselyt Pineconessa on ilmainen Vektoritietokannat: Pinecone, Weaviate ja pgvector-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Vektoritietokannat: Pinecone, Weaviate ja pgvector-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Vektoritietokannat: Pinecone, Weaviate ja pgvector-kurssilla on yhteensä 4 oppituntia.
Johdatus Pinecone-kyselyihin
Kun indeksi on määritetty ja tiedot lisätty, seuraava tärkeä vaihe on olennaisten tietojen hakeminen. Tässä kyselyt tulevat mukaan!
Pineconessa kysely tarkoittaa niiden indeksissä olevien vektorien etsimistä, jotka ovat kaikkein samankaltaisimpia annetun "kyselyvektorin" kanssa. Näin toteutetaan semanttista hakua, suosituksia ja paljon muuta.
Kysely vektorina
Aivan kuten tallentamanne tiedot, myös hakukysely on muunnettava vektoriksi. Tätä "kyselyvektoria" verrataan sitten kaikkiin Pinecone-indeksinne vektoreihin.
- Upotusmalli: Käytätte samaa upotusmallia, jolla tallennetut vektorit luotiin, kyselyvektorin muodostamiseen.
- Samankaltaisuus: Pinecone laskee kyselyvektorin ja indeksoitujen vektorien välisen etäisyyden tai samankaltaisuuden.
Kyselyn upotuksen luominen
Ennen kuin voitte tehdä kyselyn Pineconessa, tarvitsette hakutermillenne upotuksen. Oletetaan, että haluatte löytää tekstiin "machine learning models" liittyviä asiakirjoja.
Antaisitte tekstin "machine learning models" valitsemanne upotusmallin (esim. OpenAI:n text-embedding-ada-002) käsiteltäväksi vektorimuotoisen esityksen saamiseksi.
Esittelyssä `index.query()`
Pinecone-asiakasohjelma tarjoaa suoraviivaisen kyselymenetelmän: index.query(). Tämä menetelmä toimii väylänä samankaltaisten vektorien löytämiseen.
Usein käytettäviä keskeisiä parametreja:
vector: Kyselyn upotus.top_k: Haluttujen samankaltaisten tulosten määrä.include_metadata: Määrittää, palautetaanko siihen liittyvät metatiedot.include_values: Määrittää, palautetaanko vektorin raaka-arvot.
Ensimmäinen Pinecone-kysely
Tehdään yksinkertainen kysely. Käytämme toistaiseksi paikkamerkkivektoria ja oletamme, että se on jo luotu. Muistakaa korvata YOUR_API_KEY ja 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}")Kyselyosumien tulkitseminen
query_results-objekti sisältää matches-luettelon. Jokainen osuma edustaa indeksistä löytynyttä samankaltaista vektoria.
id: Osuneen vektorin yksilöllinen tunniste.score: Samankaltaisuutta ilmaiseva numeerinen arvo. Suuremmat pisteet (kosinietäisyydellä lähempänä arvoa 1 ja euklidisella etäisyydellä lähempänä arvoa 0) tarkoittavat suurempaa samankaltaisuutta.values: Vektorin raaka-arvot, josinclude_values=True.metadata: Liittyvät metatiedot, josinclude_metadata=True.
Tulosten rajoittaminen `top_k`-parametrilla
top_k-parametri on tärkeä Pineconen palauttamien tulosten määrän hallinnassa. Se määrittää haettavien lähimpien naapureiden määrän.
- Jos
top_k=1, saatte vain yhden, kaikkein samankaltaisimman vektorin. - Jos
top_k=10, saatte 10 kaikkein samankaltaisinta vektoria.
Valitkaa top_k sen perusteella, kuinka monta olennaista kohdetta sovelluksenne tarvitsee.
Lisää kontekstia: metatiedot
Usein ette halua pelkkää tunnistetta ja pistemäärää, vaan tarvitsette vektoriin liittyvän alkuperäisen sisällön tai muita ominaisuuksia. Tässä include_metadata on hyödyllinen.
- Asetuksella
include_metadata=Truesaatte jokaisen vektorin yhteydessä tallennetun metatietosanakirjan. - Voitte myös asettaa
include_values=True, jolloin saatte osuneen kohteen varsinaisen vektoritaulukon, vaikka tämä on harvinaisempaa perustason haussa.
Kyselyn yhdistäminen suodattimiin (esikatselu)
Pineconessa samankaltaisuushakuja voi tarkentaa lisäämällä suodattimia vektoreihin tallennettujen metatietojen perusteella.
Voisitte esimerkiksi hakea samankaltaisia kohteita vain tietystä luokasta tai tietyn tekijän mukaan.
Perehdymme tehokkaaseen metatietojen suodatukseen tarkemmin myöhemmässä oppitunnissa, mutta muistakaa, että se on täsmällisten hakujen keskeinen ominaisuus.
Käytännön kysely metatietojen avulla
Laajennetaan edellistä esimerkkiä niin, että tuloksiin sisällytetään metatiedot. Jotta tämä toimisi, meidän olisi pitänyt upsertoida metatietoja sisältävät tiedot aiemmassa vaiheessa.
Tässä esimerkissä oletetaan, että indeksissä on vektoreita ja niihin liittyviä metatietoja (esim. {"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}")Kyselyparametrien tarkistus
Haluatte hakea Pinecone-indeksistänne viisi kaikkein samankaltaisinta vektoria. Lisäksi haluatte nähdä kuhunkin osuneeseen vektoriin liittyvät alkuperäiset metatiedot.
Mitä parametrien yhdistelmää teidän pitäisi käyttää index.query()-kutsussa?
Pinecone-kyselyt: kertaus
Hienoa työtä! Olette oppineet tekemään kyselyitä Pinecone-indeksiinne samankaltaisten vektorien löytämiseksi.
- Kyselyissä käytetään kyselyvektoria, joka luodaan yleensä samalla upotusmallilla.
- Käytössä on
index.query()-metodi sekä keskeiset parametrit, kutenvector,top_k,include_metadatajainclude_values. - Tulokset sisältävät
id-tunnisteen ja samankaltaisuutta ilmaisevanscore-pistemäärän.
Seuraavaksi tutustumme kehittyneempiin tapoihin tarkentaa hakuja!
Opi Vektoritietokannat: Pinecone, Weaviate ja pgvector tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Vektoridatan kyselyt Pineconessa” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Vektoritietokannat: Pinecone, Weaviate ja pgvector-oppimispolun 3 oppituntia, myös oppitunnin “Vektoridatan kyselyt Pineconessa”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Vektoritietokannat: Pinecone, Weaviate ja pgvector-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Vektoridatan kyselyt Pineconessa”?
Suorittakaa tehokkaita samankaltaisuushakuja Pineconessa ja hakekaa kyselyn upotukseen perustuvat olennaiset vektorit. Harjoittelet Vektoritietokannat: Pinecone, Weaviate ja pgvector-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Vektoritietokannat: Pinecone, Weaviate ja pgvector-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Vektoritietokannat: Pinecone, Weaviate ja pgvector-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.
Kuinka kauan ”Vektoridatan kyselyt Pineconessa”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Vektoritietokannat: Pinecone, Weaviate ja pgvector-oppitunnilla?
Kyllä. Jokainen Vektoritietokannat: Pinecone, Weaviate ja pgvector-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Pinecone-indeksin luominen
- Datan upsert-operaatiot Pineconessa
- Vektoridatan kyselyt Pineconessa
- Pineconen hinnoittelu ja podit