File size: 2,793 Bytes
bf41ce7 4b17d8c bf41ce7 cc2210e bf41ce7 28af5bc 74f7ac4 bf41ce7 ed4b12b bf41ce7 27b5f6d bf41ce7 a8b45b8 bf41ce7 51b69ae 20555bc 51b69ae 18cce84 20555bc 83dc5b3 4c1f298 83dc5b3 4c1f298 83dc5b3 4c1f298 83dc5b3 4c1f298 83dc5b3 4c1f298 83dc5b3 27b5f6d 4b17d8c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | import json
import os
import re
# env variables
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
PINECONE_KEY = os.getenv("PINECONE_KEY")
PINECONE_ENV = os.getenv("PINECONE_ENV")
FIREBASE_ENV = os.getenv("FIREBASE_SERVICE_ACCOUNT_TEST3_83FFC")
# proxy for imap access from hugging face.
PROXY_IP = os.getenv("PROXY_IP")
PROXY_PORT = os.getenv("PROXY_PORT")
# swagger
swagger_destination_path = "./src/static/swagger.json"
SWAGGER_URL = "/api/docs" # URL for exposing Swagger UI (without trailing '/')
API_URL = "http://localhost:5000/file/swagger.json"
# firebase
FIREBASE_STORAGE_ROOT = "images/"
FIREBASE_STORAGE_BUCKET = "test3-83ffc.appspot.com"
FIREBASE_REALTIME_DATABASE = "https://test3-83ffc-default-rtdb.firebaseio.com/"
# pinecone
PINECONE_NAMESPACE = "risinglangchain-namespace"
PINECONE_INDEX_NAME = "risinglangchain-index"
# open ai
DEFAULT_GPT_MODEL = "gpt-4"
# AI Agent name
AGENT_NAME = "RisingBrain Assistant"
# indexes of relatedness of embedding
COMMAND_SMS_INDEXES = ["pWDrks5DO1bEPLlUtQ1f", "LEpAhmFi8tAOQUE7LHZZ"] # 4, 5
COMMAND_BROWSER_OPEN = ["taVNeDINonUqJWXBlESU"] # 10
# Twilio
ACCOUNT_SID = os.getenv("TWILIO_ACCOUNT_SID")
AUTH_TOKEN = os.getenv("TWILIO_AUTH_TOKEN")
# HuggingFace
HUGGINGFACEHUB_API_TOKEN = os.getenv("HUGGINGFACEHUB_API_TOKEN")
# actions flag :True -> Directly with Category_prompt
ACTION_FLAG = True
class ProgramType:
BROWSER = "browser"
ALERT = "alert"
IMAGE = "image"
SMS = "sms"
CONTACT = "contact"
MESSAGE = "message"
AUTO_TASK = "autotask"
RAILS_OFF_TOPIC = "rails_off_topic"
# validate json format
def validateJSON(jsonData):
try:
json.loads(jsonData)
except ValueError as err:
return False
return True
def parseJsonFromCompletion(data: str) -> json:
result = data[1:-1]
array = result.split('\\"')
# fmt: off
if len(array) > 1:
array[0] = array[0].replace("'", '"')
result = array[0] + '"' + array[1] + '"' + array[2]
else:
result = result.replace("{'", '{"')
result = result.replace("'}", '"}')
result = result.replace("': '", '": "')
result = result.replace("': \\\"", '": \"')
result = result.replace("', '", '", "')
result = result.replace("':", '":')
substring = '\\"}'
replacement = '\"}'
index = result.rfind(substring)
if index == len(result) - 3:
result = result[:index] + replacement + result[index + len(substring):]
# fmt: on
try:
return json.loads(result)
except Exception as e:
return result
def parseUrlFromStr(text: str) -> str:
# Search for the link using regex
link = re.search(r"(https?://\S+)", text)
if link:
return link.group(0)
else:
return ""
|