Session factory is not initialized
🐛 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
Thanks for reporting @westonli-thu. I am looking into this issue now.
@westonli-thu can you please share the code that you are trying to use?
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?")
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.`
This PR #1401 should fix this issue.