feat: add omml api

This commit is contained in:
liuyuanchuang
2026-02-04 12:35:14 +08:00
parent 27f25d9f4d
commit 69f9a70ae5
5 changed files with 174 additions and 47 deletions

View File

@@ -1,4 +1,4 @@
"""Request and response schemas for markdown to DOCX conversion endpoint."""
"""Request and response schemas for format conversion endpoints."""
from pydantic import BaseModel, Field, field_validator
@@ -17,3 +17,23 @@ class MarkdownToDocxRequest(BaseModel):
raise ValueError("Markdown content cannot be empty")
return v
class LatexToOmmlRequest(BaseModel):
"""Request body for LaTeX to OMML conversion endpoint."""
latex: str = Field(..., description="Pure LaTeX formula (without $ or $$ delimiters)")
@field_validator("latex")
@classmethod
def validate_latex_not_empty(cls, v: str) -> str:
"""Validate that LaTeX formula is not empty."""
if not v or not v.strip():
raise ValueError("LaTeX formula cannot be empty")
return v
class LatexToOmmlResponse(BaseModel):
"""Response body for LaTeX to OMML conversion endpoint."""
omml: str = Field("", description="OMML (Office Math Markup Language) representation")

View File

@@ -47,14 +47,3 @@ class ImageOCRResponse(BaseModel):
layout_info: LayoutInfo = Field(default_factory=LayoutInfo)
recognition_mode: str = Field("", description="Recognition mode used: mixed_recognition or formula_recognition")
class LatexToOmmlRequest(BaseModel):
"""Request body for LaTeX to OMML conversion endpoint."""
latex: str = Field(..., description="Pure LaTeX formula (without $ or $$ delimiters)")
class LatexToOmmlResponse(BaseModel):
"""Response body for LaTeX to OMML conversion endpoint."""
omml: str = Field("", description="OMML (Office Math Markup Language) representation")