import asyncio from dotenv import load_dotenv load_dotenv() from container import Container async def main_async() -> None: container = Container() ui = container.ui_service() db = container.db_service() db.connect() db.init_schema() ui.show_banner(container.config().model_id) # AgentService 초기화 — MlxChatModel 모델 로딩 + LangGraph 그래프 구성 포함 agent = container.agent_service() while True: try: user_input = ui.prompt_user() except (EOFError, KeyboardInterrupt): print("\n대화를 종료합니다.") break if not user_input: continue if ui.is_exit_command(user_input): print("대화를 종료합니다.") break if ui.is_reset_command(user_input): agent.reset() print("\n[대화가 초기화되었습니다.]\n") continue ui.show_assistant_prefix() async for token in agent.stream_response(user_input): print(token, end="", flush=True) print("\n") def main() -> None: asyncio.run(main_async()) if __name__ == "__main__": main()