Advertisement

ValidationError: 1 validation error for SQLDatabaseToolkit llm value is not a valid dict

阅读量:

题意 :ValidationError: SQLDatabaseToolkit 的 llm 值不是一个有效的字典。

问题背景:

Trying to conenct postgresql with langchain.llm used - AzureOpenAI

尝试使用 langchain.llm 连接 PostgreSQL,使用的语言模型是 AzureOpenAI。

复制代码
 from langchain.llms import AzureOpenAI

    
  
    
 llms = AzureOpenAI( temperature=0,deployment_name="gpt3turbo".......)
    
  
    
 toolkit = SQLDatabaseToolkit(db=db,llm=llms)
    
    
    
    

Error: 错误信息:

复制代码
 ValidationError: 1 validation error for SQLDatabaseToolkit

    
 llm
    
   value is not a valid dict (type=type_error.dict)
    
    
    
    

Tried different versions of langchain

尝试了不同版本的 langchain

问题解决:

See if all the steps are correct from the beginning.

检查从一开始的所有步骤是否正确。

install packages 安装包

复制代码
 pip install langchain

    
 pip install openai
    
 pip install psycopg2
    
    
    
    

Next create a python file called main.py and import the following:

接下来,创建一个名为 main.py 的 Python 文件,并导入以下内容:

复制代码
 from langchain.agents import create_sql_agent

    
 from langchain.agents.agent_toolkits import SQLDatabaseToolkit 
    
 from langchain.sql_database import SQLDatabase 
    
 from langchain.llms.openai import OpenAI 
    
 from langchain.agents import AgentExecutor 
    
 from langchain.agents.agent_types import AgentType
    
 from langchain.chat_models import ChatOpenAI
    
    
    
    

Connect to database: 连接到数据库

复制代码
    pg_uri = f"postgresql+psycopg2://{username}:{password}@{host}:{port}/{mydatabase}"
    
    

Set database: 设置数据库

复制代码
    db = SQLDatabase.from_uri(pg_uri)
    
    

Once you have your OPENAI_API_KEY:

一旦你有了你的 OPENAI_API_KEY

复制代码
    OPENAI_API_KEY = "your OpenAI key"
    
    

Define your llm model: 定义你的 llm 模型

复制代码
    gpt = OpenAI(temperature=0, openai_api_key=OPENAI_API_KEY, model_name='gpt-3.5-turbo')
    
    

Toolkit should be: Toollit 应该是:

复制代码
    toolkit = SQLDatabaseToolkit(db=db, llm=gpt)
    
    

Information on Agent types : 代理类型的信息: https://python.langchain.com/docs/modules/agents/agent_types/


Credit to @DishenWang for the complete article: 感谢 @DishenWang 提供完整文章:

https://medium.com/dataherald/how-to-connect-llm-to-sql-database-with-langchain-sqlagent-48635fddaa74

全部评论 (0)

还没有任何评论哟~