Elsai DB Connectors#
The Elsai DB package provides connectors to interact with various SQL databases such as MySQL, PostgreSQL, and ODBC variants using natural language queries powered by an LLM.
Prerequisites#
- Python >= 3.9 
- .env file with appropriate API keys and configuration variables 
Installation#
To install the elsai-db package:
pip install --index-url https://elsai-core-package.optisolbusiness.com/root/elsai-db/ elsai-db==0.1.0
Components#
Required Environment Variables#
- DB_NAME– Name of the database
- DB_URL– Hostname or connection string of the database
- DB_USER– Username for database login
- DB_PASSWORD– Password for database login
- DB_DRIVER_NAME– ODBC driver name (only for ODBC connectors)
1. MySQLSQLConnector#
MySQLSQLConnector connects to a MySQL database using standard credentials and executes LLM-based queries.
from elsai_db.mysql import MySQLSQLConnector
mysql_connector = MySQLSQLConnector(llm="llm-model",
                                    database_name="your_database_name",
                                    database_password="your_database_password",
                                    database_user="your_database_user",
                                    database_url="your_database_url")  # Or use env vars: DB_NAME, DB_URL, DB_USER, DB_PASSWORD
result = mysql_connector.invoke("what are the names of all employees in the company?")
2. PostgreSQLConnector#
PostgreSQLConnector connects to a PostgreSQL database using standard credentials.
from elsai_db.postgres import PostgreSQLConnector
postgres_connector = PostgreSQLConnector(llm="llm-model",
                                         database_name="your_database_name",
                                         database_password="your_database_password",
                                         database_user="your_database_user",
                                         database_url="your_database_url")  # Or use env vars: DB_NAME, DB_URL, DB_USER, DB_PASSWORD
result = postgres_connector.invoke("what are the names of all employees in the company?")
3. OdbcMysqlConnector#
OdbcMysqlConnector connects to MySQL via ODBC, which is useful for Windows environments or custom drivers.
from elsai_db.odbc_mysql import OdbcMysqlConnector
odbc_mysql_connector = OdbcMysqlConnector(llm="llm-model",
                                          database_name="your_database_name",
                                          database_password="your_database_password",
                                          database_user="your_database_user",
                                          database_url="your_database_url",
                                          driver_name="your_odbc_driver_name")  # Or use env vars: DB_NAME, DB_URL, DB_USER, DB_PASSWORD, DB_DRIVER_NAME
result = odbc_mysql_connector.invoke("what are the names of all employees in the company?")
4. OdbcPostgresqlConnector#
OdbcPostgresqlConnector connects to PostgreSQL using ODBC drivers.
from elsai_db.odbc_postgres import OdbcPostgresqlConnector
odbc_postgres_connector = OdbcPostgresqlConnector(llm="llm-model",
                                                  database_name="your_database_name",
                                                  database_password="your_database_password",
                                                  database_user="your_database_user",
                                                  database_url="your_database_url",
                                                  driver_name="your_odbc_driver_name")  # Or use env vars: DB_NAME, DB_URL, DB_USER, DB_PASSWORD, DB_DRIVER_NAME
result = odbc_postgres_connector.invoke("what are the names of all employees in the company?")
