Generator¶
Агент генерации контента из идей.
Возможности¶
- Генерация постов для Telegram
- Адаптация для Instagram
- Автоматические хештеги
- Генерация изображений
- Определение необходимости согласования
Использование¶
from kit.agents.content import ContentAgent
agent = ContentAgent(
llm_client=claude_client,
image_client=dalle_client,
idea_repository=idea_repo,
post_repository=post_repo,
settings=settings
)
# Обработка новых идей
await agent.run()
# Ручное создание
post = await agent.create_manual_post(
topic="AI в бизнесе",
context="Практические кейсы"
)
Workflow генерации¶
async def create_post_from_idea(self, idea):
# 1. Генерация для Telegram
telegram_content = await self.llm.generate_post(
topic=idea.title,
platform="telegram",
tone="casual",
max_length=2000
)
# 2. Адаптация для Instagram
instagram_content = await self.llm.adapt_for_platform(
content=telegram_content,
target_platform="instagram"
)
# 3. Хештеги
hashtags = await self.llm.generate_hashtags(
content=telegram_content,
count=15
)
# 4. Изображение
image_prompt = await self.llm.generate_image_prompt(content)
image_path = await self.image_client.generate_image(image_prompt)
# 5. Создание поста
return await self.post_repository.create(
content_telegram=telegram_content,
content_instagram=instagram_content,
hashtags=hashtags,
media_urls=[image_path],
status="pending_approval" if needs_approval else "approved"
)
Логика согласования¶
def _needs_approval(self, idea):
# Авто-одобрение из доверенных источников
if idea.source_name in settings.auto_approve_sources:
return False
# Авто-одобрение при высокой релевантности
if idea.relevance_score > 0.85:
return False
return True
Генерация вариаций¶
variations = await agent.generate_variations(
content="Исходный текст поста",
count=3
)
# Вернёт 3 варианта текста
LLM Client Interface¶
class LLMClient:
async def generate_post(topic, platform, context, tone, max_length): ...
async def adapt_for_platform(content, source_platform, target_platform): ...
async def generate_hashtags(content, count, platform): ...
async def generate_image_prompt(content, style): ...
async def rewrite(content, style): ...