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: {report_input}<\\journal>, " f"and the task description is: {task_desc}<\\task>." ) return query( system_message=system_prompt_dict, user_message=context_prompt, model=rcfg.model, temperature=rcfg.temp, max_tokens=4096, )