mirror of
https://github.com/ferdzo/iotDashboard.git
synced 2026-04-05 17:16:26 +00:00
Removed unused files, updated templates, added gpt service and small fixes on Django
This commit is contained in:
6
services/gpt_service/.env.sample
Normal file
6
services/gpt_service/.env.sample
Normal file
@@ -0,0 +1,6 @@
|
||||
API_KEY =
|
||||
PROVIDER_NAME = os.getenv("PROVIDER_NAME", "openai")
|
||||
MODEL_NAME = os.getenv("MODEL_NAME", "gpt-4.1")
|
||||
# HOST_URL = os.getenv("MODEL_URL")
|
||||
LOG_LEVEL=INFO
|
||||
|
||||
0
services/gpt_service/README.md
Normal file
0
services/gpt_service/README.md
Normal file
13
services/gpt_service/config.py
Normal file
13
services/gpt_service/config.py
Normal file
@@ -0,0 +1,13 @@
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv()
|
||||
|
||||
class Config:
|
||||
"""Configuration settings for the GPT Service."""
|
||||
|
||||
API_KEY = os.getenv("API_KEY")
|
||||
PROVIDER_NAME = os.getenv("PROVIDER_NAME", "openai")
|
||||
MODEL_NAME = os.getenv("MODEL_NAME", "gpt-4")
|
||||
HOST_URL = os.getenv("HOST_URL")
|
||||
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO")
|
||||
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
|
||||
6
services/gpt_service/main.py
Normal file
6
services/gpt_service/main.py
Normal file
@@ -0,0 +1,6 @@
|
||||
def main():
|
||||
print("Hello from gpt-service!")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
7
services/gpt_service/pyproject.toml
Normal file
7
services/gpt_service/pyproject.toml
Normal file
@@ -0,0 +1,7 @@
|
||||
[project]
|
||||
name = "gpt-service"
|
||||
version = "0.1.0"
|
||||
description = "Add your description here"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.13"
|
||||
dependencies = []
|
||||
Reference in New Issue
Block a user