| from pydantic import BaseModel, Field |
| from typing import List, Dict, Literal, Optional |
|
|
|
|
| no_keywords = 25 |
|
|
|
|
| class SuggestedSearchQueries(BaseModel): |
| queries: List[str] = Field( |
| ..., |
| title="List of suggested search queries", |
| min_items=1, |
| max_items=no_keywords, |
| ) |
|
|
|
|
| |
| class Subtopic(BaseModel): |
| title: str |
| description: str = "" |
| queries: List[str] = Field(..., min_items=1, max_items=3) |
|
|
|
|
| class Topic(BaseModel): |
| topic_name: str |
| subtopics: List[Subtopic] |
|
|
|
|
| class Unit(BaseModel): |
| unit_name: str |
| outcome: str |
| topics: List[Topic] |
|
|
|
|
| class CourseWithQueries(BaseModel): |
| course_name: str |
| course_audience: str |
| expanded_units: List[Unit] |
|
|