This repository contains a set of Jupyter notebooks exploring different approaches to question generation and question answering using large language models (LLMs), retrieval-augmented generation (RAG), and tool-using agents. These are simple (yet fun!) examples with the aim to provide simple code examples.
Goal: Automatically generate multiple-choice questions from textual input.
- Uses Gemini model for generating questions.
- Generates questions based on Pokémon descriptions.
Goal: Evaluate question answering performance using RAG vs. a base LLM.
-
Uses Qwen2.5-7B model via vLLM (locally hosted).
-
Compares performance in two scenarios:
- Vanilla LLM (no retrieval)
- RAG-enabled (retrieval-augmented generation)
-
Demonstrates how adding retrieval improves question answering accuracy
Goal: Create and compare different agent strategies for question answering.
-
Also uses Qwen2.5-7B via vLLM.
-
Evaluates three different setups:
- Vanilla LLM
- DuckDuckGo Search Agent (uses internet search to retrieve answers)
- Custom Tool Agent (queries the Pokémon API as a tool)
-
Showcases how external tools and APIs can extend LLM capabilities.
- Gemini API needs API key
- Qwen model, DuckduckGo and Pokémon API are all public and doesn't require any key or registration