>Lemon Agent 帮助您在几分钟内构建强大的 AI 助手,并通过在工具中实现准确可靠的读写操作来自动化工作流程,例如 Airtable, Hubspot, Discord, Notion, Slack 和 GitHub.
查看 完整文档.
目前大多数连接器专注于只读操作,限制了 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 Server处理。要使用 Lemon AI,您需要在本地机器上运行服务器,以便 Lemon AI Python 客户端可以连接到它。
3. 将 Lemon AI 与 LangChain 结合使用
Lemon AI 通过找到相关工具的正确组合或使用 Lemon AI Functions 作为替代方案来自动解决给定任务。以下示例演示了如何从 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"]
}
]
您的模型将可以访问这些函数,并且会优先使用它们而不是自选工具来解决给定的任务。您需要做的就是让智能体知道它应该通过在提示中包含函数名来使用给定的函数。
在您的 LangChain 项目中包含 Lemon AI
from langchain_openai import OpenAI
from lemonai import execute_workflow
加载 API 密钥和访问令牌
要使用需要身份验证的工具,您必须将相应的访问凭据以下面的格式存储在您的环境中 "{tool name}_{authentication string}" 其中身份验证字符串是 ["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. 让您的代理的决策过程更加透明
为了深入了解您的代理如何与 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 函数转向更具确定性的行为。