🐛 fix(process.py): rename langchain_object variable to graph for better semantics

🐛 fix(process.py): rename langchain_object variable to built_object in generate_result function for better semantics
🐛 fix(process.py): update session with graph instead of langchain_object to reflect changes
 feat(manager.py): add reinitialize_services function to reinitialize all services
 feat(utils.py): initialize settings service if not already initialized before returning it
This commit is contained in:
Gabriel Luiz Freitas Almeida 2023-09-22 11:00:57 -03:00
commit f8b38ee162
3 changed files with 43 additions and 4 deletions

View file

@ -166,12 +166,13 @@ async def process_graph_cached(
session_id=session_id, data_graph=data_graph
)
# Load the graph using SessionService
langchain_object, artifacts = session_service.load_session(session_id, data_graph)
graph, artifacts = session_service.load_session(session_id, data_graph)
built_object = graph.build()
processed_inputs = process_inputs(inputs, artifacts)
result = generate_result(langchain_object, processed_inputs)
result = generate_result(built_object, processed_inputs)
# langchain_object is now updated with the new memory
# we need to update the cache with the updated langchain_object
session_service.update_session(session_id, (langchain_object, artifacts))
session_service.update_session(session_id, (graph, artifacts))
return Result(result=result, session_id=session_id)

View file

@ -143,6 +143,37 @@ def initialize_services():
service_service.get(ServiceType.DATABASE_MANAGER)
def reinitialize_services():
"""
Reinitialize all the services needed.
"""
from langflow.services.database import factory as database_factory
from langflow.services.cache import factory as cache_factory
from langflow.services.chat import factory as chat_factory
from langflow.services.settings import factory as settings_factory
from langflow.services.session import factory as session_service_factory
from langflow.services.auth import factory as auth_factory
from langflow.services.task import factory as task_factory
service_service.update(ServiceType.SETTINGS_MANAGER)
service_service.update(ServiceType.DATABASE_MANAGER)
service_service.update(ServiceType.CACHE_MANAGER)
service_service.update(ServiceType.CHAT_MANAGER)
service_service.update(ServiceType.SESSION_MANAGER)
service_service.update(ServiceType.AUTH_MANAGER)
service_service.update(ServiceType.TASK_MANAGER)
# Test cache connection
service_service.get(ServiceType.CACHE_MANAGER)
# Test database connection
service_service.get(ServiceType.DATABASE_MANAGER)
# Test cache connection
service_service.get(ServiceType.CACHE_MANAGER)
# Test database connection
service_service.get(ServiceType.DATABASE_MANAGER)
def initialize_settings_service():
"""
Initialize the settings manager.

View file

@ -13,7 +13,14 @@ if TYPE_CHECKING:
def get_settings_service() -> "SettingsService":
return service_service.get(ServiceType.SETTINGS_MANAGER)
try:
return service_service.get(ServiceType.SETTINGS_MANAGER)
except ValueError:
# initialize settings service
from langflow.services.manager import initialize_settings_service
initialize_settings_service()
return service_service.get(ServiceType.SETTINGS_MANAGER)
def get_db_service() -> "DatabaseService":