Ling / tasks /grammar_checking.py
Nam Fam
update files
ea99abb
from typing import Optional
from llms import LLM
def grammar_checking(text: str, model: str, custom_instructions: Optional[str] = None, use_llm: bool = True) -> str:
"""Grammar and spelling correction using LLM or traditional method"""
if not text or not text.strip():
return "Please enter input text."
if use_llm:
return _grammar_checking_with_llm(text, model, custom_instructions)
else:
return _grammar_checking_with_traditional(text, model)
def _grammar_checking_with_llm(text: str, model: str, custom_instructions: Optional[str]) -> str:
try:
llm = LLM(model=model)
prompt = (
(custom_instructions + "\n") if custom_instructions else ""
) + f"Check and correct grammar and spelling for the following text.\nText: {text}\nCorrected:"
result = llm.generate(prompt)
return result.strip()
except Exception as e:
print(f"Error in LLM grammar checking: {str(e)}")
return "Oops! Something went wrong. Please try again later."
def _grammar_checking_with_traditional(text: str, model: str) -> str:
# Placeholder for traditional grammar checking (could use LanguageTool or similar)
return "[Traditional grammar checking is not implemented. Please use LLM mode.]"