Julep AI: облачная платформа ИИ для создания многоэтапных интеллектуальных рабочих процессов с использованием DSL

Общее введение

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

Julep AI представляет новый язык доменов (Domain Specific Language, DSL) и сервер для управления искусственным интеллектом и многоэтапными задачами. Этот DSL позволяет пользователям более интуитивно описывать и управлять сложными рабочими процессами без необходимости писать большие объемы традиционного кода. Облачная платформа Julep AI берет на себя выполнение этих задач, обеспечивая их надежность и эффективность.

Julep AI:使用DSL构建多步骤智能体工作流的AI云平台

 

Список функций

  • Постоянный агент искусственного интеллектаИнтеллигенты способны запоминать контекст и информацию, чтобы поддерживать долгосрочное взаимодействие.
  • полная сессия: Отслеживайте прошлые взаимодействия, чтобы обеспечить индивидуальный ответ.
  • многоэтапная задача: Построение сложных многоступенчатых процессов с помощью циклов и решений.
  • управление задачами: Справляется с задачами, которые могут выполняться в течение длительного времени, и обеспечивает их успешное завершение.
  • Встроенные инструменты и интеграция с API: Поддерживает использование встроенных инструментов и внешних API для расширения функциональности интеллектов.
  • самовосстанавливающийся: Автоматическое повторение неудачных действий и повторная отправка сообщения, чтобы обеспечить бесперебойное выполнение задания.
  • RAG (Retrieval Augmentation Generation): Используйте хранилище документов для создания системы поиска и использования собственных данных.

 

Использование помощи

Процесс установки

  1. Зарегистрируйтесь для получения учетной записи: Посетите сайт Julep AI, нажмите на кнопку "Регистрация" и заполните необходимую информацию для завершения регистрации.
  2. Получить ключ API: После входа в систему найдите в панели пользователя опцию генерации ключа API, чтобы сгенерировать и сохранить ключ API.
  3. Скачать SDK: Загрузите соответствующий SDK (например, Python, Node.js и т.д.) в соответствии с требованиями платформы и установите его в соответствии с документацией.

Руководство по использованию

Создание интеллекта

  1. Определение интеллекта: В панели управления нажмите "Создать разведку" и заполните имя и описание разведки.
  2. модель конфигурации: Выберите подходящую модель ИИ (например, GPT-4) и задайте параметры по умолчанию (например, температуру, максимальное количество жетонов и т.д.).
  3. Добавить инструменты: Добавьте необходимые инструменты для интеллекта, такие как веб-поиск, вызовы API и т. д.

Определение многоэтапных процессов

  1. Запись файлов YAML: В панели управления напишите многоэтапный процесс, используя YAML для определения деревьев решений, циклов и параллельного выполнения.
  2. Загрузка файлов: Загрузите написанный YAML-файл на платформу и протестируйте его.
  3. Процесс развертывания: После прохождения теста нажмите кнопку "Развернуть", чтобы перевести процесс в режим онлайн.

Быстрое прототипирование

  1. Создайте новый проект: В панели управления нажмите "Новый проект", введите название и описание проекта.
  2. Добавить функциональный модуль: Выберите и добавьте необходимые функциональные модули (например, RAG, управление статусом и т. д.).
  3. Тестирование и итерации: Тестирование на платформе, настройка и оптимизация функциональных модулей в режиме реального времени.

Подготовка к производству

  1. Инфраструктура конфигурации: В панели управления настройте параметры инфраструктуры, такие как автомасштабирование, балансировка нагрузки и т. д.
  2. Настройка обработки ошибокОпределите механизмы обработки ошибок, чтобы обеспечить автоматическое повторное выполнение заданий в случае неудачи.
  3. Онлайн-проекты: После завершения настройки нажмите кнопку "Go Live", чтобы запустить проект в производство.

Модульная конструкция

  1. Выберите модуль: На панели управления найдите и выберите нужный модуль (например, внешнее API-соединение, переключение LLM и т.д.).
  2. интеграция с помощью перетаскивания: Интеграция модулей в проекты с помощью интерфейса drag-and-drop.
  3. Тестирование и оптимизация: Тестирование функциональности модуля в режиме реального времени для оптимизации и настройки.

Неограниченное расширение

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

Перспективы развития

  1. Добавить новую модель: На панели управления нажмите "Добавить новую модель", чтобы выбрать и настроить новую модель AI.
  2. Интеграция новых инструментов: Ознакомьтесь с новыми инструментами, предлагаемыми платформой, выберите и интегрируйте их в существующие проекты.
  3. Тестирование и развертывание: Тестирование новых моделей и инструментов для обеспечения совместимости и стабильности, а затем развертывание в реальном времени.

 

