any-llm: 프록시 없이 공식 SDK를 사용하여 모든 LLM 제공업체에 액세스할 수 있는 통합 API

any-llm: 프록시 없이 공식 SDK를 사용하여 모든 LLM 제공업체에 액세스할 수 있는 통합 API

해결하는 문제

LLM 제공업체 인터페이스의 파편화를 제거합니다. 모든 AI 제공업체(OpenAI, Anthropic 또는 Mistral와 같은)를 위해 서로 다른 코드를 작성하는 대신, 개발자는 단일 통합 인터페이스를 사용하여 지원되는 모든 모델과 통신할 수 있으며, 애플리케이션 로직을 다시 작성하지 않고도 제공업체를 쉽게 전환할 수 있습니다.

작동 방식

any-llm은 최대의 호환성을 보장하기 위해 공식 제공업체 SDK를 활용하는 가벼운 래퍼(wrapper) 역할을 합니다. 모델과 상호작용하는 두 가지 주요 방법을 제공합니다:

  • Direct API Functions: 빠른 스크립트 및 노트북용 stateless completion 함수.
  • AnyLLM Class: 클라이언트와 커넥션 풀링을 재사용하도록 설계된 stateful 클래스이며, 프로덕션 애플리케이션용으로 설계되었습니다.

스트리밍, 도구 사용(tool use), OpenAI 호환 Responses API와 같은 표준 기능을 지원하며, 사용자가 별도의 providermodel 매개변수를 사용하거나 결합된 provider:model 문자열을 사용하여 모델을 지정할 수 있도록 합니다.

대상 사용자

특정 AI 벤더에 종속되지 않고 유연하며 제공업체에 구애받지 않는 LLM 기반 애플리케이션을 구축하고자 하는 개발자, 즉 호스팅된 프록시 서버를 관리할 필요 없이 단일 AI 벤더에 종속되는 것을 피하고 싶은 개발자입니다.

주요 특징

  • Unified Interface: 문자열 하나만 변경하여 제공업체를 전환할 수 있습니다.
  • Official SDK Integration: 호환성 문제를 줄이기 위해 인터페이스를 재구현하는 대신 공식 SDK를 사용합니다.
  • Framework Agnostic: 특정 에이전트 프레임워크에 속하지 않고 모든 프로젝트에 통합될 수 있습니다.
  • Type-Safe: 더 나은 IDE 지원을 위해 전체 Python type hints를 포함합니다.
  • No Proxy Required: 중간 서버 없이 제공업체에 직접 연결합니다.

Sources