Skip to main content
Lemon Agent 可帮助您在几分钟内构建强大的 AI 助手,并通过在 AirtableHubspotDiscordNotionSlackGitHub 等工具中实现精准可靠的读写操作来自动化工作流程。
请参阅完整文档 目前大多数连接器仅支持只读操作,限制了 LLM 的潜力。另一方面,Agent 有时会因缺少上下文或指令而产生幻觉。 借助 Lemon AI,您可以为 Agent 提供对定义良好的 API 的访问权限,从而实现可靠的读写操作。此外,Lemon AI 函数允许您通过静态定义工作流来进一步降低幻觉风险,使模型在不确定时可以依赖这些工作流。

快速入门

以下快速入门演示如何将 Lemon AI 与 Agent 结合使用,以自动化涉及内部工具交互的工作流程。

1. 安装 Lemon AI

需要 Python 3.8.1 及以上版本。 在您的 Python 项目中运行 pip install lemonai 以使用 Lemon AI。 这将安装相应的 Lemon AI 客户端,您可以将其导入脚本中。 该工具使用 Python 包 langchain 和 loguru。如果安装 Lemon AI 时遇到错误,请先安装这两个包,然后再安装 Lemon AI 包。

2. 启动服务器

您的 Agent 与 Lemon AI 提供的所有工具之间的交互由 Lemon AI 服务器 处理。要使用 Lemon AI,您需要在本地计算机上运行该服务器,以便 Lemon AI Python 客户端能够连接到它。

3. 在 LangChain 中使用 Lemon AI

Lemon AI 通过找到相关工具的正确组合或使用 Lemon AI 函数作为替代方案来自动解决给定任务。以下示例演示如何从 Hackernews 检索用户并将其写入 Airtable 中的表格:

(可选)定义您的 Lemon AI 函数

OpenAI 函数类似,Lemon AI 提供了将工作流定义为可复用函数的选项。这些函数可用于特别需要尽可能接近确定性行为的场景。可以在单独的 lemonai.json 文件中定义特定工作流:
[
  {
    "name": "Hackernews Airtable User Workflow",
    "description": "retrieves user data from Hackernews and appends it to a table in Airtable",
    "tools": ["hackernews-get-user", "airtable-append-data"]
  }
]
您的模型将能够访问这些函数,并在解决给定任务时优先使用它们,而不是自行选择工具。您只需在提示中说明 Agent 应使用某个函数(包含函数名称)即可。

在您的 LangChain 项目中引入 Lemon AI

import os

from langchain_openai import OpenAI
from lemonai import execute_workflow

加载 API 密钥和访问令牌

要使用需要认证的工具,您需要以 "{工具名称}_{认证字符串}" 的格式将相应的访问凭据存储在环境变量中,其中认证字符串是以下之一:[“API_KEY”, “SECRET_KEY”, “SUBSCRIPTION_KEY”, “ACCESS_KEY”](用于 API 密钥)或 [“ACCESS_TOKEN”, “SECRET_TOKEN”](用于认证令牌)。例如 “OPENAI_API_KEY”、“BING_SUBSCRIPTION_KEY”、“AIRTABLE_ACCESS_TOKEN”。
""" Load all relevant API Keys and Access Tokens into your environment variables """
os.environ["OPENAI_API_KEY"] = "*INSERT OPENAI API KEY HERE*"
os.environ["AIRTABLE_ACCESS_TOKEN"] = "*INSERT AIRTABLE TOKEN HERE*"
hackernews_username = "*INSERT HACKERNEWS USERNAME HERE*"
airtable_base_id = "*INSERT BASE ID HERE*"
airtable_table_id = "*INSERT TABLE ID HERE*"

""" Define your instruction to be given to your LLM """
prompt = f"""Read information from Hackernews for user {hackernews_username} and then write the results to
Airtable (baseId: {airtable_base_id}, tableId: {airtable_table_id}). Only write the fields "username", "karma"
and "created_at_i". Please make sure that Airtable does NOT automatically convert the field types.
"""

"""
Use the Lemon AI execute_workflow wrapper
to run your LangChain agent in combination with Lemon AI
"""
model = OpenAI(temperature=0)

execute_workflow(llm=model, prompt_string=prompt)

4. 深入了解 Agent 的决策过程

为了深入了解您的 Agent 如何与 Lemon AI 工具交互以解决给定任务,所有做出的决策、使用的工具和执行的操作都会写入本地 lemonai.log 文件。每次 LLM Agent 与 Lemon AI 工具栈交互时,都会创建相应的日志条目。
2023-06-26T11:50:27.708785+0100 - b5f91c59-8487-45c2-800a-156eac0c7dae - hackernews-get-user
2023-06-26T11:50:39.624035+0100 - b5f91c59-8487-45c2-800a-156eac0c7dae - airtable-append-data
2023-06-26T11:58:32.925228+0100 - 5efe603c-9898-4143-b99a-55b50007ed9d - hackernews-get-user
2023-06-26T11:58:43.988788+0100 - 5efe603c-9898-4143-b99a-55b50007ed9d - airtable-append-data
通过使用 Lemon AI Analytics,您可以轻松深入了解工具的使用频率和顺序。由此,您可以识别 Agent 决策能力中的薄弱环节,并通过定义 Lemon AI 函数来实现更确定性的行为。