import requests import os import streamlit as st from dotenv import load_dotenv from settings import load_settings from utils import construct_prompt #from config import SYSTEM_PROMPT, PROMPT_TEMPLATE from config.config import INPUT_EXAMPLE, SYSTEM_PROMPT, PROMPT_TEMPLATE # Load API key from .env file load_dotenv() api_key = os.getenv("OPENAI_API_KEY") if not api_key: st.error("API key not found. Please set OPENAI_API_KEY in your .env file.") st.stop() api_url = "https://genai.dev.odp.lhgroup.de/openai/deployments/gpt-4-turbo/chat/completions?api-version=2023-07-01-preview" def fetch_okrs(user_input: str, okr_cycle: str = 'JAN 25 to APR 25', num_key_results: int=3): user_prompt = construct_prompt( prompt_template=PROMPT_TEMPLATE, user_input=user_input, okr_cycle=okr_cycle, num_key_results=num_key_results) headers = {"api-key": api_key, "Content-Type": "application/json"} body = { "messages": [ {"role": "system", "content": SYSTEM_PROMPT}, {"role": "user", "content": user_prompt} ] } try: response = requests.post(url=api_url, headers=headers, json=body) response.raise_for_status() return response.json() except Exception as e: st.error(f"Error fetching data from API: {e}") return None