yvann-ba / Robby-chatbot

AI chatbot 🤖 for chat with CSV, PDF, TXT files 📄 and YTB videos 🎥 | using Langchain🦜 | OpenAI | Streamlit ⚡

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KeyError: 'langchain' (circular import error)

al-yakubovich opened this issue · comments

Hi. Could you help me please. From time to time, I am getting the following error:

2023-06-12 02:27:55.993 Uncaught app exception
Traceback (most recent call last):
File "C:\Users\v-alakubov\AppData\Local\anaconda3\envs\py311\Lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 565, in run_script
exec(code, module.dict)
File "C:\Users\v-alakubov\OneDrive\Desktop\app_v2\src\pages\AskData.py", line 7, in <module>
from modules.table_tool import PandasAgent
File "C:\Users\v-alakubov\OneDrive\Desktop\Listens\app_v2.\src\modules\table_tool.py", line 6, in <module>
from langchain.callbacks import get_openai_callback
File "C:\Users\v-alakubov\AppData\Local\anaconda3\envs\py311\Lib\site-packages\langchain_init.py", line 6, in <module>
from langchain.agents import MRKLChain, ReActChain, SelfAskWithSearchChain
File "C:\Users\v-alakubov\AppData\Local\anaconda3\envs\py311\Lib\site-packages\langchain\agents_init_.py", line 2, in <module>
from langchain.agents.agent import (
File "C:\Users\v-alakubov\AppData\Local\anaconda3\envs\py311\Lib\site-packages\langchain\agents\agent.py", line 16, in <module>
from langchain.agents.tools import InvalidTool
File "C:\Users\v-alakubov\AppData\Local\anaconda3\envs\py311\Lib\site-packages\langchain\agents\tools.py", line 8, in <module>
from langchain.tools.base import BaseTool, Tool, tool
File "C:\Users\v-alakubov\AppData\Local\anaconda3\envs\py311\Lib\site-packages\langchain\tools_init_.py", line 46, in <module>
from langchain.tools.powerbi.tool import (
File "C:\Users\v-alakubov\AppData\Local\anaconda3\envs\py311\Lib\site-packages\langchain\tools\powerbi\tool.py", line 11, in <module>
from langchain.chains.llm import LLMChain
File "C:\Users\v-alakubov\AppData\Local\anaconda3\envs\py311\Lib\site-packages\langchain\chains_init_.py", line 7, in <module>
from langchain.chains.conversational_retrieval.base import (
File "C:\Users\v-alakubov\AppData\Local\anaconda3\envs\py311\Lib\site-packages\langchain\chains\conversational_retrieval\base.py", line 22, in <module>
from langchain.chains.question_answering import load_qa_chain
File "C:\Users\v-alakubov\AppData\Local\anaconda3\envs\py311\Lib\site-packages\langchain\chains\question_answering_init_.py", line 13, in <module>
from langchain.chains.question_answering import (
File "C:\Users\v-alakubov\AppData\Local\anaconda3\envs\py311\Lib\site-packages\langchain\chains\question_answering\map_reduce_prompt.py", line 2, in <module>
from langchain.chains.prompt_selector import ConditionalPromptSelector, is_chat_model
File "C:\Users\v-alakubov\AppData\Local\anaconda3\envs\py311\Lib\site-packages\langchain\chains\prompt_selector.py", line 7, in <module>
from langchain.chat_models.base import BaseChatModel
ImportError: cannot import name 'BaseChatModel' from partially initialized module 'langchain.chat_models.base' (most likely due to a circular import) (C:\Users\v-alakubov\AppData\Local\anaconda3\envs\py311\Lib\site-packages\langchain\chat_models\base.py)
2023-06-12 02:27:56.013 Uncaught app exception
Traceback (most recent call last):
File "C:\Users\v-alakubov\AppData\Local\anaconda3\envs\py311\Lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 565, in _run_script
exec(code, module.dict)
File "C:\Users\v-alakubov\OneDrive\Desktop\Listens\app_v2\src\pages\AI-Chat.py", line 8, in <module>
from modules.utils import Utilities
File "C:\Users\v-alakubov\OneDrive\Desktop\Listens\app_v2.\src\modules\utils.py", line 6, in <module>
from modules.chatbot import Chatbot
File "C:\Users\v-alakubov\OneDrive\Desktop\Listens\app_v2.\src\modules\chatbot.py", line 3, in <module>
from langchain.chat_models import AzureChatOpenAI
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1155, in _find_and_load_unlocked
KeyError: 'langchain'

any ideas why?

commented

it must come from a bad structuring of my code, I'm new to programming, don't hesitate to keep me posted if you find a way to fix it, for my part I don't have time to do it to reflect on.

As a possible fix I put

        from modules.chatbot import Chatbot
        from modules.embedder import Embedder

into

def setup_chatbot(uploaded_file, model, temperature)

in utils.py file.

And also I did the same in table_tool.py file. I put

from langchain.callbacks import get_openai_callback

into def count_tokens_agent(agent, query) function.

commented

Nice, seems good to only import in the functions who needs it thanks !😁