Commit 805667e2 authored by Kantz's avatar Kantz
Browse files

tasks folder über .env

parent dbf77748
......@@ -9,6 +9,7 @@ FRONTEND_URL="http://frontend:3000"
ORCHESTRATOR="task" # "tutor", "task" or "qa"
RETRIEVAL_IMPL="child" # "child" or "subsection"
TASK_FOLDER="tasks"
LLM_PROVIDER="gwdg" # "openai", "gwdg", "mistral", or "ollama"
EMBEDDING_PROVIDER="sentence-transformer" # "sentence-transformer", "openai", or "gwdg"
......
import os
from dataclasses import dataclass
from pathlib import Path
from dotenv import load_dotenv
from pydantic import BaseModel
......@@ -7,6 +8,9 @@ from typing import Optional
load_dotenv()
BACKEND_ROOT = Path(__file__).resolve().parents[1]
SOURCES_ROOT = BACKEND_ROOT / "sources"
SUPPORTED_LLM_PROVIDERS = {"openai", "gwdg", "mistral", "ollama"}
SUPPORTED_EMBEDDING_PROVIDERS = {"sentence-transformer", "openai", "gwdg"}
......@@ -30,6 +34,17 @@ def get_retrieval_impl() -> str:
return "child"
def get_task_folder() -> Path:
value = os.getenv("TASK_FOLDER", "tasks").strip()
if not value:
value = "tasks"
folder = Path(value)
if folder.is_absolute():
return folder
return SOURCES_ROOT / folder
def get_llm_provider() -> str:
value = os.getenv("LLM_PROVIDER")
if value is None or not value.strip():
......
......@@ -9,10 +9,11 @@ from urllib.parse import quote
import yaml
from app import config
from app.deterministic_services import context_store
from app.deterministic_services.vector_store import parse_markdown_with_frontmatter
TASKS_DIR = Path(__file__).resolve().parents[2] / "sources" / "tasks"
TASKS_DIR = config.get_task_folder()
TASK_IMAGES_DIR = TASKS_DIR / "images"
SOURCES_DIR = Path(__file__).resolve().parents[2] / "sources"
SUBSECTION_MAP_PATH = TASKS_DIR / "_subsection_map.yaml"
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment