Query dengan agen Databricks SQL

Databricks dengan Python SDK

Avi Steinberg

Senior Software Engineer

Databricks Unity Catalog

  • Metode utama untuk menyimpan data di Databricks
  • Berisi skema, yang dapat memuat banyak tabel
  • Buat tabel di dalam skema dari beragam sumber
  • Banyak skema open-source di katalog samples

Databricks Unity Catalog

1 https://docs.databricks.com/aws/en/catalogs/
Databricks dengan Python SDK

LangChain

  • Pustaka untuk membangun dan menerapkan aplikasi LLM
  • Memungkinkan Anda membuat agen AI yang memakai SQL untuk mengkueri data LangChain
Databricks dengan Python SDK

Dependensi Python LangChain

Instal dependensi paket Python:

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

Impor pustaka:

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
Databricks dengan Python SDK

ID Databricks SQL Warehouse

Detail Koneksi Databricks SQL Warehouse

Databricks dengan Python SDK

Autentikasi LangChain ke Workspace Databricks

Ekspor variabel lingkungan:

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

Agen Databricks SQL

  • Ajukan pertanyaan ke agen AI tentang data di skema katalog Databricks
  • Agen AI dapat menjawab pertanyaan tentang data yang memerlukan SQL
  • Setel verbose=True agar agen AI menampilkan langkah kerjanya

Keluaran kueri LangChain

Databricks dengan Python SDK

Gunakan agen Databricks SQL untuk kueri Katalog

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)
# Query the 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
Databricks dengan Python SDK

Buat basis data SQL LangChain dari Katalog Databricks

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
Databricks dengan Python SDK

Buat LLM LangChain dengan model dasar

llm = ChatDatabricks(

endpoint="databricks-meta-llama-3-3-70b-instruct",
temperature=0.1, max_tokens=100, )
  • temperature: float antara 0 dan 1 untuk mengatur tingkat acak respons model
  • max_tokens: jumlah token maksimum dalam respons
1 https://docs.databricks.com/aws/en/large-language-models/langchain
Databricks dengan Python SDK

Buat toolkit basis data SQL LangChain

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

Buat Agen Databricks SQL

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)
Rata-rata perjalanan sekitar 15 menit.
1 https://docs.databricks.com/aws/en/large-language-models/langchain
Databricks dengan Python SDK

Mari kueri data Databricks!

Databricks dengan Python SDK

Preparing Video For Download...