Itinai.com compare offices of it companies image should be ta 01eb8ba9 8aa4 43d9 83c3 c0896dfc5afb 0

Руководство по созданию интеллектуальных параллельных рабочих процессов с использованием Parsl для выполнения AI-агентов с несколькими инструментами

Itinai.com compare offices of it companies image should be ta 01eb8ba9 8aa4 43d9 83c3 c0896dfc5afb 0

Руководство по реализации интеллектуальных параллельных рабочих процессов в Parsl для выполнения многоинструментальных ИИ-агентов

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

Обзор реализации

Для начала необходимо установить необходимые библиотеки и импортировать модули для нашего рабочего процесса. Parsl позволяет нам настроить локальный ThreadPoolExecutor для параллельного выполнения задач, что значительно увеличивает эффективность работы.

!pip install -q parsl transformers accelerate

Импортируем нужные модули:

import math, json, time, random
from typing import List, Dict, Any
import parsl
from parsl.config import Config
from parsl.executors import ThreadPoolExecutor
from parsl import python_app

Теперь мы можем загрузить конфигурацию Parsl с локальным ThreadPoolExecutor, который будет обрабатывать до восьми потоков одновременно.

Определение вычислительных задач

Далее мы определим несколько функций, которые будут выполняться асинхронно в рамках рабочего процесса нашего агента. Например, мы можем создать функцию для вычисления чисел Фибоначчи:

@python_app
def calc_fibonacci(n: int) -> Dict[str, Any]:
    def fib(k):
        a, b = 0, 1
        for _ in range(k): a, b = b, a + b
        return a
    t0 = time.time(); val = fib(n); dt = time.time() - t0
    return {"task": "fibonacci", "n": n, "value": val, "secs": round(dt, 4)}

Кроме этого, мы можем реализовать функции для извлечения ключевых слов и имитации вызовов внешних API, что станет основой для нашего многоинструментального ИИ-агента.

Генерация резюме

Чтобы обобщить результаты, мы реализуем функцию, использующую модель Hugging Face для создания кратких резюме:

def tiny_llm_summary(bullets: List[str]) -> str:
    from transformers import pipeline
    gen = pipeline("text-generation", model="sshleifer/tiny-gpt2")
    prompt = "Summarize these agent results clearly:\n- " + "\n- ".join(bullets) + "\nConclusion:"
    out = gen(prompt, max_length=160, do_sample=False)[0]["generated_text"]
    return out.split("Conclusion:", 1)[-1].strip()

Планирование и выполнение

Функция планирования позволяет нам сопоставить цели пользователя с вызовами инструментов:

def plan(user_goal: str) -> List[Dict[str, Any]]:
    intents = []
    if "fibonacci" in user_goal.lower():
        intents.append({"tool":"calc_fibonacci", "args":{"n":35}})
    if "primes" in user_goal.lower():
        intents.append({"tool":"count_primes", "args":{"limit":100_000}})
    intents += [
        {"tool":"simulate_tool", "args":{"name":"vector_db_search","payload":{"q":user_goal}}},
        {"tool":"simulate_tool", "args":{"name":"metrics_fetch","payload":{"kpi":"latency_ms"}}},
        {"tool":"extract_keywords", "args":{"text":user_goal}}
    ]
    return intents

Такой структурированный подход позволяет нам создать комплексный план выполнения для ИИ-агента.

Финальное выполнение

В заключительном блоке мы определяем пример цели и запускаем агента:

if __name__ == "__main__":
    goal = ("Analyze fibonacci(35) performance, count primes under 100k, "
            "and prepare a concise executive summary highlighting insights for planning.")
    result = run_agent(goal)
    print("\n=== Agent Bullets ===")
    for b in result["bullets"]: print("•", b)
    print("\n=== LLM Summary ===\n", result["summary"])
    print("\n=== Raw JSON ===\n", json.dumps(result["raw"], indent=2)[:800], "...")

Эта реализация демонстрирует, как асинхронная модель приложений Parsl может эффективно организовывать разнообразные рабочие нагрузки параллельно, сочетая численный анализ, обработку текста и имитацию внешних сервисов в едином потоке. Интеграция небольшой модели ИИ на финальном этапе позволяет преобразовать структурированные результаты в естественный язык, показывая синергию между параллельными вычислениями и ИИ-моделями.

Заключение

Использование библиотеки Parsl для создания параллельных рабочих процессов открывает новые горизонты для автоматизации бизнес-процессов. Это не только ускоряет выполнение задач, но и позволяет более эффективно использовать ресурсы. Инвестируя в такие технологии, вы можете значительно повысить производительность вашей команды и улучшить качество принимаемых решений.

Для получения полного кода и дополнительных материалов посетите наш репозиторий на GitHub, где вы найдете учебные пособия, коды и блокноты.

Новости в сфере искусственного интеллекта