mozilla-ai/any-llm

Communicate with an LLM provider using a single interface

해결하는 문제

LLM 제공업체 인터페이스의 파편화된 환경을 해결합니다. 제공업체마다 매개변수 이름과 응답 형식이 약간씩 다르기 때문에, 개발자는 모델을 전환할 때 코드를 다시 작성해야 하는 경우가 많습니다. any-llm은 핵심 애플리케이션 로직을 변경할 필요 없이 여러 LLM 제공업체에 액세스할 수 있는 단일 통합 인터페이스를 제공합니다.

작동 방식

이 라이브러리는 최대 호환성을 보장하기 위해 공식 제공업체 SDK를 활용하는 가벼운 래퍼 역할을 합니다. 모델과 상호 작용하는 두 가지 주요 방법을 제공합니다:

  1. Direct API Functions: 스크립트 및 노트북에 이상적인 상태 비저장(stateless) completion 함수.
  2. AnyLLM Class: 클라이언트 및 연결 풀링을 재사용하는 상태 저장(stateful) 방식으로, 프로덕션 애플리케이션에 권장됩니다.

provider:model 문자열 형식 또는 개별 매개변수를 지원하여 OpenAI, Anthropic, Mistral, Ollama와 같은 제공업체로 요청을 라우팅할 수 있으며, OpenAI 호환 커스텀 엔드포인트에도 연결할 수 있습니다.

대상 사용자

다양한 LLM 제공업체 간을 쉽게 전환하고자 하는 개발자, LiteLLM에서 마이그레이션하는 사용자, 그리고 호스팅된 프록시 서버에 대한 의존성을 피해야 하는 프레임워크 불가지론적(framework-agnostic) AI 애플리케이션을 구축하는 팀을 위해 설계되었습니다.

주요 특징

  • 통합 인터페이스: 단일 문자열을 변경하여 제공업체를 전환할 수 있습니다.
  • 공식 SDK 통합: 더 나은 호환성을 유지하기 위해 인터페이스를 재구현하는 대신 공식 SDK를 사용합니다.
  • 프록시 불필요: 호스팅된 프록시 없이 코드와 제공업체 사이에서 직접 작동합니다.
  • 개발자 경험: IDE 지원을 위한 완전한 타입 힌트와 명확한 오류 메시지를 포함합니다.

관련

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