Lemon AgentAirtable, Hubspot, Discord, Notion, Slack, Github와 같은 도구에서 정확하고 신뢰할 수 있는 읽기 및 쓰기 작업을 허용하여 몇 분 만에 강력한 AI 어시스턴트를 구축하고 워크플로우를 자동화할 수 있도록 도와줍니다.
전체 문서는 여기에서 확인하세요. 현재 사용 가능한 대부분의 커넥터는 읽기 전용 작업에 초점을 맞추고 있어 LLM의 잠재력을 제한합니다. 반면에 Agent는 컨텍스트나 지침이 누락되어 때때로 환각(hallucination)을 일으키는 경향이 있습니다. Lemon AI를 사용하면 신뢰할 수 있는 읽기 및 쓰기 작업을 위해 잘 정의된 API에 대한 액세스를 Agent에게 제공할 수 있습니다. 또한 Lemon AI function을 사용하면 모델이 불확실한 경우 의존할 수 있는 워크플로우를 정적으로 정의하는 방법을 제공하여 환각의 위험을 더욱 줄일 수 있습니다.

Quick Start

다음 빠른 시작은 내부 도구와의 상호 작용이 포함된 워크플로우를 자동화하기 위해 Agent와 함께 Lemon AI를 사용하는 방법을 보여줍니다.

1. Lemon AI 설치

Python 3.8.1 이상이 필요합니다. Python 프로젝트에서 Lemon AI를 사용하려면 pip install lemonai를 실행하세요. 이렇게 하면 해당 Lemon AI client가 설치되며, 이를 스크립트로 import할 수 있습니다. 이 도구는 Python 패키지 langchain과 loguru를 사용합니다. Lemon AI 설치 중 오류가 발생하면 두 패키지를 먼저 설치한 다음 Lemon AI 패키지를 설치하세요.

2. Server 실행

Agent와 Lemon AI가 제공하는 모든 도구의 상호 작용은 Lemon AI Server에서 처리됩니다. Lemon AI를 사용하려면 로컬 머신에서 서버를 실행해야 Lemon AI Python client가 연결할 수 있습니다.

3. LangChain과 함께 Lemon AI 사용

Lemon AI는 관련 도구의 올바른 조합을 찾거나 대안으로 Lemon AI Function을 사용하여 주어진 작업을 자동으로 해결합니다. 다음 예제는 Hackernews에서 사용자를 검색하고 Airtable의 테이블에 작성하는 방법을 보여줍니다:

(선택 사항) Lemon AI Function 정의

OpenAI functions와 유사하게, Lemon AI는 워크플로우를 재사용 가능한 function으로 정의하는 옵션을 제공합니다. 이러한 function은 거의 결정론적 동작에 최대한 가까이 이동하는 것이 특히 중요한 사용 사례를 위해 정의할 수 있습니다. 특정 워크플로우는 별도의 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"]
  }
]
모델은 이러한 function에 액세스할 수 있으며 주어진 작업을 해결하기 위해 도구를 자체 선택하는 것보다 이러한 function을 선호합니다. Agent가 프롬프트에 function 이름을 포함하여 주어진 function을 사용해야 한다는 것을 알려주기만 하면 됩니다.

LangChain 프로젝트에 Lemon AI 포함

import os

from langchain_openai import OpenAI
from lemonai import execute_workflow

API Key 및 Access Token 로드

인증이 필요한 도구를 사용하려면 해당 액세스 자격 증명을 "{tool name}_{authentication string}" 형식으로 환경에 저장해야 합니다. 여기서 authentication string은 API key의 경우 [“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 function을 정의하여 보다 결정론적인 동작으로 이동할 수 있습니다.
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.
I