42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
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 |