Databricks SQL agent के साथ क्वेरी करना

Python SDK के साथ Databricks

Avi Steinberg

Senior Software Engineer

Databricks Unity Catalog

  • Databricks में डेटा स्टोर करने की प्राथमिक विधि
  • इसमें schemas होते हैं, जिनमें कई tables हो सकती हैं
  • विविध स्रोतों से schema में tables बनाएँ
  • samples catalog में कई open-source schemas उपलब्ध

Databricks Unity Catalog

1 https://docs.databricks.com/aws/en/catalogs/
Python SDK के साथ Databricks

LangChain

  • LLM एप्लिकेशन बनाने और डिप्लॉय करने की लाइब्रेरी
  • SQL से डेटा क्वेरी करने वाले AI agents बनाएँ LangChain
Python SDK के साथ Databricks

Python LangChain dependencies

Python पैकेज dependencies इंस्टॉल करें:

pip install --upgrade databricks-langchain langchain-community langchain 
                      databricks-sql-connector databricks-sqlalchemy

लाइब्रेरी इम्पोर्ट करें:

from langchain_community.agent_toolkits import create_sql_agent
from langchain_community.agent_toolkits import SQLDatabaseToolkit
from langchain_community.utilities import SQLDatabase
from databricks_langchain import ChatDatabricks
Python SDK के साथ Databricks

Databricks SQL Warehouse ID

Databricks SQL Warehouse Connection Details

Python SDK के साथ Databricks

LangChain को Databricks Workspace से authenticate करें

Environment variables एक्सपोर्ट करें:

os.environ["DATABRICKS_TOKEN"] = "<Your-Access-Token>"
os.environ["DATABRICKS_HOST"] = "<your-workspace-id>.cloud.databricks.com"
Python SDK के साथ Databricks

Databricks SQL agent

  • Databricks catalog schema में मौजूद डेटा पर AI agent से सवाल पूछें
  • AI agent SQL लगने वाले प्रश्नों के उत्तर दे सकता है
  • verbose=True दें ताकि agent अपना कार्यप्रवाह दिखाए

LangChain Query output

Python SDK के साथ Databricks

Catalog को क्वेरी करने के लिए Databricks SQL agent उपयोग करें

db = SQLDatabase.from_databricks(
    catalog="samples", 
    schema="nyctaxi",
    warehouse_id=warehouse_id)
llm = ChatDatabricks(
    endpoint="databricks-meta-llama-3-3-70b-instruct",
    temperature=0.1,
    max_tokens=100)
toolkit = SQLDatabaseToolkit(db=db, llm=llm)
agent = create_sql_agent(llm=llm, toolkit=toolkit, verbose=True)
# Databricks SQL Agent से क्वेरी करें
result = agent.run("What's the time and distance of the longest trip?")
print(result)
1 https://docs.databricks.com/aws/en/large-language-models/langchain#databricks-sql-agent
Python SDK के साथ Databricks

Databricks Catalog से LangChain SQL database बनाएँ

db = SQLDatabase.from_databricks(
    catalog="samples", 
    schema="nyctaxi",
    warehouse_id="<your-warehouse-id>"
)
1 api.python.langchain.com/en/latest/utilities/langchain_community.utilities.sql_database.SQLDatabase.html
Python SDK के साथ Databricks

Foundational model से LangChain LLM बनाएँ

llm = ChatDatabricks(

endpoint="databricks-meta-llama-3-3-70b-instruct",
temperature=0.1, max_tokens=100, )
  • temperature: 0 से 1 के बीच float, जो model responses की randomness तय करता है
  • max_tokens: response में अधिकतम tokens सेट करें
1 https://docs.databricks.com/aws/en/large-language-models/langchain
Python SDK के साथ Databricks

LangChain SQL database toolkit बनाएँ

toolkit = SQLDatabaseToolkit(db=db, llm=llm)
1 https://docs.databricks.com/aws/en/large-language-models/langchain
Python SDK के साथ Databricks

Databricks SQL Agent बनाएँ

agent = create_sql_agent(llm=llm, toolkit=toolkit, verbose=True)

result = agent.run("What's the time and distance of the longest trip?") display(result)
The average trip takes approximately 15 minutes.
1 https://docs.databricks.com/aws/en/large-language-models/langchain
Python SDK के साथ Databricks

चलो Databricks डेटा क्वेरी करें!

Python SDK के साथ Databricks

Preparing Video For Download...