Lemon Agent
Lemon Agent 帮助您在几分钟内构建强大的AI助手,并通过在诸如
Airtable
、Hubspot
、Discord
、Notion
、Slack
和Github
等工具中进行准确可靠的读写操作来自动化工作流程。
查看完整文档。
目前可用的大多数连接器都专注于只读操作,限制了LLMs的潜力。另一方面,由于缺少上下文或指令,代理有时会产生幻觉。
使用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"]
}
]
您的模型将能够访问这些函数,并且在解决给定任务时,它将优先使用这些函数而不是自选工具。您只需通过在提示中包含函数名称来让代理知道它应该使用给定的函数。
在你的Langchain项目中包含Lemon AI
import os
from langchain_openai import OpenAI
from lemonai import execute_workflow
加载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. 获取您的Agent决策的透明度
为了了解您的代理如何与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函数转向更确定的行为。