arakoodev/EdgeChains
EdgeChains.js is Full-Stack GenAI library. Front-end, backend, apis, prompt management, distributed computing. All core prompts & chains are managed declaratively in jsonnet (and not hidden in classes)
What it solves
EdgeChains는 생성 AI 개발을 UI 혹은 라이브러리 설계 문제가 아니라 설정 관리 문제로 접근합니다. 서로 다른 LLM이 서로 다른 프롬프트 스타일을 요구하는 “프롬프트 폭발”과 시간이 지나면서 LLM 동작이 변하는 “프롬프트 드리프트” 문제를 해결하여, 개발자가 프롬프트를 하드코딩된 로직이 아니라 선언형 설정으로 관리할 수 있게 합니다.
How it works
Honojs와 Google이 만든 설정 언어인 Jsonnet 위에 구축된 EdgeChains는 프롬프트와 체인 로직을 애플리케이션 코드와 분리합니다. 프롬프트는 Jsonnet 파일에 작성되어 버전 관리와 diff가 가능하고, S3나 API 등을 통해 외부에 호스팅할 수도 있습니다. 프레임워크는 WebAssembly 런타임을 사용해 LLM 체인 및 chain‑of‑thought 작업을 CPU, GPU, TPU에 자동으로 병렬화합니다.
Who it’s for
다중 LLM 제공자를 아우르는 복잡한 프롬프트 엔지니어링 및 chain‑of‑thought 워크플로우를 확장 가능하고 내 fault‑tolerant하게 관리해야 하는, 프로덕션 수준 GenAI 애플리케이션을 구축하는 개발자를 위한 도구입니다.
Highlights
- Declarative Prompting: 프롬프트는 코드 외부의 Jsonnet 파일에 존재해 버전 관리와 테스트가 용이합니다.
- Automatic Parallelism: WebAssembly를 활용해 사용 가능한 하드웨어(CPU, GPU, TPU) 전반에 작업을 분산합니다.
- Fault Tolerance: 실패한 요청에 대한 재시도와 백오프 메커니즘이 내장되어 있습니다.
- Cost Tracking: 프롬프트와 체인의 토큰 비용을 세밀하게 측정합니다.
- Simplified Deployment: 프로덕션 애플리케이션은 스크립트 파일 하나와 Jsonnet 파일 하나만으로 실행할 수 있습니다.