开源模型提供类似OpenAI的用户界面工具OpenGPTs

工具软件1年前 (2023)发布 gpts
77 0

这是一项开源工作,旨在创造与 OpenAI 的 GPT 类似的体验。它建立在 LangChain、LangServe 和 LangSmith 之上。这使您可以更好地控制您使用的 LLM(在 LangChain 提供的 60 多个选项之间进行选择)、您使用的提示(使用 LangSmith 来调试这些)以及您提供的工具(从LangChain 的 100 多个工具,或者轻松编写自己的工具)。

在这里查看简单的托管版本

快速开始

1.启动后台

安装要求

cd backendpip install -r requirements.txt

默认情况下,它使用 OpenAI,但也有 Azure OpenAI 和 Anthropic 的选项。如果您使用这些,您可能需要设置不同的环境变量。

export OPENAI_API_KEY="sk-..."

设置LangSimth。这是可选的,但它将有助于调试、日志记录、监控。通过上面的链接注册,然后设置相关的环境变量

export LANGCHAIN_TRACING_V2="true"export LANGCHAIN_API_KEY=...

启动后端服务器

langchain serve --port=8100

2.启动前端

cd frontendyarnyarn dev

导航到 http://localhost:5173/ 并享受吧!

特征

我们正在尽可能努力实现与 OpenAI 的功能对等。

  • 沙箱 – 提供导入、测试和修改现有聊天机器人的环境。
    • 使用的聊天机器人都是代码,因此可以轻松编辑
  • 自定义操作 – 使用 OpenAPI 规范为您的聊天机器人定义附加功能
    • 通过添加工具支持
  • 知识文件 – 附加聊天机器人可以参考的其他文件
    • 即将推出
  • 工具 – 提供网页浏览、图像创建等基本工具。
    • 默认启用基本 DuckDuckGo 和 PythonREPL 工具
    • 图像创建即将推出
  • 分析 – 查看和分析聊天机器人使用数据
    • 为此使用 LangSmith
  •  Drafts – 保存并共享您正在创建的聊天机器人的草稿
    • 支持保存配置
  • 发布 – 公开分发您完成的聊天机器人
    • 可以通过 LangServe 进行部署
  • 共享 – 设置和管理聊天机器人共享
    • 可以通过 LangServe 进行部署
  • 市场 – 搜索和部署其他用户创建的聊天机器人
    •  即将推出

代码结构

  • frontend :前端代码
  • backend :后端代码
    • agent-executor :代理的运行时
    • gizmo-agent :代理的配置
    • app :LangServe 代码(用于公开 API)
    • packages :核心逻辑

定制化

与直接使用 OpenAI 相比,OpenGPT 的最大吸引力在于它更具可定制性。具体来说,您可以选择要使用的语言模型以及更轻松地添加自定义工具。您还可以直接使用底层 API,并根据需要自行构建自定义 UI。

LLMs

您可以选择使用不同的LLMs。这利用了LangChain的许多集成功能。值得注意的是,根据您使用的LLMs,您可能需要更改提示方式。

我们默认公开四种代理类型:

  • “GPT 3.5 Turbo”
  • “GPT 4” “GPT 4”
  • “Azure OpenAI”
  • “Claude 2”

当我们有信心它们能够很好地工作时,我们将努力添加更多。

如果您想添加自己的LLM或代理配置,或者想编辑现有的LLM或代理配置,您可以在 backend/packages/gizmo-agent/gizmo_agent/agent_types 中找到它们

Claude 2

如果使用 Claude 2,您将需要设置以下环境变量:

export ANTHROPIC_API_KEY=sk-...

Azure OpenAI

如果使用 Azure OpenAI,您将需要设置以下环境变量:

export OPENAI_API_BASE=...export OPENAI_API_VERSION=...export OPENAI_API_KEY=...export OPENAI_DEPLOYMENT_NAME=...

工具

开源的一大好处是您可以更轻松地添加工具(直接在 Python 中)。我们默认启用了两个工具:

  • DuckDuckGo Search
  • Python REPL(注意:这会直接在您的环境中执行 Python 代码,可能不安全)

在实践中,我们看到的大多数团队都定义了自己的工具。这在 LangChain 中很容易做到。有关如何最好地执行此操作的详细信息,请参阅本指南。

项目链接

https://github.com/langchain-ai/opengpts

© 版权声明

相关文章