Weaviate GraphQL -kyselyt
Ottakaa haltuun Weaviate-datan kyselyt sen tehokkaan GraphQL-rajapinnan avulla semanttista hakua ja tiedonhakua varten.
Weaviate GraphQL -kyselyt 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.
Weaviaten GraphQL-teho
Tervetuloa! Tässä oppitunnissa opitte hallitsemaan Weaviate-tietojenne kyselyitä. Weaviate käyttää joustavaa ja tehokasta GraphQL-kyselykieltä tietojen hakemiseen.
GraphQL:n avulla voitte pyytää täsmälleen tarvitsemanne tiedot – ette enempää ettekä vähempää. Tämä on erityisen hyödyllistä monimutkaisissa hauissa, kuten vektoreiden samankaltaisuushauissa.
Tietojen perushaku: Get
Weaviate-kyselyiden perusta on Get-operaatio. Sen avulla voitte hakea dataobjekteja skeemassanne määritetystä luokasta.
- Määrittäkää luokan nimi (esimerkiksi
Article). - Valitkaa haettavat ominaisuudet (esimerkiksi
titlejacontent). - Weaviate palauttaa kaikki kyseisen luokan objektit määritettyine ominaisuuksineen.
Esimerkki kaikkien objektien hakemisesta
Katsotaan, miten perusmuotoinen Get-kysely toimii. Tämä Python-koodi muodostaa yhteyden Weaviate-instanssiinne ja hakee kaikkien Article-objektien title- ja content-ominaisuudet.
(Varmistakaa, että Weaviate-instanssi on käynnissä paikallisesti osoitteessa http://localhost:8080 ja että 'Article'-luokassa on tietoja.)
import weaviate
# Connect to your Weaviate instance
# For local: http://localhost:8080
client = weaviate.Client(url="http://localhost:8080")
# Perform a basic Get query for 'Article' objects
try:
response = client.query.get("Article", ["title", "content"]).do()
print("--- Retrieved Articles ---")
for article in response["data"]["Get"]["Article"]:
print(f"Title: {article['title']}")
except Exception as e:
print(f"Error during query: {e}")Tietojen suodattaminen 'where'-ehdolla
Usein ette halua kaikkia objekteja, vaan vain tietyt objektit. where-suodattimella voitte lisätä kyselyihinne ehtoja ja rajata tuloksia.
- Voitte suodattaa ominaisuuksien arvojen perusteella (teksti, luku, totuusarvo ja päivämäärä).
- Käyttäkää operaattoreita, kuten
Equal,LikejaGreaterThan. - Yhdistäkää useita ehtoja
_and- tai_or-lausekkeilla.
Suodattaminen ominaisuuden arvon perusteella
Tässä esimerkissä näytetään, miten where-suodatinta käytetään tietyn kirjoittajan kirjoittamien artikkeleiden etsimiseen. Etsimme artikkeleita, joiden author-ominaisuuden arvo vastaa arvoa 'Jane Doe'.
import weaviate
client = weaviate.Client(url="http://localhost:8080")
# Define the 'where' filter
where_filter = {
"path": ["author"],
"operator": "Equal",
"valueText": "Jane Doe"
}
# Perform the Get query with the filter
try:
response = client.query.get("Article", ["title", "author"])
.with_where(where_filter).do()
print("--- Articles by Jane Doe ---")
for article in response["data"]["Get"]["Article"]:
print(f"Title: {article['title']}, Author: {article['author']}")
except Exception as e:
print(f"Error during query: {e}")Vektoriesitysten hakeminen
Weaviate tallentaa jokaiselle objektille vektoriesityksen, joka kuvaa sen semanttista merkitystä. Voitte hakea tämän vektorin suoraan osana GraphQL-kyselyänne.
Tätä varten käytätte _additional { vector } -lauseketta. Se on hyödyllinen tietojen vianmäärityksessä ja ymmärtämisessä sekä Weaviaten ulkopuolisten mukautettujen toimintojen suorittamisessa.
Vektoriesityksen hakeminen
Näin haette vektoriesityksen muiden ominaisuuksien kanssa. Haemme ensimmäisen löydetyn artikkelin title-ominaisuuden ja vector-vektorin.
import weaviate
client = weaviate.Client(url="http://localhost:8080")
# Query for a title and its vector
try:
response = client.query.get("Article", ["title"])
.with_additional("vector")
.with_limit(1).do()
print("--- Article Title and Vector ---")
if response["data"]["Get"]["Article"]:
article = response["data"]["Get"]["Article"][0]
print(f"Title: {article['title']}")
print(f"Vector (first 5 elements): {article['_additional']['vector'][:5]}...")
else:
print("No articles found.")
except Exception as e:
print(f"Error during query: {e}")Tehokas semanttinen haku
Yksi Weaviaten tärkeimmistä vahvuuksista on semanttinen haku. Se ei etsi vain avainsanoja, vaan löytää dataobjekteja niiden merkityksen perusteella, vaikka täsmällisiä sanoja ei esiintyisi.
Tämä toteutetaan nearText-operaattorilla. Annatte sille tekstimuotoisia "käsitteitä", joiden avulla Weaviate etsii tietokannastanne semanttisesti samankaltaisimmat objektit.
Samankaltaisten artikkeleiden etsiminen
Tehdään semanttinen haku artikkeleista, jotka liittyvät aiheeseen 'machine learning applications'. Huomaatte, miten käytämme with_near_text-toimintoa ja annamme sille kyselymme käsitteet.
import weaviate
client = weaviate.Client(url="http://localhost:8080")
# Define the concepts for semantic search
concepts = ["machine learning applications"]
# Perform a nearText query
try:
response = client.query.get("Article", ["title", "content"])
.with_near_text({"concepts": concepts})
.with_limit(3).do()
print("--- Articles similar to 'machine learning applications' ---")
for article in response["data"]["Get"]["Article"]:
print(f"Title: {article['title']}")
except Exception as e:
print(f"Error during query: {e}")GraphQL-kyselyhaaste
Olette oppineet useita tapoja kysellä Weaviateen tallennettuja tietoja GraphQL:n avulla.
Mitä seuraavista GraphQL-kyselyoperaatioista käytetään erityisesti sellaisten dataobjektien etsimiseen, jotka ovat semanttisesti samankaltaisia annetun tekstimuotoisen käsitteen kanssa?
Weaviate-kyselyiden kertaus
Hienoa työtä! Hallitsette nyt Weaviaten tehokkaan GraphQL-rajapinnan perusteet:
Get-operaatio hakee dataobjekteja ja niiden ominaisuuksia.where-suodattimella voitte käyttää hauissa tarkkoja ehtoja.- Voitte hakea objektin vektoriesityksen erikseen käyttämällä
_additional { vector }-lauseketta. nearText-operaattori mahdollistaa semanttisen haun ja löytää kohteita niiden merkityksen perusteella.
Näiden työkalujen avulla voitte hakea ja tutkia vektorimuotoisia tietojanne Weaviatessa tehokkaasti!
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 ”Weaviate GraphQL -kyselyt” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Vektoritietokannat: Pinecone, Weaviate ja pgvector-oppimispolun 3 oppituntia, myös oppitunnin “Weaviate GraphQL -kyselyt”. 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 ”Weaviate GraphQL -kyselyt”?
Ottakaa haltuun Weaviate-datan kyselyt sen tehokkaan GraphQL-rajapinnan avulla semanttista hakua ja tiedonhakua varten. 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 ”Weaviate GraphQL -kyselyt”-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
- Weaviate-skeeman määrittely
- Dataobjektien tuominen
- Weaviate GraphQL -kyselyt
- Vectorizer-moduulit ja automaattinen embedding