Weaviate-modules gebruiken
Verken het uitgebreide module-ecosysteem van Weaviate en integreer het voor functionaliteiten zoals vraag-en-antwoord, samenvatten en meer.
Weaviate-modules gebruiken is een gratis Vectordatabases: Pinecone, Weaviate en pgvector-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Vectordatabases: Pinecone, Weaviate en pgvector. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Vectordatabases: Pinecone, Weaviate en pgvector bevat in totaal 4 lessen.
Inleiding tot Weaviate-modules
De kracht van Weaviate komt voort uit de flexibele architectuur, die kan worden uitgebreid met modules. Deze modules voegen gespecialiseerde functionaliteit rechtstreeks toe aan je Weaviate-instantie.
Je kunt ze zien als plug-ins die de kernmogelijkheden van Weaviate uitbreiden. Ze kunnen taken uitvoeren zoals het genereren van embeddings, het beantwoorden van vragen en zelfs het verwerken van afbeeldingen.
Waarom Weaviate-modules gebruiken?
Modules stroomlijnen je gegevenspijplijn door geavanceerde AI-functionaliteit rechtstreeks in je vectordatabank te integreren. Dat betekent het volgende:
- Automatische vectorisatie: Weaviate kan embeddings voor je maken.
- Uitgebreider zoeken: voeg mogelijkheden zoals vraag-en-antwoord of samenvattingen toe aan zoekopdrachten.
- Eenvoudigere ontwikkeling: je hebt minder externe code nodig voor algemene AI-taken.
- Ondersteuning voor meerdere modaliteiten: verwerk verschillende gegevenstypen, zoals tekst en afbeeldingen.
Typen modules
Weaviate biedt een uitgebreid ecosysteem van modules, die doorgaans op basis van hun functie worden ingedeeld:
- Text2Vec: genereer vector-embeddings uit tekst (bijvoorbeeld
text2vec-openai,text2vec-huggingface). - Generatief: voeg mogelijkheden van Large Language Models (LLM's) toe voor vraag-en-antwoord en samenvattingen (bijvoorbeeld
generative-openai,generative-cohere). - Meerdere modaliteiten: verwerk verschillende gegevenstypen, zoals afbeeldingen (bijvoorbeeld
img2vec-clip). - Rerank: verbeter de relevantie van zoekopdrachten door resultaten opnieuw te ordenen.
Modules inschakelen voor gebruik
Voordat je een module kunt gebruiken, moet deze zijn ingeschakeld in je Weaviate-instantie. Dit gebeurt meestal tijdens de configuratie (bijvoorbeeld via Docker Compose) of wanneer je Weaviate Cloud gebruikt.
Wanneer je je client initialiseert, geef je vaak op welke modules je wilt gebruiken. Als je bijvoorbeeld text2vec-openai en generative-openai wilt gebruiken, configureer je je client overeenkomstig.
Text2Vec: automatische vectorisatie
De modules text2vec zijn essentieel voor het automatisch maken van vector-embeddings. Wanneer je een klasseschema definieert, geef je op welke vectoriseerder je wilt gebruiken.
Weaviate zorgt vervolgens voor het aanroepen van het embeddingmodel wanneer nieuwe gegevens worden geïmporteerd, zodat je tekst wordt omgezet in doorzoekbare vectoren.
Code: schema met Text2Vec-module
Zo definieer je een schema dat de module text2vec-openai gebruikt om de eigenschap description van een klasse 'Article' automatisch te vectoriseren:
import weaviate
import os
# NOTE: Replace with your Weaviate URL and API key
# and OpenAI API key if using text2vec-openai
# client = weaviate.Client(
# url="YOUR_WEAVIATE_URL",
# auth_client_secret=weaviate.AuthApiKey(api_key="YOUR_WEAVIATE_API_KEY"),
# headers={
# "X-OpenAI-Api-Key": os.environ.get("OPENAI_API_KEY") # Or your key
# }
# )
# For demonstration, we'll just show the schema
# and assume client is configured.
class_obj = {
"class": "Article",
"vectorizer": "text2vec-openai", # Enable vectorization
"moduleConfig": {
"text2vec-openai": {
"model": "ada",
"modelVersion": "002",
"type": "text"
}
},
"properties": [
{
"name": "title",
"dataType": ["text"]
},
{
"name": "description",
"dataType": ["text"]
}
]
}
# client.schema.create_class(class_obj)
print("Schema definition for Article class:")
print(class_obj)
# This code isn't runnable as is without a Weaviate instance and API keys
# but demonstrates the schema structure.
Generatieve modules voor LLM's
Met generatieve modules (zoals generative-openai) kun je Large Language Models (LLM's) rechtstreeks in je Weaviate-zoekopdrachten integreren. Daarmee krijg je krachtige functies zoals:
- Vraag-en-antwoord: stel vragen over je opgehaalde gegevens.
- Samenvatten: ontvang samenvattingen van zoekresultaten.
- Extractie: haal specifieke informatie uit de context.
Je gebruikt deze modules via de GraphQL-syntaxis _additional { generate { ... } } in je zoekopdrachten.
Code: zoekopdracht met generatieve module
Hier zie je een conceptueel voorbeeld van het gebruik van een generatieve module om een vraag te beantwoorden op basis van opgehaalde gegevens. Ga ervan uit dat er een klasse 'Question' met relevante gegevens bestaat.
import weaviate
import os
# NOTE: Replace with your Weaviate URL and API key
# client = weaviate.Client(
# url="YOUR_WEAVIATE_URL",
# auth_client_secret=weaviate.AuthApiKey(api_key="YOUR_WEAVIATE_API_KEY"),
# headers={
# "X-OpenAI-Api-Key": os.environ.get("OPENAI_API_KEY") # Or your key
# }
# )
# For demonstration, we'll just show the query structure.
# query_result = client.query
# .get("Question", ["question", "answer"])
# .with_generate(single_prompt="What is the main topic of these questions?")
# .with_limit(2)
# .do()
print("Conceptual query using generative module:")
print("client.query.get(\"Question\", [\"question\"]).with_generate(...)")
print("This would ask an LLM to summarize or answer based on results.")
# This code is illustrative and not runnable without a Weaviate instance,
# data, and API keys.Modules voor meerdere modaliteiten en geavanceerde modules
Naast tekst ondersteunt Weaviate modules voor meerdere modaliteiten, zoals img2vec-clip, waarmee embeddings voor afbeeldingen kunnen worden gegenereerd. Hierdoor kun je overeenkomstzoekopdrachten uitvoeren op visuele gegevens.
Andere geavanceerde modules zijn modules voor het opnieuw rangschikken van zoekresultaten (bijvoorbeeld rerank-transformers) om de relevantie te verbeteren, zodat gebruikers eerst de meest relevante informatie zien.
Aanbevolen werkwijzen voor modules
Houd bij het gebruik van Weaviate-modules rekening met deze aanbevolen werkwijzen:
- Kies zorgvuldig: selecteer modules die aansluiten op de specifieke behoeften van je toepassing (bijvoorbeeld OpenAI voor algemene tekst en Hugging Face voor gespecialiseerde modellen).
- Houd kosten in de gaten: veel modules zijn afhankelijk van externe API's (zoals OpenAI), waaraan kosten verbonden zijn. Houd het gebruik bij en stel limieten in.
- Versiebeheer: houd moduleversies bij, omdat deze de kwaliteit van embeddings of generatieve uitvoer kunnen beïnvloeden.
- Beveiliging: bescherm je API-sleutels en zorg voor de juiste toegangscontrole tot je Weaviate-instantie.
Controle van modulemogelijkheden
Welke van de volgende opties zijn belangrijke voordelen van het gebruik van Weaviate-modules?
Herhaling en volgende stappen
In deze les hebben we het krachtige module-ecosysteem van Weaviate verkend. We hebben geleerd dat modules de mogelijkheden van Weaviate uitbreiden voor taken zoals automatische vectorisatie (text2vec), generatieve AI (generative) en het verwerken van gegevens met meerdere modaliteiten (img2vec).
Door deze modules te integreren kun je rechtstreeks boven op je Weaviate-instantie geavanceerdere en efficiëntere AI-toepassingen bouwen. Begrijpen hoe je ze inschakelt en configureert, is essentieel om geavanceerde functionaliteit te benutten.
Leer Vectordatabases: Pinecone, Weaviate en pgvector met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Weaviate-modules gebruiken” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Vectordatabases: Pinecone, Weaviate en pgvector, waaronder “Weaviate-modules gebruiken”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Vectordatabases: Pinecone, Weaviate en pgvector bevat in totaal 4 lessen.
Wat leer ik in “Weaviate-modules gebruiken”?
Verken het uitgebreide module-ecosysteem van Weaviate en integreer het voor functionaliteiten zoals vraag-en-antwoord, samenvatten en meer. Je oefent met Vectordatabases: Pinecone, Weaviate en pgvector door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Vectordatabases: Pinecone, Weaviate en pgvector te beginnen?
Ervaring vooraf is niet nodig. Vectordatabases: Pinecone, Weaviate en pgvector op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Weaviate-modules gebruiken”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Vectordatabases: Pinecone, Weaviate en pgvector?
Ja. Elke les over Vectordatabases: Pinecone, Weaviate en pgvector bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Semantisch zoeken en hybride zoeken
- Weaviate-modules gebruiken
- Strategieën voor back-up en herstel
- Multi-tenancy in Weaviate