Data Analyst Agent

Code

1from textwrap import dedent
2
3from kern.agent import Agent
4from kern.models.langdb import LangDB
5from kern.tools.duckdb import DuckDbTools
6
7duckdb_tools = DuckDbTools(
8 create_tables=False, export_tables=False, summarize_tables=False
9)
10duckdb_tools.create_table_from_path(
11 path="https://phidata-public.s3.amazonaws.com/demo_data/IMDB-Movie-Data.csv",
12 table="movies",
13)
14
15agent = Agent(
16 model=LangDB(id="llama3-1-70b-instruct-v1.0"),
17 tools=[duckdb_tools],
18 markdown=True,
19 additional_context=dedent("""\
20 You have access to the following tables:
21 - movies: contains information about movies from IMDB.
22 """),
23)
24agent.print_response("What is the average rating of movies?", stream=False)

Usage

Set up your virtual environment

1uv venv --python 3.12
2source .venv/bin/activate
1uv venv --python 3.12
2.venv\Scripts\activate

Set your API key

1export LANGDB_API_KEY=xxx
2export LANGDB_PROJECT_ID=xxx

Install dependencies

1uv pip install -U openai kern-ai duckdb

Run Agent

1python cookbook/11_models/langdb/data_analyst.py