Spaces:
Sleeping
Sleeping
| 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}" |