diff --git a/src/ppt/graph/ppt_composer_node.py b/src/ppt/graph/ppt_composer_node.py index df7a0f8..9c0e692 100644 --- a/src/ppt/graph/ppt_composer_node.py +++ b/src/ppt/graph/ppt_composer_node.py @@ -21,7 +21,7 @@ def ppt_composer_node(state: PPTState): model = get_llm_by_type(AGENT_LLM_MAP["ppt_composer"]) ppt_content = model.invoke( [ - SystemMessage(content=get_prompt_template("ppt/ppt_composer")), + SystemMessage(content=get_prompt_template("ppt/ppt_composer", locale=state.get("locale", "en-US"))), HumanMessage(content=state["input"]), ], ) diff --git a/src/ppt/graph/state.py b/src/ppt/graph/state.py index 9c32457..d8bdb86 100644 --- a/src/ppt/graph/state.py +++ b/src/ppt/graph/state.py @@ -10,7 +10,7 @@ class PPTState(MessagesState): # Input input: str = "" - + locale: str = "" # Output generated_file_path: str = "" diff --git a/src/server/app.py b/src/server/app.py index 01da160..12e7eff 100644 --- a/src/server/app.py +++ b/src/server/app.py @@ -751,7 +751,7 @@ async def generate_ppt(request: GeneratePPTRequest): report_content = request.content print(report_content) workflow = build_ppt_graph() - final_state = workflow.invoke({"input": report_content}) + final_state = workflow.invoke({"input": report_content, "locale": request.locale}) generated_file_path = final_state["generated_file_path"] with open(generated_file_path, "rb") as f: ppt_bytes = f.read() diff --git a/src/server/chat_request.py b/src/server/chat_request.py index 3dc18f4..8fe81ce 100644 --- a/src/server/chat_request.py +++ b/src/server/chat_request.py @@ -104,6 +104,9 @@ class GeneratePodcastRequest(BaseModel): class GeneratePPTRequest(BaseModel): content: str = Field(..., description="The content of the ppt") + locale: str = Field( + "en-US", description="Language locale for the conversation (e.g., en-US, zh-CN)" + ) class GenerateProseRequest(BaseModel):