Compare commits

..

2 Commits

5 changed files with 59 additions and 11 deletions

View File

@ -1,8 +1,34 @@
from openai import OpenAI
from dotenv import load_dotenv
import os
load_dotenv(dotenv_path=".env")
HOST = os.getenv('HOST')
PORT = os.getenv('PORT')
API_KEY = os.getenv('API_KEY')
MODEL = os.getenv('MODEL')
def get_client() -> OpenAI:
"""Return an OpenAI-compatible client pointing at the vLLM server."""
base_url = f"http://{HOST}:{PORT}/v1"
return OpenAI(base_url=base_url, api_key=API_KEY)
client = get_client()
def send_message(message):
pass
# hier gehts darum, die message vorzubereiten -> also nachricht aus den Chatfenster mit systemprompts und file_conntext verknüpfen
# hier auch Zeug zusammenkürzen wenns zu lang wird?
return "Explain what a system prompt is."
def receive_response():
pass
# hier wird send_message() aufgerufen, damit dann geschickt werden kann
response = client.responses.create(
input=send_message(""))
return response.output_text
print(receive_response())

View File

@ -1,14 +1,30 @@
import os
from pathlib import Path
def list_files():
def list_files() -> list:
#soll Zugriff auf project directory haben und diese anzeigen
pass
#mypath = "C:/FH_Graubünden/26FS/AI_in_SE/project_ai_se"
#files = [f for f in os.listdir(mypath) if os.path.isfile(os.path.join(mypath, f))]
mypath = Path.cwd()
print(f"u ä {mypath}")
files = list(mypath.glob('*.py'))
return files
def read_file(file_path):
#wenn eine Datei im Sidebar angeklickt wird, soll die Funktion sie lesen und im Code Editor anzeigen
pass
def read_file(file_path: Path) -> str:
# ErrorHandling einbauen, falls der Pfad falsch ist?
# wenn eine Datei im Sidebar angeklickt wird, soll die Funktion sie lesen und im Code Editor anzeigen
# file = open(file_path, 'r').read()
with file_path.open('r') as file:
return file.read()
def save_file(file_path, content):
def save_file(file_path: Path, content: str):
#wenn eine Datei im Code Editor abgeändert wird, soll die Funktion die Änderungen abspeichern
pass
with file_path.open('w') as file:
file.write(content)
print(list_files())
print(read_file(Path("C:/FH_Graubünden/26FS/AI_in_SE/project_ai_se/example.py")))
print(save_file(Path("C:/FH_Graubünden/26FS/AI_in_SE/project_ai_se/example_2.py"), "hiHa"))

8
app.py
View File

@ -9,17 +9,21 @@ def callback_test():
bsp_list = ["Projekt", ["Datei 1", "Datei 2"]]
with st.sidebar:
#wenn FileManager integriert wird: Elemente mit list_files bauen
st.write(bsp_list[0])
st.button(bsp_list[1][0], key="datei1", on_click=callback_test)
st.button(bsp_list[1][1], key="datei2")
# wenn Datei ausgewählt wird, sollte FileManager aufgerufen werden, der dann im Code Editor den Inhalt anzeigt
# on_click: FileManager: read_file(file_path)
col_editor_output, col_chat = st.columns([0.6, 0.4], gap="xxlarge")
with col_editor_output:
st.text_area("Code Editor", key="editor", on_change=callback_test)
#Verhalten bei Veränderungen mit on_change festlegen
#wenn angezigter Code bearbeitet wird, sollte ExecutionEngine aufgerufen werden, diese soll den Code ausführen und im Outputfenster angezeigt werden mit DebugLogger
# Verhalten bei Veränderungen mit on_change festlegen, mit File_Manager verknüpfen
# on_change(save_file(file_path, content( -> das wär dann der Inhalt von text_area))
# wenn angezigter Code bearbeitet wird, sollte ExecutionEngine aufgerufen werden, diese soll den Code ausführen und im Outputfenster angezeigt werden mit DebugLogger
# fürs Ausführen vllt eigener Button machen? st.button("execute code", key="execution", on_click=run_code)
st.write("Output and debugging messages")
# hier wird der Output angezeigt, der mit DebugLogger erstellt wurde

1
example.py Normal file
View File

@ -0,0 +1 @@
"blabliblu"

1
example_2.py Normal file
View File

@ -0,0 +1 @@
hiHa