這個模式適合我:
sqlalchemy。引擎從langchain進口進口create_engine SQLDatabase SQLDatabaseChain引擎= create_engine(“磚+連接器:/ /令牌:(電子郵件保護):443 /默認”connect_args = {“http_path”:“/ sql / 1.0 /倉庫/…”,})db = SQLDatabase(引擎、模式=“默認”,include_tables = (“nyc_taxi”))
@Wesley沈:
似乎LangChain的SQL數據庫代理被設計為使用任何支持JDBC連接的SQL數據庫,其中包括磚SQL。然而,目前尚不清楚它是否與多莉,多莉的文檔中沒有提到。
假設LangChain SQL數據庫代理與磚SQL,您可以使用以下Python代碼創建的實例從磚SQL的端點的URI SQLDatabase:
從langchain_sql_database_agent。sql_database進口SQLDatabase # < your-databricks-sql-uri >替換為您的磚SQL的端點的URI databricks_sql_uri = " < your-databricks-sql-uri > db = SQLDatabase.from_uri (databricks_sql_uri)
SQLDatabase一旦您創建了一個實例,你可以使用它來創建一個實例的SQLAgentExecutor對磚的SQL數據庫執行SQL查詢。這是一個例子:
從langchain_sql_database_agent。sql_agent_executor導入SQLAgentExecutor #創建的實例SQLAgentExecutor使用之前創建的SQLDatabase實例agent_executor = SQLAgentExecutor (db) # = agent_executor執行一個SQL查詢結果。execute_query (“SELECT * FROM my_table”) #過程的結果行結果:打印(行)
注意的語法可能取決於LangChain版本的SQL數據庫代理您正在使用,以及任何特定的配置選項你需要設置你的磚SQL的端點。
我不得不pip安裝sqlalchemy-databricks。
來自sqlalchemy langchain SQLDatabase導入。發動機進口URL牌= "我"主機=“你的雲主機.net/.com”#主機端口的URL = 443 #你港DB = =“你的DB”目錄“hive_metastore”#默認目錄,可以改變根據你的配置HTTP_PATH = " / sql / 1.0 / xxxxxxxxxxx”URI = URL。創建(“磚”,用戶名=“令牌”,密碼=令牌,主機=主機、端口=端口,= DB數據庫,查詢= {“http_path”: http_path,“目錄”:目錄,“模式”:DB}) DB = SQLDatabase.from_uri (URI)
的幫助https://www.andrewvillazon.com/connect-databricks-sqlalchemy/和https://github.com/hwchase17/langchain/issues/2277