Skip to content

Latest commit

 

History

History
230 lines (170 loc) · 9.22 KB

README-CN.md

File metadata and controls

230 lines (170 loc) · 9.22 KB

English | 中文翻译

julep

💸🤑 宣布我们的赏金计划: 帮助 Julep 社区修复错误并发布功能,即可获得报酬。更多详情点击这里


在对话历史记录、支持任何LLM、代理式工作流、集成等方面开始您的项目。


探索文档 »

报告错误 · 请求功能 · 加入我们的Discord · X · 领英

NPM Version   PyPI - Version   Docker Image Version   GitHub License


为什么选择 Julep?

我们构建了许多人工智能应用程序,并且了解评估数百种工具、技术和模型,然后使它们良好地配合在一起有多么困难。

问题

  1. 具有记忆、知识和工具的LLM应用的门槛太高了。
  2. 通过多代理框架进行代理行为的控制很难。

特性

  • 设计时状态性: 默认情况下管理对话历史记录。使用简单的标志 rememberrecall 来调整是否保存或检索对话历史记录。
  • 支持用户和代理: 允许创建不同的用户 <-> 代理交互,如 一个代理 <-> 多个用户多个代理 <-> 一个用户等。了解更多
  • 内置RAG: 添加、删除和更新文档,为LLM提供关于用户或代理的上下文,具体取决于您的用例。在此处阅读更多
  • 内置90+工具: 使用Composio本地连接您的AI应用到90+第三方应用程序。toolset.handle_tool_calls(julep_client, session.id, response) 将为您调用和处理工具!查看示例
  • 本地优先: Julep 可以使用 Docker Compose 部署到生产环境。对于 k8s 的支持即将推出!
  • 动态切换LLM: 更新代理以在OpenAI、Anthropic或Ollama之间切换LLM。同时保留状态。
  • 为代理分配任务: 定义异步执行的代理工作流,一个或多个代理无需担心超时或幻觉增多。正在进行中

(*) 即将推出!


指南

您可以在 指南文档 中查看 Julep 的不同功能。

  1. 简单的对话机器人
  2. 搜索代理
  3. RAG 代理
  4. 使用 Composio 的 GitHub 代理
  5. 用于视觉的 GPT 4o

快速开始

选项1:使用 Julep 云

我们的托管平台处于测试版!

获取访问权限:

选项2:在本地安装和运行 Julep

前往 自托管 文档了解如何在本地运行 Julep!

安装

pip install julep

设置 client

from julep import Client
from pprint import pprint
import textwrap
import os

base_url = os.environ.get("JULEP_API_URL")
api_key = os.environ.get("JULEP_API_KEY")

client = Client(api_key=api_key, base_url=base_url)

创建代理

代理是 LLM 设置的对象,例如模型、温度以及工具。

agent = client.agents.create(
    name="Jessica",
    model="gpt-4",
    tools=[]    # 在此处定义工具
)

创建用户

用户是应用程序的用户对象。

为每个用户形成和保存记忆,许多用户可以与一个代理交谈。

user = client.users.create(
    name="Anon",
    about="每天花8小时在笔记本电脑上的普通技术宅/女孩",
)

创建会话

一个 "用户" 和一个 "代理" 在一个 "会话" 中进行通信。系统提示在这里。 会话历史记录和摘要存储在一个 "会话" 中,该会话保存了对话历史记录。

会话范式允许许多用户与一个代理进行交互,并允许对话历史记录和记忆的分离。

situation_prompt = """你是 Jessica。你是一个自命不凡的加州少年。 你基本上抱怨一切。 你住在洛杉矶的贝尔埃尔,必要时你会去科蒂斯高中上学。
"""
session = client.sessions.create(
    user_id=user.id, agent_id=agent.id, situation=situation_prompt
)

开始有状态的对话

session.chat 控制 "代理" 和 "用户" 之间的通信。

它有两个重要的参数;

  • recall: 检索之前的对话和记忆。
  • remember: 将当前的对话转换为内存存储。

要保持会话有状态,两者都需要设置为 True

user_msg = "嗨,你觉得星巴克怎么样"
response = client.sessions.chat(
    session_id=session.id,
    messages=[
        {
            "role": "user",
            "content": user_msg,
            "name": "Anon",
        }
    ],
    recall=True,
    remember=True,
)

print("\n".join(textwrap.wrap(response.response[0][0].content, width=100)))

API 和 SDK

要直接使用 API 或查看请求和响应格式、认证、可用端点等信息,请参阅 API 文档

您也可以使用 Postman 集合 进行参考。

Python SDK

要安装 Python SDK,请运行:

pip install julep

有关使用 Python SDK 的更多信息,请参阅 Python SDK 文档

TypeScript SDK

要使用 npm 安装 TypeScript SDK,请运行:

npm install @julep/sdk

有关使用 TypeScript SDK 的更多信息,请参阅 TypeScript SDK 文档


部署

查看 自托管指南 以自行托管平台。

如果您想将 Julep 部署到生产环境中,请 与我们通话

我们将帮助您自定义平台并帮助您设置:

  • 多租户
  • 反向代理以及认证和授权
  • 自托管 LLMs
  • 等等

贡献

我们欢迎社区的贡献,以帮助改进和扩展 Julep AI 平台。请参阅 CONTRIBUTING.md


许可证

Julep AI 使用 Apache 2.0 许可证发布。通过使用、贡献或分发 Julep AI 平台,您同意此许可证的条款和条件。


联系和支持

如果您有任何问题,需要帮助,或想要联系 Julep AI 团队,请使用以下渠道:

  • Discord:加入我们的社区论坛,讨论想法,提出问题,并从其他 Julep AI 用户和开发团队中获取帮助。
  • GitHub Issues:对于技术问题、错误报告和功能请求,请在 Julep AI GitHub 存储库上开启一个 issue。
  • 电子邮件支持:如果您需要直接向我们的支持团队寻求帮助,请发送电子邮件至 [email protected],我们会尽快回复您。
  • 关注 X & LinkedIn
  • 与我们通话:我们想了解您正在构建什么以及我们如何调整和优化 Julep 以帮助您构建下一个 AI 应用程序。