LangChain磚上

重要的

這些實驗特性和API定義可能會改變。

本文描述了LangChain與磚的集成,包括筆記本電腦的例子。

LangChain可用作為實驗MLflow味道LangChain客戶可以利用強大的工具和實驗直接從磚MLflow環境的跟蹤能力。beplay体育app下载地址看到LangChain味道MLflow文檔

LangChain是什麼?

LangChain是一個軟件框架,旨在幫助創建應用程序利用大型語言模型(llm)。LangChain的力量在於其廣泛的集成和功能。它包括API包裝器、web抓取子係統、代碼分析工具,文檔摘要工具等等。它還支持從OpenAI大型語言模型,人為,HuggingFace等的各種數據源和類型。

需求

  • 磚運行時13.3毫升以上。

  • 磚建議pip安裝最新版本的LangChain確保你有最新的更新。

    • %皮普安裝——升級langchain

PySpark DataFrame裝載機

PySpark DataFrame裝載機在LangChain促進加載數據從一個PySpark DataFrame用單一的方法。

langchain.document_loaders進口PySparkDataFrameLoader加載程序=PySparkDataFrameLoader(火花,wikipedia_dataframe,page_content_column=“文本”)文檔=加載程序負載()

以下筆記本展示了一個例子,PySpark DataFrame加載器是用於創建一個基於檢索的chatbot MLflow記錄,從而可以解釋為一個通用的模型推理的Python函數mlflow.pyfunc.load_model ()

PySpark DataFrame裝載機和MLFlow Langchain筆記本

在新標簽頁打開筆記本

火花DataFrame代理

火花DataFrame代理與火花DataFrame LangChain允許互動,優化問題回答。LangChain的火花Dataframe代理文件提供了一個詳細的例子如何創建和使用DataFrame火花DataFrame代理。

langchain.agents進口create_spark_dataframe_agentdf=火花csv(“/ databricks-datasets / COVID / coronavirusdataset / Region.csv”,=真正的,inferSchema=真正的)顯示(df)代理=create_spark_dataframe_agent(llm=OpenAI(溫度=0),df=df,詳細的=真正的)

使用LangChain與火花DataFrame筆記本

在新標簽頁打開筆記本

磚SQL代理

磚SQL代理是一個變體LangChain提供的標準SQL數據庫代理和被認為是一個更強大的變異的火花DataFrame代理。

任何磚與磚的SQL代理用戶可以與指定的模式在他們的數據統一目錄和生成的見解。

重要的

磚SQL代理隻能查詢的表,不創建表。

在下麵的示例中創建數據庫實例SQLDatabase.from_databricks(目錄=“……”模式= "…")命令和所需的代理和工具創建的SQLDatabaseToolkit (db = db,llm = llm)create_sql_agent (llm = llm,工具箱=工具包,* * kwargs),分別。

langchain.agents進口create_sql_agentlangchain.agents.agent_toolkits進口SQLDatabaseToolkitlangchain.sql_database進口SQLDatabaselangchain進口OpenAIdb=SQLDatabasefrom_databricks(目錄=“樣本”,模式=“nyctaxi”)llm=OpenAI(溫度=。7)工具包=SQLDatabaseToolkit(db=db,llm=llm)代理=create_sql_agent(llm=llm,工具包=工具包,詳細的=真正的)代理運行(“什麼是最長的旅行距離和花了多長時間?”)

使用LangChain與SQL數據庫交互的筆記本

在新標簽頁打開筆記本

包磚llm服務端點

現在您可以輕鬆將磚端點LangChain llm。因此,如果你有一個創建LLM磚,你可以使用它直接在LangChain OpenAI的地方,HuggingFace或任何其他LLM提供者。它支持兩種端點類型:

  • 模型服務端點推薦的生產和發展。

  • 代理應用程序集群司機,為互動發展建議。

看到LangChain文檔對於語法和設計模式。

用一個模型服務端點

包裝服務端點作為LangChain LLM模型你需要:

  • 注冊LLM磚模型部署到服務端點。

  • 可以查詢端點的許可。

通常,模型要求/建議重要參數,溫度max_tokens下麵的例子顯示了如何輸入這些參數與命名的部署模型falcon-7b-instruct。更多細節可以在找到包裝服務端點LangChain文檔。

langchain.llms進口llm=(endpoint_name=“falcon-7b-instruct”,model_kwargs={“溫度”:0.1,“max_tokens”:One hundred.})llm(“你好嗎?”)

包裝一個集群司機代理應用程序

包裝一個集群司機代理應用程序作為LangChain LLM你需要:

  • LLM加載到一個磚互動集群的“單用戶”或“沒有隔離共享”模式。

  • 本地HTTP服務器上運行驅動節點服務模型在使用HTTP POST " JSON輸入/輸出。

  • 應用程序使用的端口號(3000、8000)之間,聽司機的IP地址或隻是0.0.0.0代替本地主機隻有。

  • 可以附加集群的許可。

看到LangChain文檔包裝一個集群司機代理程序了一個例子。