MCPcopy Index your code
hub / github.com/showlab/Code2Video / __init__

Method __init__

src/agent.py:58–113  ·  view source on GitHub ↗

1. Global parameter

(
        self,
        idx,
        knowledge_point,
        folder="CASES",
        cfg: Optional[RunConfig] = None,
    )

Source from the content-addressed store, hash-verified

56
57class TeachingVideoAgent:
58 def __init__(
59 self,
60 idx,
61 knowledge_point,
62 folder="CASES",
63 cfg: Optional[RunConfig] = None,
64 ):
65 """1. Global parameter"""
66 self.learning_topic = knowledge_point
67 self.idx = idx
68 self.cfg = cfg
69
70 self.use_feedback = cfg.use_feedback
71 self.use_assets = cfg.use_assets
72 self.API = cfg.api
73 self.feedback_rounds = cfg.feedback_rounds
74 self.iconfinder_api_key = cfg.iconfinder_api_key
75 self.max_code_token_length = cfg.max_code_token_length
76 self.max_fix_bug_tries = cfg.max_fix_bug_tries
77 self.max_regenerate_tries = cfg.max_regenerate_tries
78 self.max_feedback_gen_code_tries = cfg.max_feedback_gen_code_tries
79 self.max_mllm_fix_bugs_tries = cfg.max_mllm_fix_bugs_tries
80
81 """2. Path for output"""
82 self.folder = folder
83 self.output_dir = get_output_dir(idx=idx, knowledge_point=self.learning_topic, base_dir=folder)
84 self.output_dir.mkdir(parents=True, exist_ok=True)
85
86 self.assets_dir = Path(*self.output_dir.parts[: self.output_dir.parts.index("CASES")]) / "assets" / "icon"
87 self.assets_dir.mkdir(exist_ok=True)
88
89 """3. ScopeRefine & Anchor Visual"""
90 self.scope_refine_fixer = ScopeRefineFixer(api, self.max_code_token_length)
91 self.extractor = GridPositionExtractor()
92
93 """4. External Database"""
94 knowledge_ref_mapping_path = (
95 Path(*self.output_dir.parts[: self.output_dir.parts.index("CASES")]) / "json_files" / "long_video_ref_mapping.json"
96 )
97 with open(knowledge_ref_mapping_path) as f:
98 self.KNOWLEDGE2PATH = json.load(f)
99 self.knowledge_ref_img_folder = (
100 Path(*self.output_dir.parts[: self.output_dir.parts.index("CASES")]) / "assets" / "reference"
101 )
102 self.GRID_IMG_PATH = self.knowledge_ref_img_folder / "GRID.png"
103
104 """5. Data structure"""
105 self.outline = None
106 self.enhanced_storyboard = None
107 self.sections = []
108 self.section_codes = {}
109 self.section_videos = {}
110 self.video_feedbacks = {}
111
112 """6. For Efficiency"""
113 self.token_usage = {"prompt_tokens": 0, "completion_tokens": 0, "total_tokens": 0}
114
115 def _request_api_and_track_tokens(self, prompt, max_tokens=10000):

Callers

nothing calls this directly

Calls 3

get_output_dirFunction · 0.85
ScopeRefineFixerClass · 0.85

Tested by

no test coverage detected