lotus-data/lotus

Optimized Agentic and LLM Bulk Processing Over Your Data

LOTUS – 최적화된 에이전트 및 LLM 대량 처리

개요 – LOTUS는 대규모 텍스트 데이터셋에서 '시맨틱 연산자'(LLM 기반의 map, filter, reduce, join 등)를 실행할 수 있는 Python 라이브러리(PyPI에서 lotus-ai로 제공)입니다. 이 라이브러리는 호출을 배치 처리하고 모델을 캐스케이드하며 파이프라인을 지연 계획하는 최적화 도구를 내장하여, API 호출 비용을 줄이면서 더 높은 정확도를 얻을 수 있게 합니다.

핵심 개념

  • 시맨틱 연산자 – '각 논문에서 제목 추출'과 같이 원하는 작업을 설명하는 고수준의 선언적 프리미티브로, LLM이 변환을 수행하도록 합니다.
  • 에이전트 연산자 – 각 샤드에서 도구를 사용하는 에이전트(샌드박스 Python REPL 포함)를 실행하는 특수 클래스로, 코드 실행이나 다단계 추론이 필요한 복잡하거나 모호한 작업에 유용합니다.
  • 최적화 도구 – LLM 호출을 배치 처리, 캐스케이드 및 스케줄링하는 방법을 자동으로 결정하여 비용을 절감하고 결과 품질을 향상시킵니다.

일반적인 사용 사례

  • 코드베이스 분석 또는 보안 스캔(모든 파일에서 에이전트를 실행한 후 버그 보고서로 요약).
  • 대규모 연구 종합(코퍼스 검색, 핵심 포인트 추출 및 요약 생성).
  • 에이전트 로그에서 장애 모드 마이닝.
  • 비정형 문서에서 구조화된 데이터 추출.
  • 모델 출력에 대한 행 단위 LLM-as-a-judge 평가.
  • 개인 데이터에 대한 검색 증강 생성(RAG).

사용 방법(README 참조)

import lotus
from lotus.models import LM
from lotus.tools import PythonREPLTool

lotus.settings.configure(lm=LM(model="gpt-5", reasoning_effort="low"))

snippets = [
    "def average(nums): return sum(nums) / (len(nums) - 1)",
    "def word_count(s): return len(s.split())",
    "def percent(part, whole): return part / whole",
    "def reverse(s): return s[::-1]",
]
corpus = lotus.Corpus.from_documents(snippets)

result = corpus.agent(
    task="Test each function on example inputs and report which ones are buggy, with a counterexample for each bug.",
    ops=["map", "reduce"],
    tools=[PythonREPLTool()],
)
print(result.output)

이 코드 스니펫은 Corpus 생성, 작업 설명, 시맨틱 연산자 목록 및 선택적 도구를 사용한 agent 호출의 3단계를 보여줍니다.

설치

  • pip install lotus-ai (또는 uv add lotus-ai).
  • 최신 코드: pip install git+https://github.com/lotus-data/lotus.git@main.

문서 및 커뮤니티

  • 전체 문서: https://lotus-ai.readthedocs.io.
  • Colab 데모, Discord 서버 및 examples/ 하위의 예제 스크립트 세트.
  • 이 프로젝트는 스탠퍼드 대학교와 UC 버클리 연구진의 지원을 받으며, 3편의 동료 심사 논문(arXiv 2407.11418, VLDB 2025, IEEE Data Engineering 2026)에서 인용되었습니다.

대상 사용자 데이터 과학자, ML 엔지니어 또는 연구팀. API 호출마다 사용자 정의 루프를 작성하지 않고도 수천에서 수백만 개의 텍스트 레코드에 LLM 추론을 적용해야 하는 경우에 적합합니다. LOTUS는 오케스트레이션을 추상화하여 작업의 '시맨틱'한 설명에 집중할 수 있게 하며, 내부적으로 비용을 고려한 실행을 처리합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트