| description | Imported skill agent from langchain |
| name | agent |
| signature | ac06846d24176b9dcb6f00521336d9bee0eaf54ebbdf473d877e368180c5ec58 |
| source | /a0/tmp/skills_research/langchain/examples/text-to-sql-agent/agent.py |
import os
import sys
import argparse
from dotenv import load_dotenv
from langchain_community.utilities import SQLDatabase
from langchain_community.agent_toolkits import SQLDatabaseToolkit
from deepagents import create_deep_agent
from deepagents.backends import FilesystemBackend
from langchain_anthropic import ChatAnthropic
from rich.console import Console
from rich.panel import Panel
Load environment variables
load_dotenv()
console = Console()
def create_sql_deep_agent():
"""Create and return a text-to-SQL Deep Agent"""
# Get base directory
base_dir = os.path.dirname(os.path.abspath(__file__))
# Connect to Chinook database
db_path = os.path.join(base_dir, "chinook.db")
db = SQLDatabase.from_uri(
f"sqlite:///{db_path}",
sample_rows_in_table_info=3
)
# Initialize Claude Sonnet 4.5 for toolkit initialization
model = ChatAnthropic(
model="claude-sonnet-4-5-20250929",
temperature=0
)
# Create SQL toolkit and get tools
toolkit = SQLDatabaseToolkit(db=db, llm=model)
sql_tools = toolkit.get_tools()
# Create the Deep Agent with all parameters
agent = create_deep_agent(
model=model, # Claude Sonnet 4.5 with temperature=0
memory=["./AGENTS.md"], # Agent identity and general instructions
skills=["./skills/"], # Specialized workflows (query-writing, schema-exploration)
tools=sql_tools, # SQL database tools
subagents=[], # No subagents needed
backend=FilesystemBackend(root_dir=base_dir) # Persistent file storage
)
return agent