Skip to main content

Sqlalchemy nl2sql agent

Project description

SQLAlchemy LLM Agent

sqlalchemy-llm-agent packages a small, batteries-included LangChain agent that can inspect SQLAlchemy schemas and run ad-hoc SQL queries generated by an LLM. It is helpful when you want to whether work within cli or build quick administrative panel.

Features

  • Only read operations - Gives agent only to use safe sqlqueries.
  • Config-driven access control – restrict the agent to a whitelist of tables by name or give it access to every table in the database via the special "*" entry.

Installation

pip install sqlalchemy-llm-agent

Quickstart

Below is a minimal end-to-end example that shows how to configure and call the agent. This example assumes you already have a SQLAlchemy Engine and have run inspect(engine) to produce an inspector object.

from sqlalchemy import create_engine, inspect
from sqlalchemy_llm_agent import SqlalchemyAgent, SqlalchemyAgentConfig

engine = create_engine("postgresql+psycopg://user:pass@localhost:5432/mydb")
inspector = inspect(engine)

config = SqlalchemyAgentConfig(
    api_key="sk-openai-123",  # Replace with your actual OpenAI API key
    model="gpt-5",            # Optional, defaults to gpt-5
    tables=["users", "orders"],  # Limit the agent to just these tables or ["*"]
    row_limit=100,
    inspector=inspector,
    engine=engine,
)

agent = SqlalchemyAgent(config)
result_rows = agent.query("List the five most recent orders including user email")
for row in result_rows:
    print(row)

The agent will automatically:

  1. Inspect the users and orders tables to learn their columns.
  2. Generate a SQL query using the configured LLM (gpt-5 by default).
  3. Execute the query through your SQLAlchemy engine and return the results as a list of dictionaries.

You now have a reusable component that can power chatbots, dashboards, or internal tools that need natural-language access to relational data.

Command-line usage

You can also run ad-hoc queries directly from a terminal with the bundled CLI. Create a Python config file that exposes a sqlalchemy_llm_agent_config variable:

# config.py
from sqlalchemy import create_engine, inspect
from sqlalchemy_llm_agent import SqlalchemyAgentConfig

engine = create_engine("postgresql+psycopg://user:pass@localhost:5432/mydb")
inspector = inspect(engine)

sqlalchemy_llm_agent_config = SqlalchemyAgentConfig(
    api_key="sk-openai-123",
    tables=["payments"],
    inspector=inspector,
    engine=engine,
)

Then invoke the CLI by pointing it to the config file and passing the natural-language query:

sqlalchemy_llm_agent --config ./config.py "Give me success payments"

The command prints the resulting rows as formatted JSON, making it easy to script around or inspect responses interactively.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqlalchemy_llm_agent-0.1.3.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sqlalchemy_llm_agent-0.1.3-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file sqlalchemy_llm_agent-0.1.3.tar.gz.

File metadata

File hashes

Hashes for sqlalchemy_llm_agent-0.1.3.tar.gz
Algorithm Hash digest
SHA256 26308fec6f1ca8f5e2a4fb7855101b332f0ff75057efbef079da5625032a7186
MD5 f6219d2eb4b43cc49396110acff9f312
BLAKE2b-256 dea16eaeb3d477d1ebb1adef7872d9edf38c763d59a68caa4025f1c19224bf04

See more details on using hashes here.

File details

Details for the file sqlalchemy_llm_agent-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for sqlalchemy_llm_agent-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7558eaa389ebcb5233611453d7f5dd483565eb521468f7a5588814140bc17fab
MD5 80c9f2c6a1dc260359a84f6b9d83db6d
BLAKE2b-256 288ef0ba5314d2580d71b1ec4817cf0dc2362da855c3068ae109fc9c44ea24d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page