import os import requests class APIManager: def __init__(self): self.minds_api_key = os.getenv('MINDSDB_API_KEY') self.supabase_password = os.getenv('SUPABASE_PASSWORD') self.minds_name = 'precision_medicine_mind' self.headers = { 'Authorization': f'Bearer {self.minds_api_key}', 'Content-Type': 'application/json' } def create_mind(self): supabase_config = { "description": "Your Supabase Database", "type": "postgres", "connection_args": { "user": "postgres.mgvepfrmsojwkoudycez", "password": self.supabase_password, "host": "aws-0-ap-southeast-1.pooler.supabase.com", "port": "6543", "database": "postgres" }, "tables": ["Precision_medicine"] } payload = { "name": self.minds_name, "data_source_configs": [supabase_config] } try: response = requests.post( url='https://llm.mdb.ai/minds', json=payload, headers=self.headers ) if response.status_code == 201: return f"Mind '{self.minds_name}' created successfully!" else: return "Mind already exists" except requests.exceptions.HTTPError as http_err: return f"HTTP error occurred: {http_err}" except Exception as e: return f"An error occurred: {e}" def query_mind(self, query): query_payload = { "model": self.minds_name, "messages": [ {"role": "user", "content": query} ] } try: query_response = requests.post( url='https://llm.mdb.ai/chat/completions', json=query_payload, headers=self.headers ) if query_response.status_code == 200: response_data = query_response.json() return response_data['choices'][0]['message']['content'] else: return f"Error querying the Mind: {query_response.status_code} - {query_response.text}" except Exception as e: return f"Error querying the Mind: {e}"