main.py aktualisiert
This commit is contained in:
@@ -1,48 +1,61 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
|
import os
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
from agent import Agent
|
from agent import Agent
|
||||||
from util.logger import get_logger
|
from util.logger import get_logger
|
||||||
print("MAIN FILE STARTED")
|
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
|
# Konfiguration
|
||||||
|
AWS_REGION = os.getenv("AWS_REGION")
|
||||||
|
AWS_ACCESS_KEY_ID = os.getenv("AWS_ACCESS_KEY_ID")
|
||||||
|
AWS_SECRET_ACCESS_KEY = os.getenv("AWS_SECRET_ACCESS_KEY")
|
||||||
|
BEDROCK_MODEL = os.getenv("BEDROCK_MODEL")
|
||||||
|
MCP_URL = os.getenv("MCP_URL")
|
||||||
|
|
||||||
|
|
||||||
async def main():
|
async def main():
|
||||||
|
|
||||||
log = get_logger("NORA")
|
log = get_logger("NORA")
|
||||||
|
|
||||||
print("\n==============================")
|
print("\n" + "="*40)
|
||||||
print(" N.O.R.A START")
|
print(" N.O.R.A START")
|
||||||
print("==============================\n")
|
print("="*40 + "\n")
|
||||||
|
|
||||||
agent = Agent()
|
agent = Agent()
|
||||||
|
|
||||||
log.info("Connecting MCP...")
|
try:
|
||||||
await agent.mcp.connect()
|
log.info("Connecting to MCP...")
|
||||||
|
await agent.mcp.connect()
|
||||||
|
|
||||||
log.info("Loading tools...")
|
log.info("Loading tools...")
|
||||||
await agent.load_tools()
|
await agent.load_tools()
|
||||||
|
|
||||||
print("\nN.O.R.A bereit. (exit zum Beenden)\n")
|
print("N.O.R.A ist bereit. (Schreibe 'exit' oder 'quit' zum Beenden)\n")
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
|
try:
|
||||||
|
user = input("Du: ").strip()
|
||||||
|
|
||||||
try:
|
if user.lower() in ["exit", "quit", "bye"]:
|
||||||
user = input("Du: ").strip()
|
break
|
||||||
|
|
||||||
if user.lower() in ["exit", "quit"]:
|
if not user:
|
||||||
|
continue
|
||||||
|
|
||||||
|
response = await agent.run(user)
|
||||||
|
print(f"\nN.O.R.A: {response}\n")
|
||||||
|
|
||||||
|
except KeyboardInterrupt:
|
||||||
break
|
break
|
||||||
|
except Exception as e:
|
||||||
|
log.error(f"Fehler in Main-Loop: {e}")
|
||||||
|
print("Ein Fehler ist aufgetreten. Bitte versuche es erneut.")
|
||||||
|
|
||||||
if not user:
|
finally:
|
||||||
continue
|
await agent.mcp.close()
|
||||||
|
log.info("Shutdown complete")
|
||||||
|
|
||||||
response = await agent.run(user)
|
|
||||||
|
|
||||||
print(f"\nN.O.R.A: {response}\n")
|
if __name__ == "__main__":
|
||||||
|
asyncio.run(main())
|
||||||
except KeyboardInterrupt:
|
|
||||||
break
|
|
||||||
|
|
||||||
except Exception as e:
|
|
||||||
log.error(str(e))
|
|
||||||
|
|
||||||
await agent.mcp.close()
|
|
||||||
|
|
||||||
log.info("Shutdown complete")
|
|
||||||
Reference in New Issue
Block a user