пример задания

Julep хорошо подходит для приложений, требующих использования ИИ, выходящего за рамки простых моделей реагирования на реплики.

Быстрый пример

Представьте себе исследовательский ИИ-агент, который может выполнять следующие действия:

  • Выберите тему
  • 30 поисковых запросов на эту тему
  • Одновременный поиск в Интернете
  • Краткие результаты
  • Отправить резюме в Discord

В Julep это будет отдельная задача, 80 строк кода, а затем запуск на полном хостинге - все это делается независимо. Все шаги выполняются на собственных серверах Julep, так что вам не придется ничего делать.

Это хороший пример:

name: Research Agent
# Optional: Define the input schema for the task
input_schema:
type: object
properties:
topic:
type: string
description: The main topic to research
num_questions:
type: integer
description: The number of search queries to generate
# Define the tools that the agent can use
tools:
- name: web_search
type: integration
integration:
provider: brave
setup:
api_key: <your-brave-api-key>
- name: discord_webhook
type: api_call
api_call:
url: https://discord.com/api/webhooks/<your-webhook-id>/<your-webhook-token>
method: POST
headers:
Content-Type: application/json
# Special variables:
# - inputs: for accessing the input to the task
# - outputs: for accessing the output of previous steps
# - _: for accessing the output of the previous step
# Define the main workflow
main:
- prompt:
- role: system
content: >-
You are a research assistant.
Generate {{inputs[0].num_questions|default(30, true)}} diverse search queries related to the topic:
{{inputs[0].topic}}

Write one query per line.
unwrap: true
# Evaluate the search queries using a simple python expression
- evaluate:
search_queries: "_.split(NEWLINE)"
# Run the web search in parallel for each query
- over: "_.search_queries"
map:
tool: web_search
arguments:
query: "_"
parallelism: 5
# Collect the results from the web search
- evaluate:
search_results: _
# Summarize the results
- prompt:
- role: system
content: >
You are a research summarizer. Create a comprehensive summary of the following research results on the topic {{inputs[0].topic}}.
The summary should be well-structured, informative, and highlight key findings and insights. Keep the summary concise and to the point.
The length of the summary should be less than 150 words.
Here are the search results:
{{_.search_results}}
  unwrap: true
settings:
model: gpt-4o-mini
- evaluate:
discord_message: |-
f'''
**Research Summary for {inputs[0].topic}**
{_}
'''

# Send the summary to Discord
- tool: discord_webhook
arguments:
json_: 
content: _.discord_message[:2000] # Discord has a 2000 character limit

В этом примере Julep автоматически управляет параллельным выполнением, повторяет неудачные шаги, повторно отправляет запросы API и обеспечивает надежное выполнение задачи до ее завершения.

Образец результатов вывода

Он выполняется в течение 30 секунд и выдает следующие результаты:

Краткие сведения об исследованиях в области искусственного интеллекта

Краткое изложение результатов исследований в области искусственного интеллекта (ИИ)

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

Основные выводы

  • Определение и сфера применения искусственного интеллекта ::
    Искусственный интеллект - это область информатики, которая занимается созданием систем, способных выполнять задачи, требующие человеческого интеллекта, включая обучение, рассуждения и решение проблем (Википедия). Она охватывает множество подобластей, включая машинное обучение, обработку естественного языка, робототехнику и компьютерное зрение.
  • Влияние и применение ::
    Технологии искусственного интеллекта внедряются во многие области для повышения эффективности и производительности. Области применения варьируются от самоуправляемых автомобилей и медицинской диагностики до автоматизации обслуживания клиентов и финансового прогнозирования (OpenAI). Стремление Google сделать так, чтобы ИИ работал для всех, подчеркивает его потенциал значительно улучшить повседневную жизнь, повысив удобство использования на всех платформах (Google AI).
  • этические соображения ::
    Продолжается дискуссия об этических последствиях ИИ, в том числе о проблемах конфиденциальности, предвзятости и ответственности в процессе принятия решений. Была подчеркнута необходимость создания системы, обеспечивающей безопасное и ответственное использование технологий ИИ (OpenAI).
  • Механизмы обучения ::
    Системы искусственного интеллекта используют различные механизмы обучения, такие как контролируемое обучение, неконтролируемое обучение и обучение с подкреплением. Эти методы позволяют ИИ повысить эффективность работы за счет изучения прошлого опыта и данных (Википедия). Разница между контролируемым и неконтролируемым обучением очень важна: контролируемое обучение опирается на маркированные данные, в то время как неконтролируемое обучение распознает паттерны без заранее определенных меток (неконтролируемое).
  • будущее направление ::
    Ожидается, что будущие разработки в области ИИ будут направлены на повышение интерпретируемости и прозрачности систем ИИ, чтобы они могли принимать обоснованные решения и действия (OpenAI). Также предпринимаются усилия, чтобы сделать системы ИИ более доступными и удобными для пользователей, способствуя их более широкому внедрению различными людьми и отраслями (Google AI).

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

