Verhogen van Airbnb-vermeldingen: GPT-4o Mini vs. Anthropic's 3.5 Sonnet in Agentic RAG
Ontdek de prestaties van GPT-4o Mini versus Anthropic's 3.5 Sonnet bij het creëren van agenten voor Airbnb-lijstbeschrijvingen. Leer hoe u een praktische dataset, embeddings en een agentenRAG-pipeline kunt instellen met behulp van Llama Index en VectorDB. Ontdek de sterke en zwakke punten van elk model in deze uitgebreide vergelijking.
24 februari 2025

Ontdek hoe het nieuwste GPT-4o Mini-model van OpenAI presteert bij het creëren van agenten voor Agentic RAG, een krachtige techniek voor informatieophaling. Deze blogpost biedt een praktische vergelijking met het Anthropic Cloud 3.5 Sonnet-model, waarbij een real-world Airbnb-dataset wordt gebruikt om de mogelijkheden en beperkingen van elk model in een agentische workflow te laten zien.
Introductie van GPT-4o Mini: Een kosteneffectief model voor Agentic RAG
De omgeving en gegevens instellen
Het Airbnb-dataset inbedden
De vector store en query engine tool maken
De Agent Worker implementeren
GPT-4o Mini en Cloud 3.5 Sonnet als agenten vergelijken
Conclusie
Introductie van GPT-4o Mini: Een kosteneffectief model voor Agentic RAG
Introductie van GPT-4o Mini: Een kosteneffectief model voor Agentic RAG
GPT-4o Mini is de nieuwste en meest kosteneffectieve model van OpenAI, en het is een van de best presterende modellen in zijn prijsklasse. De vraag blijft echter: hoe goed is dit model voor het creëren van agenten, specifiek voor agentic Retrieval-Augmented Generation (RAG)?
In dit gedeelte zullen we de prestaties van GPT-4o Mini vergelijken met die van het Anthropic Cloud 3.5 Sonnet-model, dat een populaire keuze is voor agentic RAG. We zullen een praktische dataset, de Airbnb-embeddings-dataset van MongoDB, gebruiken om de mogelijkheden van deze modellen te testen.
De dataset bevat verschillende metadatakolommen, en we zullen de gegevens voorbewerken om een geschikte invoer voor de RAG-pijplijn te creëren. We zullen Llama Index gebruiken om de RAG-implementatie op te zetten en gebruik maken van de agentic-mogelijkheden ervan.
Voor de LLM of agent zullen we zowel GPT-4o Mini als Cloud 3.5 Sonnet gebruiken, en voor de VectorDB zullen we vertrouwen op ChromaDB. We zullen het opzettingsproces doorlopen, inclusief het installeren van de vereiste bibliotheken, het instellen van omgevingsvariabelen en het configureren van de LLM- en embeddings-modellen.
De omgeving en gegevens instellen
De omgeving en gegevens instellen
Om te beginnen moeten we eerst de vereiste bibliotheken en omgevingsvariabelen instellen. We zullen de nodige pakketten installeren, waaronder Llama Index, OpenAI en ChromaDB.
Vervolgens zullen we de omgevingsvariabelen configureren, inclusief de OpenAI API-sleutel en het Hugging Face-token (indien nodig).
Vervolgens zullen we de LLM (Language Model) en embeddings-modellen instellen. Voor de LLM zullen we het GPT-4 OM Mini-model gebruiken. Voor de embeddings zullen we het OpenAI TextEmbedding3 small-model gebruiken, waarmee we de embeddings-grootte kunnen aanpassen om de rekenkracht en opslagkosten te verlagen.
Na het instellen van de modellen zullen we overgaan op het laden en verwerken van de gegevens. We zullen de Airbnb-embeddings-dataset van MongoDB gebruiken, waarbij we ons concentreren op de eerste 2.000 datapunten om de verwerkingstijd en kosten beheersbaar te houden.
Het Airbnb-dataset inbedden
Het Airbnb-dataset inbedden
Om de Airbnb-dataset te embedden, zetten we de dataset eerst om in een lijst met JSON-documenten. Vervolgens maken we een metadatasjabloon die belangrijke informatie bevat, zoals de naam van de Airbnb-vermelding, samenvatting, huisregels, type eigendom, type kamer, slaapkamertype, aantal slaapkamers en aantal bedden. Deze metadata wordt toegevoegd aan de tekst die zal worden geëmbedded.
Vervolgens splitsen we de tekst op in chunks van 5.000 tekens om ervoor te zorgen dat elke embeddings-vector de relevante informatie kan vastleggen. Vervolgens berekenen we de embeddings met behulp van het OpenAI TextEmbedding3 small-model, waarmee we de embeddings-grootte kunnen aanpassen om de rekenkracht en opslagkosten te verlagen.
Na het berekenen van de embeddings, slaan we ze op in een ChromaDB-vectoropslag, die als kennisbank voor onze agent zal dienen. We maken een QueryEngineToolClass die de agent toegang zal geven tot de vectoropslag, waardoor hij de meest relevante tekstfragmenten kan ophalen op basis van de vraag van de gebruiker.
De vector store en query engine tool maken
De vector store en query engine tool maken
Om de agent-werker te maken, definiëren we eerst de tools die voor de agent beschikbaar zullen zijn. In dit geval gebruiken we de QueryEngineToolV2
-klasse van Llama Index, die toegang biedt tot de vectoropslag die we eerder hebben gemaakt.
query_engine_tool = QueryEngineToolV2(
"Knowledge base",
"Provides information about Airbnb listings and reviews, use a detailed plain text question as input to the tool.",
self.vector_store
)
tools = [query_engine_tool]
Vervolgens maken we de agent-werker met behulp van de FunctionCallingAgentWorker
-klasse van Llama Index. We geven de lijst met tools en het taalmodel (in dit geval GPT-4 Mini) door aan de agent-werker.
agent_worker = FunctionCallingAgentWorker(
tools,
self.llm,
verbose=True
)
self.agent = agent_worker
Nu kunnen we de chat
-functie van de agent gebruiken om met hem te communiceren. We kunnen de agent een prompt geven, en hij zal de tools gebruiken om een antwoord te genereren.
prompt = "Tell me the best listing for a place in New York."
result = self.agent.chat(prompt)
print(result)
Het antwoord van de agent zal het denkproces en het uiteindelijke antwoord bevatten. In dit geval is het antwoord van de GPT-4 Mini-agent niet zo gedetailleerd of inzichtelijk als het antwoord van de Anthropic 3.5 Sonnet-agent.
De Agent Worker implementeren
De Agent Worker implementeren
De vergelijking tussen GPT-4o Mini en Anthropic's Cloud 3.5 Sonnet voor agentic RAG (Retrieval Augmented Generation)-taken benadrukt het belang van modelcapaciteit als het gaat om agent-gebaseerde workflows. Hoewel GPT-4o Mini een capabel en kosteneffectief model is, schiet het tekort in de agentic aspecten van de taak, zoals blijkt uit zijn eenvoudige herformulering van prompts en minder gedetailleerde antwoorden.
Daarentegen toont het Anthropic Cloud 3.5 Sonnet-model een robuuster en gesofisticeerdere agentic-gedrag. Het herformuleert de prompts effectief, verzamelt relevante informatie uit de kennisbank en biedt gedetailleerde en inzichtelijke antwoorden, zelfs wanneer het wordt geconfronteerd met een vraag over een locatie die niet in de dataset aanwezig is.
Deze vergelijking onderstreept de noodzaak om de mogelijkheden van het model zorgvuldig te overwegen bij het ontwerpen van agent-gebaseerde workflows. Hoewel GPT-4o Mini geschikt kan zijn voor bepaalde taken, kunnen complexere agentic-toepassingen het gebruik van een krachtiger en gespecialiseerder model, zoals het Anthropic Cloud 3.5 Sonnet-model, vereisen om het gewenste prestatieniveau en gebruikerservaring te bereiken.
FAQ
FAQ