|
|
import os |
|
|
import sys |
|
|
import subprocess |
|
|
|
|
|
def check_environment(): |
|
|
"""Check if the environment is properly set up""" |
|
|
print("Checking environment...") |
|
|
|
|
|
|
|
|
if not os.path.exists(".env"): |
|
|
print("Warning: .env file not found. Creating from .env.example...") |
|
|
if os.path.exists(".env.example"): |
|
|
with open(".env.example", "r") as example_file: |
|
|
with open(".env", "w") as env_file: |
|
|
env_file.write(example_file.read()) |
|
|
print(".env file created successfully.") |
|
|
else: |
|
|
print("Error: .env.example file not found. Please create a .env file manually.") |
|
|
return False |
|
|
|
|
|
|
|
|
try: |
|
|
import fastapi |
|
|
import uvicorn |
|
|
import langchain |
|
|
import transformers |
|
|
import torch |
|
|
print("All required packages are installed.") |
|
|
except ImportError as e: |
|
|
print(f"Error: Missing required package: {e}") |
|
|
print("Please run: pip install -r requirements.txt") |
|
|
return False |
|
|
|
|
|
return True |
|
|
|
|
|
def start_application(): |
|
|
"""Start the FastAPI application""" |
|
|
if not check_environment(): |
|
|
print("Environment check failed. Please fix the issues and try again.") |
|
|
return |
|
|
|
|
|
print("\nStarting the application...") |
|
|
print("The application will be available at http://localhost:8000") |
|
|
print("Press Ctrl+C to stop the application.") |
|
|
|
|
|
|
|
|
try: |
|
|
subprocess.run([sys.executable, "-m", "uvicorn", "app.main:app", "--reload", "--host", "0.0.0.0", "--port", "8000"]) |
|
|
except KeyboardInterrupt: |
|
|
print("\nApplication stopped.") |
|
|
|
|
|
if __name__ == "__main__": |
|
|
start_application() |