| from .backend import query | |
| from .journal import Journal | |
| from .utils.config import StageConfig | |
| def journal2report(journal: Journal, task_desc: dict, rcfg: StageConfig): | |
| """ | |
| Generate a report from a journal, the report will be in markdown format. | |
| """ | |
| report_input = journal.generate_summary(include_code=True) | |
| system_prompt_dict = { | |
| "Role": "You are a research assistant that always uses concise language.", | |
| "Goal": "The goal is to write a technical report summarising the empirical findings and technical decisions.", | |
| "Input": "You are given a raw research journal with list of design attempts and their outcomes, and a task description.", | |
| "Output": [ | |
| "Your output should be a single markdown document.", | |
| "Your report should have the following sections: Introduction, Preprocessing, Modellind Methods, Results Discussion, Future Work", | |
| "You can include subsections if needed.", | |
| ], | |
| } | |
| context_prompt = ( | |
| f"Here is the research journal of the agent: <journal>{report_input}<\\journal>, " | |
| f"and the task description is: <task>{task_desc}<\\task>." | |
| ) | |
| return query( | |
| system_message=system_prompt_dict, | |
| user_message=context_prompt, | |
| model=rcfg.model, | |
| temperature=rcfg.temp, | |
| max_tokens=4096, | |
| ) | |