import asyncio import anthropic from ..config import settings def _create_client() -> anthropic.Anthropic: return anthropic.Anthropic(api_key=settings.anthropic_api_key) async def generate_text(prompt: str) -> str: def _call() -> str: client = _create_client() message = client.messages.create( model="claude-sonnet-4-6", max_tokens=1024, messages=[{"role": "user", "content": prompt}], ) return message.content[0].text return await asyncio.to_thread(_call) async def translate_text(original_prompt: str, generated_text: str, translate_prompt: str) -> str: def _call() -> str: client = _create_client() message = client.messages.create( model="claude-sonnet-4-6", max_tokens=1024, messages=[ {"role": "user", "content": original_prompt}, {"role": "assistant", "content": generated_text}, {"role": "user", "content": translate_prompt}, ], ) return message.content[0].text return await asyncio.to_thread(_call)