32 lines
936 B
Python
32 lines
936 B
Python
from config.settings import Config
|
|
from services.openrouter_client import OpenRouterClient
|
|
from services.gemini_audio_service import GeminiAudioService
|
|
from services.conversation_manager import ConversationManager
|
|
from ui.gradio_interface import AssistantUI
|
|
|
|
def main():
|
|
print("Starting AI Assistant...")
|
|
|
|
# Load config
|
|
config = Config()
|
|
config.validate()
|
|
|
|
# Setup services
|
|
ai_client = OpenRouterClient(config.openrouter_key, config.text_model)
|
|
audio_service = GeminiAudioService(
|
|
config.gemini_key,
|
|
config.stt_model,
|
|
config.tts_model,
|
|
config.voice_name
|
|
)
|
|
conversation = ConversationManager(config.system_prompt)
|
|
|
|
# Create UI
|
|
ui = AssistantUI(ai_client, audio_service, conversation)
|
|
app = ui.create_interface()
|
|
|
|
print(f"Launching on port {config.port}...")
|
|
app.launch(server_port=config.port)
|
|
|
|
if __name__ == "__main__":
|
|
main() |