mirror of
https://github.com/ferdzo/iotDashboard.git
synced 2026-04-05 09:06:26 +00:00
Removed unused files, updated templates, added gpt service and small fixes on Django
This commit is contained in:
42
services/gpt_service/gpt_service.py
Normal file
42
services/gpt_service/gpt_service.py
Normal file
@@ -0,0 +1,42 @@
|
||||
import openai
|
||||
|
||||
from config import API_KEY, MODEL_NAME, PROVIDER_NAME, HOST_URL, LOG_LEVEL
|
||||
import logging
|
||||
|
||||
class GPTService:
|
||||
def __init__(self):
|
||||
self.api_key = API_KEY
|
||||
self.model_name = MODEL_NAME
|
||||
self.provider_name = PROVIDER_NAME
|
||||
self.host_url = HOST_URL
|
||||
|
||||
logging.basicConfig(level=getattr(logging, LOG_LEVEL.upper(), logging.INFO))
|
||||
self.logger = logging.getLogger(__name__)
|
||||
|
||||
if self.provider_name == "openai":
|
||||
openai.api_key = self.api_key
|
||||
if self.host_url:
|
||||
openai.api_base = self.host_url
|
||||
self.logger.info(f"Initialized OpenAI GPTService with model {self.model_name}")
|
||||
else:
|
||||
self.logger.error(f"Unsupported provider: {self.provider_name}")
|
||||
raise ValueError(f"Unsupported provider: {self.provider_name}")
|
||||
|
||||
def analyze_metrics(self, metrics: dict) -> str:
|
||||
"""Analyze given metrics using GPT model and return insights."""
|
||||
prompt = f"Analyze the following metrics and provide insights:\n{metrics}"
|
||||
try:
|
||||
response = openai.Completion.create(
|
||||
engine=self.model_name,
|
||||
prompt=prompt,
|
||||
max_tokens=150,
|
||||
n=1,
|
||||
stop=None,
|
||||
temperature=0.7,
|
||||
)
|
||||
insights = response.choices[0].text.strip()
|
||||
self.logger.info("Successfully obtained insights from GPT model")
|
||||
return insights
|
||||
except Exception as e:
|
||||
self.logger.error(f"Error during GPT analysis: {e}")
|
||||
raise
|
||||
Reference in New Issue
Block a user