
“`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 для определения структуры запросов и новостей. Это важно, чтобы запросы были списком строк, а извлеченный контент из веба – также списком строк.
Реализация ИИ-агентов
Мы реализуем несколько узлов:
- Узел поиска: Генерирует поисковые запросы и извлекает релевантный контент.
- Узел письма: Извлекает резюме новостей из полученного контента.
- Узел анализа: Оценивает сгенерированные резюме.
- Узел уточнения: Улучшает резюме на основе анализа.
- Узел генерации заголовков: Генерирует короткие заголовки для каждого резюме.
Создание интерфейса с Streamlit
Определяем приложение Streamlit для взаимодействия с пользователем.
Заключение
В этом руководстве мы рассмотрели процесс создания новостного агента с использованием ИИ и простого интерфейса Streamlit. Вы можете доработать его, добавив:
- Лучший интерфейс для улучшения взаимодействия с пользователем.
- Итеративное уточнение для повышения точности резюме.
- Поддержание контекста для продолжения обсуждения новостей.
Если вы хотите, чтобы ваша компания развивалась с помощью ИИ, используйте полученные знания. Определите, где возможно применение автоматизации и какие показатели эффективности (KPI) вы хотите улучшить с помощью ИИ.
Если вам нужны советы по внедрению ИИ, пишите нам. Следите за новостями о ИИ в нашем Телеграм-канале или в Twitter.
Попробуйте AI Sales Bot, который помогает отвечать на вопросы клиентов и генерировать контент для отдела продаж.
Узнайте, как ИИ может изменить ваши процессы с решениями от AI Lab. Будущее уже здесь!
“`