AISuite 소개
AISuite는 다양한 LLM 플랫폼들을 단일 표준 인터페이스로 통합한 Python 기반 라이브러리입니다. OpenAI, Anthropic, HuggingFace와 같은 인기 있는 LLM 제공자의 기능을 쉽게 비교하거나 교체할 수 있도록 설계되었습니다. 복잡한 설정 없이도 여러 플랫폼의 모델을 학습(Training)하거나 결과를 비교할 수 있습니다.
OpenAI 스타일의 인터페이스를 통해 코드 수정 없이도 다양한 LLM의 응답을 테스트하고 비교할 수 있습니다. 특히, 주로 챗봇 생성(Chat Completions)에 초점이 맞춰져 있으며, 앞으로 검색-증강 생성(RAG, Retrieval-Augmented Generation)과 같은 더 많은 사용 사례를 지원할 예정입니다.
AISuite가 지원하는 주요 LLM 플랫폼들은 다음과 같습니다:
- OpenAI
- Anthropic
- Azure
- 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 라이선스 하에 배포됩니다. 상업적 및 비상업적 목적으로 자유롭게 사용할 수 있습니다.
AISuite GitHub 저장소
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래쪽에 좋아요를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~