Narrativ_v4 / sql_agent.py
KatGaw's picture
adding files
1be66cb
raw
history blame contribute delete
985 Bytes
from sqlalchemy import create_engine
from langchain_openai import ChatOpenAI
from langchain_community.utilities import SQLDatabase
from langchain_community.agent_toolkits.sql.base import create_sql_agent # Updated Import
import streamlit as st
import os
from dotenv import load_dotenv
load_dotenv()
def sql_agent(prompt):
# Set OpenAI API key
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
DATABASE_URL = "sqlite:///data/main.db" # Change to your database URL
engine = create_engine(DATABASE_URL)
db = SQLDatabase(engine)
# Initialize OpenAI model
llm = ChatOpenAI(temperature=0, model_name="gpt-4o")
# Create SQL Agent
agent_executor = create_sql_agent(
llm=llm,
db=db,
agent_type="openai-tools", # Updated agent type
verbose=True
)
# Example query
# query = "How many Senior Engineers are in the company?"
response = agent_executor.invoke({"input": prompt})['output']
return response