Lemon Agent
Lemon Agent 協助您在幾分鐘內建立強大的 AI 助理,並透過允許在
Airtable
、Hubspot
、Discord
、Notion
、Slack
和Github
等工具中進行準確可靠的讀取和寫入操作,來自動化工作流程。
請參閱完整文件。
目前大多數可用的連接器都專注於唯讀操作,限制了 LLM 的潛力。另一方面,由於缺少上下文或指示,Agent 往往會不時產生幻覺。
透過 Lemon AI
,您的 Agent 可以存取定義完善的 API,以進行可靠的讀取和寫入操作。此外,Lemon AI
功能讓您可以透過提供一種靜態定義工作流程的方式,進一步降低幻覺風險,模型可以在不確定性的情況下依賴這些工作流程。
快速開始
以下快速入門示範如何在 Agent 中結合使用 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. 啟動伺服器
您的 Agent 與 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"]
}
]
您的模型將可以存取這些功能,並且會優先使用它們而不是自我選擇工具來解決給定的任務。您所要做的就是讓 Agent 知道它應該使用給定的功能,方法是在提示中包含功能名稱。
將 Lemon AI 包含在您的 Langchain 專案中
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 決策制定的透明度
若要取得您的 Agent 如何與 Lemon AI 工具互動以解決給定任務的透明度,所有做出的決策、使用的工具和執行的操作都會寫入本機 lemonai.log
檔案。每次您的 LLM Agent 與 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,您可以輕鬆更深入地了解工具的使用頻率和順序。因此,您可以識別 Agent 決策能力中的弱點,並透過定義 Lemon AI 功能來轉向更具確定性的行為。