diff --git a/saist/latex/__init__.py b/saist/latex/__init__.py index 17746d0..051f833 100644 --- a/saist/latex/__init__.py +++ b/saist/latex/__init__.py @@ -33,7 +33,7 @@ def run(self, args): print("\nšŸ“ Generating PDF report...") rc = subprocess.run( - ["latexmk", "-pdf", f"-outdir={self._DEFAULT_OUTPUT_DIR}", tex_path], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, + ["latexmk", "-pdf", "-f", "-interaction=nonstopmode", f"-outdir={self._DEFAULT_OUTPUT_DIR}", tex_path], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, ).returncode if rc != 0: diff --git a/saist/latex/tex/report.tex.jinja b/saist/latex/tex/report.tex.jinja index 6d763bf..2df1518 100644 --- a/saist/latex/tex/report.tex.jinja +++ b/saist/latex/tex/report.tex.jinja @@ -1,5 +1,7 @@ \input{latex/tex/style.tex} +\extrafloats{1000} + \begin{document} \begin{titlepage} diff --git a/saist/llm/adapters/__init__.py b/saist/llm/adapters/__init__.py index a7209d5..b6f32ab 100644 --- a/saist/llm/adapters/__init__.py +++ b/saist/llm/adapters/__init__.py @@ -19,17 +19,17 @@ def get_model_options(self): async def prompt_structured(self, system_prompt: str, user_prompt: str, response_format: Type[BaseModel], tool_fns: Optional[List[Callable]] = None) -> BaseModel: tools = [Tool(fn) for fn in tool_fns] if tool_fns else [] - agent = Agent(self.model, result_type = response_format, tools=tools, system_prompt=system_prompt) + agent = Agent(self.model, output_type = response_format, tools=tools, system_prompt=system_prompt) response = await agent.run( user_prompt=user_prompt, model_settings=self.get_model_options()) - logger.getChild(self.__class__.__name__).debug("prompt_structured response", extra={'response_data': response.data, 'prompt': user_prompt}) - return response.data + logger.getChild(self.__class__.__name__).debug("prompt_structured response", extra={'response_data': response.output, 'prompt': user_prompt}) + return response.output async def prompt(self, system_prompt: str, user_prompt: str, tool_fns: Optional[List[Callable]] = None) -> str | None: tools = [Tool(fn) for fn in tool_fns] if tool_fns else [] agent = Agent(self.model, system_prompt=system_prompt, tools=tools) response = await agent.run(user_prompt=user_prompt, model_settings=self.get_model_options()) - logger.getChild(self.__class__.__name__).debug("prompt response", extra={'response_data': response.data, 'prompt': user_prompt}) - return response.data + logger.getChild(self.__class__.__name__).debug("prompt response", extra={'response_data': response.output, 'prompt': user_prompt}) + return response.output def generate_agent(self, system_prompt: str = None, tool_fns: Optional[List[Callable]] = None): tools = [Tool(fn) for fn in tool_fns] if tool_fns else [] diff --git a/saist/util/argparsing.py b/saist/util/argparsing.py index 6683336..9e9d13a 100644 --- a/saist/util/argparsing.py +++ b/saist/util/argparsing.py @@ -220,7 +220,7 @@ def __call__(self, parser, namespace, values, option_string=None): parser.add_argument( "--project-name", type=str, help = "Project name for pdf output", - envvar="SAIST_PROJECT_NAME", action=EnvDefault, required=False, default="" + envvar="SAIST_PROJECT_NAME", action=EnvDefault, required=False, default=None ) parser.add_argument(