mem0 icon indicating copy to clipboard operation
mem0 copied to clipboard

Session factory is not initialized

Open westonli-thu opened this issue 1 year ago • 5 comments

🐛 Describe the bug

I try to use App.from_config(config={...}), and I got this issue:

RuntimeError: Session factory is not initialized. Call setup_engine() first.

Is there any setting I missed? I run on local MacBook, and the version of embedchain is 0.1.83

westonli-thu avatar Feb 22 '24 02:02 westonli-thu

Thanks for reporting @westonli-thu. I am looking into this issue now.

deshraj avatar Feb 22 '24 07:02 deshraj

@westonli-thu can you please share the code that you are trying to use?

deshraj avatar Feb 22 '24 07:02 deshraj

I tried to reproduce the issue on Google colab but it seems to be working fine. See Colab: https://colab.research.google.com/drive/1NMkAxTdHj-G4epFb9I6fMFX8tVPL7tn5?usp=sharing

Code below:

import os

os.environ['OPENAI_API_KEY'] = 'sk-xxx'

from embedchain import App


config = {
    'app': {
        "config": {
            "id": "ec-app"
        }
    }
}

app = App.from_config(config=config)

app.add("https://www.forbes.com/profile/elon-musk")

app.chat("What is the net worth of Elon Musk?")

deshraj avatar Feb 22 '24 07:02 deshraj

I am have a similar error

here is all I did

from embedchain.config import BaseLlmConfig
from embedchain.llm.openai import OpenAILlm
from embedchain import App
from dotenv import load_dotenv
_ = load_dotenv()
base_llm_config = BaseLlmConfig(prompt=prompt)
llm = OpenAILlm(config=base_llm_config)

ouput: `--------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) Cell In[11], line 4 2 _ = load_dotenv() 3 base_llm_config = BaseLlmConfig(prompt=prompt) ----> 4 llm = OpenAILlm(config=base_llm_config)

File ~\anaconda3\envs\langchats\lib\site-packages\embedchain\llm\openai.py:24, in OpenAILlm.init(self, config, tools) 18 def init( 19 self, 20 config: Optional[BaseLlmConfig] = None, 21 tools: Optional[Union[Dict[str, Any], Type[BaseModel], Callable[..., Any], BaseTool]] = None, 22 ): 23 self.tools = tools ---> 24 super().init(config=config)

File ~\anaconda3\envs\langchats\lib\site-packages\embedchain\llm\base.py:28, in BaseLlm.init(self, config) 25 else: 26 self.config = config ---> 28 self.memory = ChatHistory() 29 self.is_docs_site_instance = False 30 self.online = False

File ~\anaconda3\envs\langchats\lib\site-packages\embedchain\memory\base.py:14, in ChatHistory.init(self) 13 def init(self) -> None: ---> 14 self.db_session = get_session()

File ~\anaconda3\envs\langchats\lib\site-packages\embedchain\core\db\database.py:84, in get_session() 83 def get_session() -> SQLAlchemySession: ---> 84 return database_manager.get_session()

File ~\anaconda3\envs\langchats\lib\site-packages\embedchain\core\db\database.py:40, in DatabaseManager.get_session(self) 38 """Provides a session for database operations.""" 39 if not self._session_factory: ---> 40 raise RuntimeError("Session factory is not initialized. Call setup_engine() first.") 41 return self._session_factory()

RuntimeError: Session factory is not initialized. Call setup_engine() first.`

Omotade-MY avatar Apr 01 '24 09:04 Omotade-MY

This PR #1401 should fix this issue.

Dev-Khant avatar Jun 10 '24 17:06 Dev-Khant