跳到主要内容

Lemon Agent

Lemon Agent 可帮助您在几分钟内构建强大的 AI 助手,并通过允许在 AirtableHubspotDiscordNotionSlackGithub 等工具中进行准确可靠的读写操作来自动化工作流程。

请参阅此处的完整文档。

如今可用的大多数连接器都专注于只读操作,限制了 LLM 的潜力。另一方面,由于缺少上下文或说明,代理有时会产生幻觉。

使用 Lemon AI,可以让您的代理访问定义完善的 API,以进行可靠的读写操作。此外,Lemon AI 函数允许您通过提供一种静态定义模型在不确定情况下可以依赖的工作流程的方法,进一步降低幻觉的风险。

快速入门

以下快速入门演示了如何将 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 User Workflow",
"description": "retrieves user data from Hackernews and appends it to a table in Airtable",
"tools": ["hackernews-get-user", "airtable-append-data"]
}
]

您的模型将有权访问这些函数,并且会优先选择它们而不是自我选择的工具来解决给定的任务。您所要做的就是在提示中包含函数名称,让代理知道它应该使用给定的函数。

将 Lemon AI 包含在您的 Langchain 项目中

import os

from langchain_openai import OpenAI
from lemonai import execute_workflow
API 参考:OpenAI

加载 API 密钥和访问令牌

要使用需要身份验证的工具,您必须以 "{工具名称}_{身份验证字符串}" 的格式将相应的访问凭据存储在您的环境中,其中身份验证字符串是 API 密钥的 ["API_KEY", "SECRET_KEY", "SUBSCRIPTION_KEY", "ACCESS_KEY"] 或身份验证令牌的 ["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. 提高代理决策的透明度

为了提高您的代理如何与 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 分析工具,您可以轻松更好地了解工具的使用频率和顺序。因此,您可以识别代理决策能力中的薄弱环节,并通过定义 Lemon AI 函数来实现更确定的行为。


此页是否对您有帮助?