
Всем привет, в этой статье я хотел бы рассказать о создании скрипта для рерайта постов 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 модель для ответа на новые комментарии в постах бизнес аккаунта.
Автор: Dannyk1