Процесс развертывания Python

Чтобы начать использовать Julep, установите его с помощью pip:

pip install julep

Получите свой ключ API здесь.

### Step 0: Setup

import time
import yaml
from julep import Julep # or AsyncJulep

client = Julep(api_key="your_julep_api_key")

### Step 1: Create an Agent

agent = client.agents.create(
name="Storytelling Agent",
model="claude-3.5-sonnet",
about="You are a creative storyteller that crafts engaging stories on a myriad of topics.",
)

### Step 2: Create a Task that generates a story and comic strip

task_yaml = """
name: Storyteller
description: Create a story based on an idea.

tools:
- name: research_wikipedia
type: integration
integration:
provider: wikipedia
method: search

main:
# Step 1: Generate plot idea
- prompt:
- role: system
content: You are {{agent.name}}. {{agent.about}}
- role: user
content: >
Based on the idea '{{_.idea}}', generate a list of 5 plot ideas. Go crazy and be as creative as possible. Return your output as a list of long strings inside ```yaml 标签位于您的回复末尾。
展开:true

- 评价:
情节想法:load_yaml(_.split('```yaml')[1].split('```')[0].strip())

# 第二步:从情节思路中提取研究领域
- 迅速的:
- 角色:系统
内容:您是 {{agent.name}}。{{agent.about}}
- 角色:用户
内容: >
以下是一些故事情节的想法:
{% 表示 _.plot_ideas 中的想法 %}
- {{主意}}
{% 结束 %}

为了发展故事情节,我们需要研究情节思路。
我们应该研究什么?写下你认为有趣的情节想法的维基百科搜索查询。
将输出作为 yaml 列表返回```yaml tags at the end of your response.
unwrap: true
settings:
model: gpt-4o-mini
temperature: 0.7

- evaluate:
research_queries: load_yaml(_.split('```yaml')[1].split('```')[0].strip())

# Step 3: Research each plot idea
- foreach:
in: _.research_queries
do:
tool: research_wikipedia
arguments:
query: _

- evaluate:
wikipedia_results: 'NEWLINE.join([f"- {doc.metadata.title}: {doc.metadata.summary}" for item in _ for doc in item.documents])'

# Step 4: Think and deliberate
- prompt:
- role: system
content: You are {{agent.name}}. {{agent.about}}
- role: user
content: |-
Before we write the story, let's think and deliberate. Here are some plot ideas:
{% for idea in outputs[1].plot_ideas %}
- {{idea}}
{% endfor %}

Here are the results from researching the plot ideas on Wikipedia:
{{_.wikipedia_results}}

Think about the plot ideas critically. Combine the plot ideas with the results from Wikipedia to create a detailed plot for a story.
Write down all your notes and thoughts.
Then finally write the plot as a yaml object inside ```yaml 标签位于响应末尾。yaml 对象应具有以下结构:

```yaml
title: "<string>"
characters:
- name: "<string>"
about: "<string>"
synopsis: "<string>"
scenes:
- title: "<string>"
description: "<string>"
characters:
- name: "<string>"
role: "<string>"
plotlines:
- "<string>"```

确保 yaml 有效,且角色和场景不为空。还要注意分号和编写 yaml 的其他问题。
展开:true

- 评价:
情节:“load_yaml(_.split('```yaml')[1].split('```')[0].strip())”
"""

任务 = 客户端.任务.创建(
agent_id=代理.id,
**yaml.safe_load(任务_yaml)
)

### 步骤 3:执行任务

执行 = 客户端.执行.创建(
任务ID=任务ID,
输入={“idea”:“一只学飞的猫”}
)

# 🎉 观看故事和漫画面板的生成
while (result := client.executions.get(execution.id)).status 不在 ['成功', '失败'] 中:
打印(结果.状态,结果.输出)
时间.睡眠(1)

# 📦执行完成后,检索结果
如果 result.status ==“成功”:
打印(结果.输出)
别的:
引发异常(结果.错误)
© заявление об авторских правах

Похожие статьи

Нет комментариев

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