{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "0bc42803", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "\n", "data = pd.read_csv('src/dataset/rbc/channel_rbc_news_posts.csv')" ] }, { "cell_type": "code", "execution_count": 21, "id": "4400213e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 4847\n", "mean 2025-09-14 12:58:58.353620736\n", "min 2025-04-15 00:00:00\n", "25% 2025-08-08 00:00:00\n", "50% 2025-09-23 00:00:00\n", "75% 2025-10-28 00:00:00\n", "max 2025-12-03 00:00:00\n", "Name: message_dt, dtype: object" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data[\"message_dt\"] = pd.to_datetime(data[\"message_dt\"])\n", "data = data.sort_values(\"message_dt\")\n", "data[\"message_dt\"].describe()" ] }, { "cell_type": "code", "execution_count": 38, "id": "ed3c14d3", "metadata": {}, "outputs": [], "source": [ "data = data.sort_values(\"views\", ascending=False)" ] }, { "cell_type": "code", "execution_count": 41, "id": "85a0528d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'▪️Роскомнадзор сообщил об ограничении звонков через Telegram и *WhatsApp.\\n\\n«По данным правоохранительных органов и многочисленных обращений граждан, иностранные мессенджеры Telegram и WhatsApp стали основными голосовыми сервисами, используемыми для обмана и вымогательства денег, вовлечения в диверсионную и террористическую деятельность российских граждан», – пояснили РБК в пресс-службе ведомства. \\n\\nНикаких иных ограничений функционала в Telegram и WhatsApp не вводится, подчеркивают в Роскомнадзоре. \\n\\n*WhatsApp принадлежит Meta, деятельность которой признана в России и экстремистской и запрещена. \\n\\n🐚 Картина дня — в телеграм-канале РБК'" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.iloc[0][\"content\"]" ] }, { "cell_type": "code", "execution_count": 34, "id": "8458b416", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGdCAYAAAA44ojeAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAPgpJREFUeJzt3QmYFNW58PG32YZ9l01AUIgbiBqXuCTRyJUoUcnNpvEmfCZXo2KiMY8LuXEhJoFsXmJCQM01mEQlJhEXFJSgArLv+74OyzCsszLDMFPfc2roppfq6qruqu7TXf/f8/T0dHd11alTp6reOkt1yDAMQwAAADTSJNcJAAAAiEeAAgAAtEOAAgAAtEOAAgAAtEOAAgAAtEOAAgAAtEOAAgAAtEOAAgAAtNNMNNPQ0CD79u2Tdu3aSSgUynVyAACAA+q+rxUVFdKrVy9p0qRJ4QUoKjjp06dPrpMBAADSUFxcLL1795aCC1BUzUl4Bdu3b5/r5AAAAAfKy8vNCobwebzgApRws44KTghQAADIL151z6CTLAAA0A4BCgAA0A4BCgAA0A4BCgAA0A4BCgAA0A4BCgAA0A4BCgAA0A4BCgAA0A4BCgAAyP8AZc6cOXLLLbeYPwak7hb35ptvRj6rq6uTxx57TAYPHixt2rQxp/n2t79t/r4OAACAbwFKVVWVDBkyRCZMmJDwWXV1tSxfvlyeeOIJ8/mNN96QTZs2ya233up2MQAAIMBChvp95HS/HArJ1KlTZcSIEUmnWbJkiVxxxRWya9cu6du3r6MfG+rQoYOUlZXxWzwAAOQJr8/fvvdBUQlVgUzHjh0tP6+trTVXKvqRKyVlNTJp9jY5WnUiZ2kAAAA+Byg1NTVmn5Q77rgjaTQ1duxYM+IKP9RPNefKN19cKOOmb5Qfvr4yZ2kAAAA+Biiqw+zXv/51US1IEydOTDrd6NGjzVqW8KO4uDhn22X7oSrzec7mgzlLAwAAEGnmZ3Ci+p18+OGHtm1RRUVF5gMAAMC3ACUcnGzZskU++ugj6dKli9eLAAAABc51gFJZWSlbt26NvN6xY4esXLlSOnfuLD179pSvfvWr5hDjadOmSX19vZSUlJjTqc9btGjhbeoBAEBBch2gLF26VK6//vrI64cffth8HjlypDz99NPy9ttvm68vvvjimO+p2pTrrrsu8xQDAICC5zpAUUGG3a1TMritCgAAgInf4rFAiAUAQG4RoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoFgw+DljAAByigAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAABohwAFAADkf4AyZ84cueWWW6RXr14SCoXkzTffjPncMAx58sknpWfPntKqVSsZOnSobNmyxcs0AwCAAuc6QKmqqpIhQ4bIhAkTLD//1a9+Jc8995xMmjRJFi1aJG3atJFhw4ZJTU2NF+kFAAAB0MztF2666SbzYUXVnowfP15+8pOfyG233Wa+95e//EW6d+9u1rTcfvvtmacYAAAUPE/7oOzYsUNKSkrMZp2wDh06yJVXXikLFiyw/E5tba2Ul5fHPHRWWlEjk2Zvk8OVtUmn2VpaIS/O2S41dfVZTRsAAIGtQbGjghNF1ZhEU6/Dn8UbO3asjBkzRvLF/3tpiazfXy4fbSyVv3/vKstphj47x3wur6mTH914bpZTCABA/sv5KJ7Ro0dLWVlZ5FFcXCw6U8GJsmjHkZTTrth9LAspAgCg8HgaoPTo0cN8PnDgQMz76nX4s3hFRUXSvn37mAcAAAg2TwOU/v37m4HIrFmzIu+pPiVqNM9VV1k3hwAAAGTcB6WyslK2bt0a0zF25cqV0rlzZ+nbt6889NBD8rOf/UwGDhxoBixPPPGEec+UESNGuF0UAAAIKNcBytKlS+X666+PvH744YfN55EjR8rkyZPl0UcfNe+Vcs8998ixY8fk2muvlRkzZkjLli29TTkAAChYrgOU6667zrzfSTLq7rI//elPzUfQGZI8nwAAgMajeAAAAOIRoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoAAAAO0QoPjI5ieLAACADQIUAACgHQIUAACg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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "plt.plot(data[\"message_dt\"].diff().dt.days.values);" ] }, { "cell_type": "code", "execution_count": 25, "id": "eaf90115", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "plt.hist(data[\"message_dt\"], bins=data[\"message_dt\"].nunique());" ] }, { "cell_type": "code", "execution_count": 18, "id": "b144db75", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
message_dtmessage_idchannel_idcontentviewsoriginal_author
\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: [message_dt, message_id, channel_id, content, views, original_author]\n", "Index: []" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.loc[data[\"message_dt\"] == pd.to_datetime(\"2025-04-20\")]" ] }, { "cell_type": "code", "execution_count": null, "id": "396744bd", "metadata": {}, "outputs": [], "source": [ "questions = [\n", " \"Как повел себя российский рынок 13 марта 2025 года?\",\n", " \"Как повел себя российский рынок после слов Путина о соглашении прекратить боевые действия на Украине?\",\n", "]\n", "\n", "answers = [\n", " \"\"\n", "]\n", "\n", "links_to_answers = [\n", " \"https://t.me/rbc_news/113818\",\n", " \"https://t.me/rbc_news/113818\",\n", " \n", "]" ] }, { "cell_type": "code", "execution_count": null, "id": "f15ce769", "metadata": {}, "outputs": [], "source": [ "# Установка зависимостей (если нужно)\n", "# !pip install openai pydantic python-dotenv\n" ] }, { "cell_type": "code", "execution_count": null, "id": "98abb469", "metadata": {}, "outputs": [], "source": [ "import os\n", "from dotenv import load_dotenv\n", "from openai import OpenAI\n", "from pydantic import BaseModel, Field\n", "from typing import Literal\n", "import json\n", "\n", "load_dotenv()\n", "\n", "# Инициализация клиента OpenRouter\n", "# Получите API ключ на https://openrouter.ai/\n", "OPENROUTER_API_KEY = os.getenv(\"OPENROUTER_API_KEY\")\n", "OPENROUTER_BASE_URL = \"https://openrouter.ai/api/v1\"\n", "\n", "client = OpenAI(\n", " base_url=OPENROUTER_BASE_URL,\n", " api_key=OPENROUTER_API_KEY,\n", ")\n" ] }, { "cell_type": "code", "execution_count": null, "id": "59c6a4e5", "metadata": {}, "outputs": [], "source": [ "# Определение структурированных моделей для вывода\n", "\n", "class MainMessage(BaseModel):\n", " \"\"\"Основная мысль/сообщение новостного поста\"\"\"\n", " main_topic: str = Field(\n", " description=\"Основная тема или предмет новостного поста (например: 'Выпуск iPhone 17', 'Высказывание политика А о политике Б')\"\n", " )\n", " key_entities: list[str] = Field(\n", " description=\"Ключевые сущности, упомянутые в посте (люди, организации, события, даты)\"\n", " )\n", " main_fact_or_statement: str = Field(\n", " description=\"Основной факт или утверждение, содержащееся в посте\"\n", " )\n", " context: str = Field(\n", " description=\"Дополнительный контекст, необходимый для понимания основной мысли\"\n", " )\n", "\n", "\n", "class ClassificationResult(BaseModel):\n", " \"\"\"Результат классификации новостного поста\"\"\"\n", " is_unambiguous: bool = Field(\n", " description=\"Является ли основная тема поста однозначной при поиске. True - однозначная (факт), False - неоднозначная (могут быть противоречивые ответы)\"\n", " )\n", " confidence: float = Field(\n", " description=\"Уверенность в классификации от 0.0 до 1.0\",\n", " ge=0.0,\n", " le=1.0\n", " )\n", " reasoning: str = Field(\n", " description=\"Обоснование классификации: почему пост считается однозначным или неоднозначным\"\n", " )\n", " search_difficulty: Literal[\"easy\", \"medium\", \"hard\"] = Field(\n", " description=\"Сложность поиска: easy - простой факт, medium - требует контекста, hard - неоднозначный, может иметь противоречивые ответы\"\n", " )\n" ] }, { "cell_type": "code", "execution_count": null, "id": "70a3b05e", "metadata": {}, "outputs": [], "source": [ "\n" ] }, { "cell_type": "code", "execution_count": null, "id": "bb6a49ed", "metadata": {}, "outputs": [], "source": [ "\n" ] }, { "cell_type": "code", "execution_count": null, "id": "f972cb96", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.3" } }, "nbformat": 4, "nbformat_minor": 5 }