Skip to main content

Lemon AI NLP 工作流自动化 (Lemon AI NLP Workflow Automation)

完整文档可在以下链接找到:https://github.com/felixbrock/lemonai-py-client

Lemon AI 可帮助您在几分钟内构建强大的 AI 助手,并通过在 Airtable、Hubspot、Discord、Notion、Slack 和 Github 等工具中进行准确可靠的读写操作来自动化工作流程。

目前大多数可用的连接器都专注于只读操作,限制了 LLMs 的潜力。而代理人则有时会因缺少上下文或指令而产生幻觉。

使用 Lemon AI,您可以为您的代理人提供访问定义良好的 API 以进行可靠的读写操作的能力。此外,Lemon AI 函数还可以通过提供一种在不确定情况下模型可以依赖的静态定义工作流程的方式进一步减少幻觉的风险。

快速入门 (Quick Start)

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

1. 安装 Lemon AI

需要 Python 3.8.1 及以上版本。

要在 Python 项目中使用 Lemon AI,请运行 pip install lemonai

这将安装相应的 Lemon AI 客户端,您可以将其导入到您的脚本中。

该工具使用了 Python 包 langchain 和 loguru。如果在安装 Lemon AI 时出现任何安装错误,请先安装这两个包,然后再安装 Lemon AI 包。

2. 启动服务器

您的代理人与 Lemon AI 提供的所有工具的交互由 Lemon AI 服务器 处理。要使用 Lemon AI,您需要在本地机器上运行服务器,以便 Lemon AI Python 客户端可以连接到它。

3. 使用 Lemon AI 和 Langchain

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

(可选)定义 Lemon AI 函数

类似于 OpenAI 函数,Lemon AI 提供了定义可重用函数的选项。这些函数可以为需要尽可能接近确定性行为的用例定义,可以在单独的 lemonai.json 文件中定义特定的工作流程:

[
{
"name": "Hackernews Airtable 用户工作流程",
"description": "从 Hackernews 检索用户数据并将其追加到 Airtable 表中",
"tools": ["hackernews-get-user", "airtable-append-data"]
}
]

您的模型将可以访问这些函数,并且会优先使用它们来解决给定的任务,而不是自行选择工具。您只需要让代理人知道它应该使用给定的函数,方法是在提示中包含函数名称。

在 Langchain 项目中使用 Lemon AI

import os
from lemonai import execute_workflow
from langchain import OpenAI

加载 API 密钥和访问令牌

要使用需要身份验证的工具,您必须将相应的访问凭据存储在环境变量中,格式为 "{工具名称}_{身份验证字符串}",其中身份验证字符串是 API 密钥的一种,取值为 ["API_KEY", "SECRET_KEY", "SUBSCRIPTION_KEY", "ACCESS_KEY"],或者是身份验证令牌的一种,取值为 ["ACCESS_TOKEN", "SECRET_TOKEN"]。例如,"OPENAI_API_KEY"、"BING_SUBSCRIPTION_KEY"、"AIRTABLE_ACCESS_TOKEN"。

""" 将所有相关的 API 密钥和访问令牌加载到您的环境变量中 """
os.environ["OPENAI_API_KEY"] = "*在此处插入 OpenAI API 密钥*"
os.environ["AIRTABLE_ACCESS_TOKEN"] = "*在此处插入 Airtable 令牌*"
hackernews_username = "*在此处插入 Hackernews 用户名*"
airtable_base_id = "*在此处插入基础 ID*"
airtable_table_id = "*在此处插入表 ID*"

""" 定义要给您的 LLM 的指令 """
prompt = f"""从 Hackernews 读取用户 {hackernews_username} 的信息,然后将结果写入
Airtable(baseId: {airtable_base_id},tableId: {airtable_table_id})。只写入字段 "username"、"karma"
和 "created_at_i"。请确保 Airtable 不会自动转换字段类型。
"""

"""
使用 Lemon AI 的 execute_workflow 包装器
以在 Langchain 代理人中与 Lemon AI 结合运行
"""
model = OpenAI(temperature=0)

execute_workflow(llm=model, prompt_string=prompt)

4. 了解代理人的决策过程

为了了解您的代理人如何与 Lemon AI 工具交互以解决给定的任务,所有的决策、使用的工具和执行的操作都会写入到本地的 lemonai.log 文件中。每当您的 LLM 代理人与 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 工具,您可以轻松了解工具的使用频率和顺序。因此,您可以确定代理人决策能力的薄弱点,并通过定义 Lemon AI 函数来实现更确定性的行为。