
Всем привет, в этой статье я хотел бы рассказать о создании скрипта для рерайта постов Telegram каналов с помощью LLM модели и их публикации у себя на канале.
Первое, что нам потребуется это локально поднятая LLM модель, для обработки постов — их видоизменения.
Второе сам скрипт.
Импортируем нужные библиотеки:
from telethon import TelegramClient from telethon import events, sync import re from bs4 import BeautifulSoup import requests from g4f.client import Client from openai import OpenAI
Прописываем client для взаимодействия с API Telegram, а именно получение постов с каналов. Важно прописать правильные параметры, иначе можно получить бан от Telegram вашего аккаунта — лучше использовать не основной аккаунт.
clients = TelegramClient('my-client', api_id, api_hash')
Добавляем клиента для обращения к LLM модели, для преобразования текста:
client = OpenAI( base_url='http://localhost:11434/v1', api_key='******', )
Добавляем ивент обработчика, который будет в режиме реального времени обрабатывать посты с канала:
@clients.on(events.NewMessage(chats=channel_username)) async def handler(event): message = event.message.message matches = pattern.findall(message) if matches: for match in matches: print(match)
Получаем последний добавленный пост с канала:
result_content_post = soup.find("meta", {"name": "twitter:description"}).attrs['content'] print(result_content_post)
Обращаемся к LLM модели для преобразования поста:
response = client.chat.completions.create( model="LLM", messages=[{"role": "user", "content": f"Сделай рерайт текста: {result_content_post}"}], )
Для более удобной работы скрипта — запускаем его из docker контейнера, ниже приведен Dockerfile:
FROM python:3.12 ADD main.py . ADD my-client.session . RUN pip install telethon bs4 requests g4f curl_cffi lxml nest-asyncio openai CMD ["python", "-u", "./main.py"]
Данный вариант применения LLM модели в Telegram как один из множества вариации ее использования, можно внедрить LLM модель для ответа на новые комментарии в постах бизнес аккаунта.
ссылка на оригинал статьи https://habr.com/ru/articles/839640/
Добавить комментарий