Compare commits
2 Commits
bf00e277c8
...
626c10c129
| Author | SHA1 | Date | |
|---|---|---|---|
| 626c10c129 | |||
| 7f63c8f2ae |
@ -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())
|
||||||
|
|
||||||
|
|||||||
@ -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
|
#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):
|
def read_file(file_path: Path) -> str:
|
||||||
#wenn eine Datei im Sidebar angeklickt wird, soll die Funktion sie lesen und im Code Editor anzeigen
|
# ErrorHandling einbauen, falls der Pfad falsch ist?
|
||||||
pass
|
# 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
|
#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
8
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
|
||||||
#wenn angezigter Code bearbeitet wird, sollte ExecutionEngine aufgerufen werden, diese soll den Code ausführen und im Outputfenster angezeigt werden mit DebugLogger
|
# 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")
|
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
example.py
Normal file
1
example.py
Normal file
@ -0,0 +1 @@
|
|||||||
|
"blabliblu"
|
||||||
1
example_2.py
Normal file
1
example_2.py
Normal file
@ -0,0 +1 @@
|
|||||||
|
hiHa
|
||||||
Loading…
x
Reference in New Issue
Block a user