cs-ai-sakura-dev / main.py
lifedebugger's picture
Deploy files from GitHub repository
5d66604
import argparse
from src.provider import AppProvider
from src.config import OPENAI_API_KEY
from openai import OpenAI
import asyncio
import torch
import subprocess
print("CUDA available:", torch.cuda.is_available())
print("CUDA device count:", torch.cuda.device_count())
if torch.cuda.is_available():
print("Current device:", torch.cuda.current_device())
print("Device name:", torch.cuda.get_device_name(torch.cuda.current_device()))
openai_client = OpenAI(api_key = OPENAI_API_KEY)
app = AppProvider(openai_client)
agents = app.provide_agents()
routing_expert = {
"customer_service" : {
"instance": agents.provide_cs_agent_rag(),
"chat_template" : app.provide_chat_template("customer_service")
},
"bank_crud": {
"instance": agents.provide_banking_crud_agent(),
"chat_template" : {
"api_banking_template" : app.provide_chat_template("api_banking"),
"responder_template" : app.provide_chat_template("responder_banking")
}
}
}
agents.set_routing_expert(routing_expert)
chatbot_ui = app.provide_chatbot().provide_chatbot_ui()
rtc = app.provide_rtc()
rtc_handler_cs = rtc.provide_rtc_handler_cs()
rtc_handler_banking = rtc.provide_rtc_handler_banking()
# rtc_gpt_handler = rtc.provide_rtc_gpt_handler()
parser = argparse.ArgumentParser()
parser.add_argument("--mode", choices=[
"extract-documents",
"rtc-cs-server",
"rtc-cs-ui",
"rtc-banking-server",
"rtc-banking-ui",
"chatbot",
], required=True)
parser.add_argument("--port", default=7861, required=True)
args = parser.parse_args()
match args.mode:
case "extract-documents":
asyncio.run(agents.provide_rag_executor_agent().load_documents())
case "chatbot":
print("Launching Chabot UI Regardly :)")
chatbot_ui.launch(port = int(args.port))
case "rtc-cs-server":
print("launching RTC Server Mode ... ")
rtc_handler_cs.start_server(port = int(args.port))
case "rtc-cs-ui":
print("launching RTC UI Mode ... ")
rtc_handler_cs.launch_ui(port = int(args.port))
case "rtc-banking-server":
print("RTC GPT Server mode ...")
rtc_handler_banking.start_server(port = int(args.port))
case "rtc-banking-ui":
print("RTC GPT UI mode ...")
routing_expert["customer_service"]["instance"] = agents.provide_cs_agent_gpt()
agents.set_routing_expert(routing_expert)
rtc_handler_banking.launch_ui(port = int(args.port))
case _:
print("ERROR : INVALID ARGUMENT | PLEASE CHOOSE ONE BETWEEN chatbot / rtc-server/ rtc-ui / rtc-gpt-server / rtc-gpt-ui mode ")