Cybersecurity-Panel / phd_config.yaml
NeonCharlie-24
Feat/advisor tools (#38)
d16b388 unverified
Raw
History Blame Contribute Delete
6.64 kB
# ============================================================================
# Advisor Canvas — Application Configuration
# ============================================================================
# Edit this single file to create a new advisor application.
# Restart the backend after making changes.
#
# Colors use hex format (e.g. "#7C3AED").
# Icons use Lucide icon names (see https://lucide.dev/icons).
# ============================================================================
# ── Branding & UI ──────────────────────────────────────────────────────────
app:
title: "PhD Advisory Panel"
subtitle: "AI-Powered Academic Guidance"
primary_color: "#7C3AED"
footer_text: "© 2025 University of Colorado Boulder. All rights reserved."
homepage:
headline_prefix: "Get Guidance from"
headline_highlight: "Advisor Personas"
description: >-
Receive diverse perspectives on your PhD journey from our specialized AI
advisors, each bringing unique insights to help you succeed.
features_title: "Why Choose Our Advisory Panel?"
features:
- title: "Multiple Perspectives"
description: "Get varied viewpoints from different advisory styles"
icon: "Users"
- title: "AI-Powered Insights"
description: "Leverage advanced AI for comprehensive guidance"
icon: "Brain"
- title: "Focused Advice"
description: "Receive targeted recommendations for your specific needs"
icon: "Target"
login:
subtitle: "Sign in to continue your PhD research journey"
signup_subtitle: "Create your account to get personalized PhD guidance from expert advisors"
academic_stages:
- { value: "", label: "Select your stage" }
- { value: "prospective", label: "Prospective PhD Student" }
- { value: "first-year", label: "First Year PhD" }
- { value: "coursework", label: "Coursework Phase" }
- { value: "qualifying", label: "Qualifying Exams" }
- { value: "dissertation", label: "Dissertation Phase" }
- { value: "writing", label: "Writing & Defense" }
- { value: "postdoc", label: "Postdoc" }
- { value: "faculty", label: "Faculty/Researcher" }
chat_page:
placeholder: "Ask your advisors anything about your PhD journey..."
examples:
- title: "Orientation & Guidance"
icon: "BookOpen"
color: "#3B82F6"
bg_color: "#EFF6FF"
suggestions:
- "How do I choose a research topic that's interesting and doable?"
- "Meeting and Presentation Prep"
- "What should I be doing my first semester?"
- title: "Research Design & Academic Skills"
icon: "FlaskConical"
color: "#8B5CF6"
bg_color: "#F3E8FF"
suggestions:
- "Should I use qualitative, quantitative, or mixed methods for my research?"
- "Is my research question too broad?"
- "How do I defend a non-traditional methodology to my committee?"
- title: "Writing & Communication"
icon: "PenTool"
color: "#10B981"
bg_color: "#ECFDF5"
suggestions:
- "What's the right tone for an introduction? Persuasive, cautious, or bold?"
- "How should I respond when reviewers give conflicting feedback?"
- "Should I prioritize journal articles or dissertation chapters when I write?"
- title: "Mental Health & Hidden Curriculum"
icon: "Heart"
color: "#F59E0B"
bg_color: "#FFFBEB"
suggestions:
- "How do I cope when I feel behind compared to others in my cohort?"
- "Should I speak up about unclear expectations or just try to figure it out quietly?"
- "What are the unspoken expectations no one tells you about?"
# ── Personas ───────────────────────────────────────────────────────────────
personas:
# The base prompt is appended to every persona's own prompt.
# Put shared formatting rules here so each persona only defines its personality.
base_prompt: |
**Formatting (Compact Markdown v1):**
- Use GitHub-Flavored Markdown.
- Output exactly three sections in this order:
- `### Thought` — one sentence.
- `### What to do` — exactly 3 bullets, one line each.
- `### Next step` — one imperative sentence.
- Use `###` for headings, `-` for bullets (no unicode bullets), keep number text on the same line (e.g., `1. Do X`).
- Insert one blank line between blocks.
# Individual persona files are loaded from this directory (relative to this file).
personas_dir: "personas/phd_advisors"
# ── Orchestrator / Clarification ───────────────────────────────────────────
orchestrator:
# Minimum word count (with no specific keywords) before clarification triggers
min_words_without_keywords: 6
# Domain-specific keywords that indicate the user's message is on-topic enough
specific_keywords:
- "methodology"
- "theory"
- "data"
- "analysis"
- "research"
- "thesis"
- "dissertation"
clarification_questions:
- "What specific aspect of your research would you like guidance on?"
- "Are you looking for help with methodology, theory, writing, or something else?"
- "What stage of your program are you currently in?"
- "What's the main challenge you're facing right now?"
clarification_suggestions:
- "Ask about research methodology or design"
- "Get help with theoretical frameworks"
- "Request guidance on practical next steps"
- "Upload a document for specific feedback"
# ── Backend Settings (private — never sent to frontend) ────────────────────
auth:
algorithm: "HS256"
token_expiry_minutes: 43200 # 30 days
mongodb:
database_name: "phd_advisor"
llm:
gemini:
model: "gemini-2.5-flash"
ollama:
model: "llama3.2:1b"
vllm:
api_url: https://rtx6000blackwell-1.neonaiservices2.com/vllm0
rag:
embedding_model: "all-MiniLM-L6-v2"
chroma_collection: "phd_advisor_documents"
# TODO: For development/testing only. PhD Advisor will likely not use these tools.
tools:
search_courses:
enabled: true
max_results: 20 # Limit the number of results returned by the search_courses tool
rate_my_professor:
enabled: true
# Run `python3 scripts/rmp_school_lookup.py "<school name>"` to find this value
school_id: "U2Nob29sLTEwODc=" # CU Boulder school ID