跳到主要內容
Open In ColabOpen on GitHub

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"]
}
]

您的模型將可以存取這些功能,並且會優先使用它們而不是自行選擇工具來解決給定的任務。您所要做的就是讓智能體知道它應該使用給定的功能,方法是在提示中包含功能名稱。

在您的 Langchain 專案中包含 Lemon AI

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 Analytics,您可以輕鬆更好地了解工具的使用頻率和順序。因此,您可以識別智能體決策能力中的薄弱環節,並透過定義 Lemon AI 功能轉向更具確定性的行為。


此頁面是否對您有幫助?