Spaces:
Runtime error
Runtime error
from dotenv import load_dotenv | |
import os | |
import openai | |
import pandas as pd | |
load_dotenv() | |
path = os.getenv("DATA") | |
def add_new(model,name,query,prompt,answer): | |
data = {"name" : name, "model" : model, "query" : query, "prompt": prompt, "answer" : answer} | |
row = pd.DataFrame([data]) | |
if not os.path.isfile(path): | |
os.makedirs("data") | |
with open(path, 'w') as file: | |
file.write("name,model,query,prompt,answer\n") | |
print("File Created") | |
old_df = pd.read_csv(path) | |
new_df = pd.concat([old_df, row], ignore_index=True) | |
new_df.to_csv(path, index=False) | |
print("Saved.") | |
def get_data(): | |
df = pd.read_csv(path) | |
return df.to_string() | |
def get_text(): | |
with open(path, 'r', encoding='utf-8') as file: | |
text = file.read() | |
return text | |
class ModelChain: | |
def __init__(self): | |
self.client = self.generate_client(os.getenv("OPENROUTER_API_KEY"), os.getenv("BASE_URL")) | |
self.deepseek_messages = [] | |
self.gemini_messages = [] | |
def generate_client(self,api_key, url): | |
return openai.OpenAI( | |
api_key = api_key, | |
base_url = url, | |
) | |
def generate_response(self,model,name, query,prompt): | |
messages = [{"role":"system","content": prompt}, | |
{"role":"user","content":query}] | |
try: | |
result = self.client.chat.completions.create( | |
model = model, | |
messages = messages, | |
) | |
answer = result.choices[0].message.content | |
add_new(model,name,query,prompt,answer) | |
return answer | |
except Exception as e: | |
print(f"Response Error : {e}") | |
if e == "'NoneType' object is not subscriptable": | |
return f"This AI Model might be Busy at the moment, try another AI Model" | |
else: | |
return f"Response Error : {e}" | |
def main(): | |
chain= Modelschain() | |
if __name__ == "__main__": | |
main() |