1. Dynamic metadata retrieval, refactored function 2. Load with using marshmallow, allows dynamic fields now 3. Added chunkers, different varieties 4. Fixed PDF loading so it is better standardized
75 lines
1.9 KiB
Python
75 lines
1.9 KiB
Python
import os
|
|
from dotenv import load_dotenv
|
|
from api import start_api_server
|
|
|
|
# API_ENABLED = os.environ.get("API_ENABLED", "False").lower() == "true"
|
|
import boto3
|
|
|
|
environment = os.getenv("AWS_ENV", "dev")
|
|
|
|
|
|
|
|
def fetch_secret(secret_name, region_name, env_file_path):
|
|
session = boto3.session.Session()
|
|
client = session.client(service_name="secretsmanager", region_name=region_name)
|
|
|
|
try:
|
|
response = client.get_secret_value(SecretId=secret_name)
|
|
except Exception as e:
|
|
print(f"Error retrieving secret: {e}")
|
|
return None
|
|
|
|
if "SecretString" in response:
|
|
secret = response["SecretString"]
|
|
else:
|
|
secret = response["SecretBinary"]
|
|
|
|
with open(env_file_path, "w") as env_file:
|
|
env_file.write(secret)
|
|
|
|
if os.path.exists(env_file_path):
|
|
print(f"The .env file is located at: {os.path.abspath(env_file_path)}")
|
|
load_dotenv()
|
|
PINECONE_API_KEY = os.getenv("PINECONE_API_KEY", "")
|
|
|
|
print("LEN OF PINECONE_API_KEY", len(PINECONE_API_KEY))
|
|
else:
|
|
print("The .env file was not found.")
|
|
return "Success in loading env files"
|
|
|
|
|
|
env_file = ".env"
|
|
if os.path.exists(env_file):
|
|
# Load default environment variables (.env)
|
|
load_dotenv()
|
|
print("Talk to the AI!")
|
|
|
|
|
|
else:
|
|
secrets = fetch_secret(
|
|
f"promethai-{environment}-backend-secretso-promethaijs-dotenv",
|
|
"eu-west-1",
|
|
".env",
|
|
)
|
|
if secrets:
|
|
print(secrets)
|
|
load_dotenv()
|
|
|
|
|
|
# Check if "dev" is present in the task ARN
|
|
if "dev" in environment:
|
|
# Fetch the secret
|
|
secrets = fetch_secret(
|
|
f"promethai-dev-backend-secretso-promethaijs-dotenv",
|
|
"eu-west-1",
|
|
".env",
|
|
)
|
|
load_dotenv()
|
|
elif "prd" in environment:
|
|
# Fetch the secret
|
|
secrets = fetch_secret(
|
|
f"promethai-prd-backend-secretso-promethaijs-dotenv",
|
|
"eu-west-1",
|
|
".env",
|
|
)
|
|
load_dotenv()
|