brain / Brain /src /model /req_model.py
Kotta
feature: implemented the base64 decode module for firebase key.
b66d193
import base64
from typing import Any
from Brain.src.common.utils import (
OPENAI_API_KEY,
PINECONE_KEY,
PINECONE_ENV,
FIREBASE_ENV,
)
class ReqModel:
class Settings:
def __init__(self):
self.temperature: float = 0.6
openai_key: str
pinecone_key: str
pinecone_env: str
firebase_key: str
token: str = ""
uuid: str = ""
settings: Settings
def __init__(self, data: dict):
self.openai_key = (
OPENAI_API_KEY if data["openai_key"] == "" else data["openai_key"]
)
self.pinecone_key = (
PINECONE_KEY if data["pinecone_key"] == "" else data["pinecone_key"]
)
self.pinecone_env = (
PINECONE_ENV if data["pinecone_env"] == "" else data["pinecone_env"]
)
self.firebase_key = self.decode_firebase_key(data["firebase_key"])
self.token = data["token"]
self.uuid = data["uuid"]
self.settings = self.Settings()
self.settings.temperature = data["settings"]["temperature"]
def to_json(self):
return {
"openai_key": self.openai_key,
"pinecone_key": self.pinecone_key,
"pinecone_env": self.pinecone_env,
"firebase_key": self.firebase_key,
"settings": {"temperature": self.settings.temperature},
"token": self.token,
"uuid": self.uuid,
}
def decode_firebase_key(self, data: str) -> Any:
decoded_data = base64.b64decode(data)
# Printing the decoded string
return decoded_data.decode("utf-8")