Пошаговое руководство по созданию AI-сумматора новостей с использованием Streamlit, Groq и Tavily

 Step by Step Guide on How to Build an AI News Summarizer Using Streamlit, Groq and Tavily

“`html

Введение

В этом руководстве мы создадим продвинутый новостной агент, использующий ИИ. Он будет искать последние новости по заданной теме и подводить итоги. Агент выполняет следующие шаги:

  • Поиск: Генерация релевантных поисковых запросов и сбор информации из интернета.
  • Письмо: Извлечение и составление резюме новостей из собранной информации.
  • Анализ: Оценка резюме на предмет фактической точности и предложения по улучшению.
  • Уточнение: Улучшение резюме на основе анализа.
  • Генерация заголовков: Создание подходящих заголовков для каждого резюме новостей.

Настройка окружения

Начнем с настройки переменных окружения, установки необходимых библиотек и импорта зависимостей.

Установка необходимых библиотек

pip install langgraph==0.2.53 langgraph-checkpoint==2.0.6 langgraph-sdk==0.1.36 langchain-groq langchain-community langgraph-checkpoint-sqlite==2.0.1 tavily-python streamlit

Импорт библиотек и установка API ключей

import os
import sqlite3
from langgraph.graph import StateGraph
from langchain_core.messages import SystemMessage, HumanMessage
from langchain_groq import ChatGroq
from tavily import TavilyClient
from langgraph.checkpoint.sqlite import SqliteSaver
from typing import TypedDict, List
from pydantic import BaseModel
import streamlit as st

# Установка API ключей
os.environ['TAVILY_API_KEY'] = "ваш_tavily_ключ"
os.environ['GROQ_API_KEY'] = "ваш_groq_ключ"

Определение состояния агента

Агент хранит информацию о состоянии на протяжении всего рабочего процесса:

  • Тема: Тема, по которой пользователь хочет получить последние новости.
  • Черновики: Первые черновики новостных резюме.
  • Содержание: Исследовательский контент, извлеченный из результатов поиска.
  • Анализ: Рекомендации по улучшению черновиков.
  • Уточненные резюме: Обновленные новостные резюме.
  • Заголовки: Сгенерированные заголовки для каждой статьи.

Определение подсказок

Мы определяем системные подсказки для каждого этапа рабочего процесса агента.

Структурирование запросов и новостей

Используем Pydantic для определения структуры запросов и новостей. Это важно, чтобы запросы были списком строк, а извлеченный контент из веба – также списком строк.

Реализация ИИ-агентов

Мы реализуем несколько узлов:

  1. Узел поиска: Генерирует поисковые запросы и извлекает релевантный контент.
  2. Узел письма: Извлекает резюме новостей из полученного контента.
  3. Узел анализа: Оценивает сгенерированные резюме.
  4. Узел уточнения: Улучшает резюме на основе анализа.
  5. Узел генерации заголовков: Генерирует короткие заголовки для каждого резюме.

Создание интерфейса с Streamlit

Определяем приложение Streamlit для взаимодействия с пользователем.

Заключение

В этом руководстве мы рассмотрели процесс создания новостного агента с использованием ИИ и простого интерфейса Streamlit. Вы можете доработать его, добавив:

  • Лучший интерфейс для улучшения взаимодействия с пользователем.
  • Итеративное уточнение для повышения точности резюме.
  • Поддержание контекста для продолжения обсуждения новостей.

Если вы хотите, чтобы ваша компания развивалась с помощью ИИ, используйте полученные знания. Определите, где возможно применение автоматизации и какие показатели эффективности (KPI) вы хотите улучшить с помощью ИИ.

Если вам нужны советы по внедрению ИИ, пишите нам. Следите за новостями о ИИ в нашем Телеграм-канале или в Twitter.

Попробуйте AI Sales Bot, который помогает отвечать на вопросы клиентов и генерировать контент для отдела продаж.

Узнайте, как ИИ может изменить ваши процессы с решениями от AI Lab. Будущее уже здесь!

“`

Полезные ссылки: