ai:python-nl2sql
Python nl2sql
Using a custom OpenAI API compatible LLM to convert natural language to sql in python (other sql engines similar):
- requirements.txt
openai~=1.24.0 SQLAlchemy~=2.0.29 mysql-connector-python~=8.3.0 llama-index-core~=0.10.33 llama-index-embeddings-openai~=0.1.9 llama-index-llms-openai~=0.1.16 llamaindex-py-client~=0.1.19
- nl2sql.py
import openai from sqlalchemy import (create_engine) from llama_index.core import SQLDatabase from llama_index.llms.openai import OpenAI from llama_index.core.query_engine import NLSQLTableQueryEngine openai.api_key = "12345" openai.base_url = "http://ip:port/v1" llm = OpenAI(temperature=0.1, model="gpt-3.5-turbo") username = "user" password = "pass" host = "ip" port = 3306 mydatabase = "dbname" engine = create_engine(f"mysql+mysqlconnector://{username}:{password}@{host}:{port}/{mydatabase}") sql_database = SQLDatabase(engine) query_engine = NLSQLTableQueryEngine(sql_database=sql_database, tables=["table1", "table2", "table3"], llm=llm) query_str = "show the contact details of firstname lastname" response = query_engine.query(query_str) print(response) print(response.metadata)
ai/python-nl2sql.txt · Last modified: by Wulf Rajek