Автономный бизнес — Telegram канал + LLM

53f81ee5146fcc9e12bee1d39dacb89b.png

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

© Habrahabr.ru