AISuite: 여러 LLM들을 하나의 인터페이스로 호출할 수 있는 라이브러리🛠️ (feat. Andrew Ng)

AISuite 소개

AISuite는 다양한 LLM 플랫폼들을 단일 표준 인터페이스로 통합한 Python 기반 라이브러리입니다. OpenAI, Anthropic, HuggingFace와 같은 인기 있는 LLM 제공자의 기능을 쉽게 비교하거나 교체할 수 있도록 설계되었습니다. 복잡한 설정 없이도 여러 플랫폼의 모델을 학습(Training)하거나 결과를 비교할 수 있습니다.

OpenAI 스타일의 인터페이스를 통해 코드 수정 없이도 다양한 LLM의 응답을 테스트하고 비교할 수 있습니다. 특히, 주로 챗봇 생성(Chat Completions)에 초점이 맞춰져 있으며, 앞으로 검색-증강 생성(RAG, Retrieval-Augmented Generation)과 같은 더 많은 사용 사례를 지원할 예정입니다.

AISuite가 지원하는 주요 LLM 플랫폼들은 다음과 같습니다:

  • OpenAI
  • Anthropic
  • Azure
  • Google
  • AWS
  • Groq
  • Mistral
  • HuggingFace
  • Ollama

AISuite는 HTTP 엔드포인트 또는 제공자 SDK를 활용해 안정적인 API 호출을 제공합니다. Python 개발자들은 이를 통해 간결하면서도 일관된 방식으로 LLM과 상호작용할 수 있습니다.

AISuite의 주요 기능

  • 간편한 설치와 설정
    기본 패키지만 설치하거나, 특정 제공자 SDK와 함께 설치할 수 있습니다.

    pip install aisuite
    pip install 'aisuite[anthropic]'  # 특정 제공자 SDK 포함
    pip install 'aisuite[all]'        # 모든 제공자 SDK 포함
    
  • 환경 변수 기반 설정
    API 키를 환경 변수로 설정하거나 AISuite 클라이언트 생성 시 전달할 수 있습니다.

    export OPENAI_API_KEY="your-openai-api-key"
    export ANTHROPIC_API_KEY="your-anthropic-api-key"
    
  • 다양한 모델 지원
    여러 모델의 결과를 비교하는 유연한 구조를 제공합니다.

    import aisuite as ai
    client = ai.Client()
    
    models = ["openai:gpt-4o", "anthropic:claude-3-5-sonnet-20240620"]
    messages = [
        {"role": "system", "content": "Pirate English로 답변해주세요."},
        {"role": "user", "content": "Tell me a joke."},
    ]
    
    for model in models:
        response = client.chat.completions.create(
            model=model,
            messages=messages,
            temperature=0.75
        )
        print(response.choices[0].message.content)
    
  • 확장 가능한 구조
    새로운 제공자를 추가할 때 표준화된 파일 및 클래스 네이밍 규칙을 적용하여 확장성을 제공합니다.
    예를 들어, HuggingFace를 지원하려면 다음과 같은 형식으로 작성합니다:

    class HuggingfaceProvider(BaseProvider):
        # 구현 내용
    
    • 위 코드는 aisuite/providers/huggingface_provider.py 파일에 추가되어야 합니다.

라이선스

AISuite는 MIT 라이선스 하에 배포됩니다. 상업적 및 비상업적 목적으로 자유롭게 사용할 수 있습니다.

:github: AISuite GitHub 저장소




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: