milestone 3 - Chatmanager: rudimentary version implemented
This commit is contained in:
parent
7f63c8f2ae
commit
626c10c129
@ -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):
|
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():
|
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())
|
||||||
|
|
||||||
|
|||||||
@ -13,17 +13,18 @@ def list_files() -> list:
|
|||||||
return files
|
return files
|
||||||
|
|
||||||
def read_file(file_path: Path) -> str:
|
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
|
# wenn eine Datei im Sidebar angeklickt wird, soll die Funktion sie lesen und im Code Editor anzeigen
|
||||||
# file = open(file_path, 'r').read()
|
# file = open(file_path, 'r').read()
|
||||||
with file_path.open("r") as file:
|
with file_path.open('r') as file:
|
||||||
return file.read()
|
return file.read()
|
||||||
|
|
||||||
def save_file(file_path: Path, content: str):
|
def save_file(file_path: Path, content: str):
|
||||||
#wenn eine Datei im Code Editor abgeändert wird, soll die Funktion die Änderungen abspeichern
|
#wenn eine Datei im Code Editor abgeändert wird, soll die Funktion die Änderungen abspeichern
|
||||||
with file_path.open('w') as f:
|
with file_path.open('w') as file:
|
||||||
f.write(content)
|
file.write(content)
|
||||||
|
|
||||||
|
|
||||||
print(list_files())
|
print(list_files())
|
||||||
print(read_file(Path("C:/FH_Graubünden/26FS/AI_in_SE/project_ai_se/pages/example.py")))
|
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/pages/example_2.py"), "haHa"))
|
print(save_file(Path("C:/FH_Graubünden/26FS/AI_in_SE/project_ai_se/example_2.py"), "hiHa"))
|
||||||
6
app.py
6
app.py
@ -9,17 +9,21 @@ def callback_test():
|
|||||||
|
|
||||||
bsp_list = ["Projekt", ["Datei 1", "Datei 2"]]
|
bsp_list = ["Projekt", ["Datei 1", "Datei 2"]]
|
||||||
with st.sidebar:
|
with st.sidebar:
|
||||||
|
#wenn FileManager integriert wird: Elemente mit list_files bauen
|
||||||
st.write(bsp_list[0])
|
st.write(bsp_list[0])
|
||||||
st.button(bsp_list[1][0], key="datei1", on_click=callback_test)
|
st.button(bsp_list[1][0], key="datei1", on_click=callback_test)
|
||||||
st.button(bsp_list[1][1], key="datei2")
|
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
|
# 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")
|
col_editor_output, col_chat = st.columns([0.6, 0.4], gap="xxlarge")
|
||||||
|
|
||||||
with col_editor_output:
|
with col_editor_output:
|
||||||
st.text_area("Code Editor", key="editor", on_change=callback_test)
|
st.text_area("Code Editor", key="editor", on_change=callback_test)
|
||||||
#Verhalten bei Veränderungen mit on_change festlegen
|
# 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
|
# 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")
|
st.write("Output and debugging messages")
|
||||||
# hier wird der Output angezeigt, der mit DebugLogger erstellt wurde
|
# hier wird der Output angezeigt, der mit DebugLogger erstellt wurde
|
||||||
|
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
haHa
|
hiHa
|
||||||
Loading…
x
Reference in New Issue
Block a user