Julep 项目介绍
Julep 是一个强大的平台,用于创建具备长时间记忆能力的人工智能代理,能够执行复杂的多步骤任务。通过 Julep,用户可以构建能够决策、进行并行处理并与多种外部工具和 API 集成的多步骤任务。
核心功能
- 持久化 AI 代理:Julep 提供的 AI 代理能够在长时间的交互中记住上下文信息。
- 状态会话:能够跟踪过去的互动,提供个性化的响应。
- 多步骤任务:支持复杂的多步骤流程,包含循环和决策。
- 任务管理:处理长期运行的任务,这些任务可以无限期运行。
- 内置工具:在任务中使用内置工具和外部 APIs。
- 自我修复:自动重试失败步骤,重新发送消息,确保任务平稳运行。
- RAG 功能:利用 Julep 的文档存储,构建检索和使用自有数据的系统。
快速示例
设想一个研究 AI 代理,该代理能够:
- 接收一个主题,
- 为该主题想出 100 个搜索查询,
- 并行执行这些网络搜索,
- 总结结果,
- 将总结发送到 Discord。
在 Julep 中,这样的任务只需不到 80 行代码即可完成,且全部步骤在 Julep 自有服务器上自动执行,无需任何人工干预。
以下是一个工作示例:
name: Research Agent
input_schema:
type: object
properties:
topic:
type: string
description: The main topic to research
tools:
- name: web_search
type: integration
integration:
provider: brave
setup:
api_key: BSAqES7dj9d...
- name: discord_webhook
type: api_call
api_call:
url: https://eobuxj02se0n.m.pipedream.net
method: POST
headers:
Content-Type: application/json
main:
- prompt:
- role: system
content: >-
You are a research assistant.
Generate 100 diverse search queries related to the topic:
{{inputs[0].topic}}
Write one query per line.
unwrap: true
- evaluate:
search_queries: "_.split('\n')"
- over: "_.search_queries"
map:
tool: web_search
arguments:
query: "_"
parallelism: 10
- evaluate:
results: "'\n'.join([item.result for item in _])"
- 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 and highlight key findings:
{{_.results}}
unwrap: true
settings:
model: gpt-4o-mini
- tool: discord_webhook
arguments:
content: |-
f'''
**Research Summary for {inputs[0].topic}**
{_}
'''
安装
要开始使用 Julep,可以通过 npm 或 pip 安装:
Node.js:
npm install @julep/sdk
Python:
pip install julep
Python 快速开始
from julep import Julep
client = Julep(api_key="your_julep_api_key")
agent = client.agents.create(
name="Storytelling Agent",
model="claude-3.5-sonnet",
about="You are a creative storyteller."
)
task_yaml = """
name: Storyteller
tools:
- name: research_wikipedia
integration:
provider: wikipedia
main:
- prompt:
- role: system
content: You are {{agent.name}}. {{agent.about}}
- role: user
content: Based on '{{_.idea}}', generate 5 plot ideas.
unwrap: true
- evaluate:
plot_ideas: load_yaml(_.split('```yaml')[1].split('```')[0].strip())
- foreach:
in: _.research_queries
do:
tool: research_wikipedia
arguments:
query: _
- prompt:
- role: system
content: {{agent.about}}
- role: user
content: With plot ideas and Wikipedia results: {{_.results}}, develop story.
unwrap: true
- evaluate:
plot: "load_yaml(_.split('```yaml')[1].split('```')[0].strip())"
"""
Julep 是一个创新平台,帮助用户创建更智能、更持久的 AI 代理,轻松管理复杂任务,提升业务和研究效率。