This workshop discusses different agentic search techniques for context engineering.
Learning outcomes: By the end of this workshop you will have
- experimented with a few different ways to search for context across different context sources
- learned how you can expand the capabilities of search tools with Agent Skills and additional CLIs
- gained an intuition on the trade-offs for different search tool
python3 -m venv .venv
source .venv/bin/activateThis notebook uses langchain v1.2.12 and langchain-openai v1.1.11.
pip install -r requirements.txt This workshop uses a local Elasticsearch instance as one of the out-of-context sources.
The easiest way to run Elasticsearch locally is using the start-local script, which sets up Elasticsearch (and optionally Kibana) using Docker with a simple one-line command:
curl -fsSL https://elastic.co/start-local | shThis creates an elastic-start-local folder containing configuration files and startup scripts. To start Elasticsearch:
cd elastic-start-local
./start.shExpected output:
✔ Container es-local-dev Healthy
✔ Container kibana-local-dev HealthyThis workshop requires three categories of environment variables, which need to be added to the .env file (see .env.example)
- LLM API key: These notebooks use OpenAI models through LiteLLM. Alternatively, you can use any LLM of your choice that is capable of tool use.
- Jina API key: You can obtain a free Jina API key on from the official Jina page without registration.
- Elasticsearch credentials: During the set up of your local Elasticsearch instance, you will find the Password (username and url stay the same).
The workshop's examples are based on the AI Engineer Europe Conference schedule, which is available in the data folder under session.json (Downloaded from: https://www.ai.engineer/europe/schedule).
This workshop discusses data store and filesystem as context sources. To prepare the Elasticsearch data store and the local filesystem, run the data preparation notebook.
| Topic | Context source | Retrieval tool | Notebook |
|---|---|---|---|
| Vanilla Agentic Search | Local Elasticsearch cluster | Semantic search tool | 01_vanilla_agentic_search.ipynb |
| Agentic Search with DB query tool | Local Elasticsearch cluster | ESQL Query execution tool (+ Agent Skills) | 02_advanced_agentic_search.ipynb |
| Agentic Search with Shell tool | Local Filesystem | Shell tool (+ jina-grep-cli) |
03_agentic_search_with_bash_tool.ipynb |
