okr/api.py

52 lines
1.6 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 INPUT_TEMPLATE, 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):
#settings = load_settings()
#system_prompt = settings["system_prompt"]
#input_template = settings["input_template"]
print("fetch_okr-user_input:", user_input)
print("input_template:", INPUT_TEMPLATE)
user_prompt = construct_prompt(prompt_template=PROMPT_TEMPLATE, user_input=user_input)
print("user_prompt:", user_prompt)
headers = {"api-key": api_key, "Content-Type": "application/json"}
body = {
"messages": [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": user_prompt}
]
}
#print("system prompt:", system_prompt)
print("request body:", body)
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
#from config import INPUT_TEMPLATE
#result = fetch_okrs(user_input=INPUT_TEMPLATE)
#objective = result['choices'][0]['message']['content']
#print(type(objective))