Grazier는 통합 API에서 대규모 언어 모델을 쉽게 호출하기 위한 Python 라이브러리입니다.
OpenAI에서:
인류학에서:
Google/GCP에서:
허깅페이스에서
Facebook에서(Huggingface를 통해)
스탠포드에서 (Huggingface를 통해)
버클리에서 (Huggingface를 통해)
StabilityAI에서 (Huggingface를 통해)
AllenAI에서(Huggingface를 통해)
AI21에서
이미지/언어 모델:
Grazier는 pip를 사용하여 쉽게 설치할 수 있습니다.
pip install grazier
각 LLM에는 추가 설정이 필요할 수 있으며, 이는 아래 엔진 설정 섹션에서 찾을 수 있습니다.
완성 엔진의 경우 다음과 같이 간단합니다.
import grazier
grazier . list_models ()
[ 'gptj-6B' , 'gpt2' , 'gpt2-med' , 'gpt2-lg' , 'gpt2-xl' , 'distilgpt2' , 'gptneo-125M' , 'gptneo-1.3B' , 'gptneo-2.7B' , 'stablelm-3B' , 'stablelm-7B' , 'opt-125M' , 'opt-350M' , 'opt-1.3b' , 'opt-2.7b' , 'opt-6.7b' , 'opt-13b' , 'opt-30b' , 'opt-66b' , 'llama-7B' , 'llama-13B' , 'llama-30B' , 'llama-65B' , 'gpt3-davinci3' , 'gpt3-davinci2' , 'gpt3-curie' , 'gpt3-babbage' , 'gpt3-ada' , 'palm' ]
gpt2 = grazier . get ( "gpt2" )
completion = gpt2 ( "I enjoy walking with my cute dog, but sometimes he gets scared and" )
print ( completion )
채팅 엔진의 경우 type="chat"
매개변수만 추가하면 됩니다.
from grazier import Conversation , Speaker , get , list_models
conversation = Conversation ()
conversation . add_turn ( "You are a funny person." , speaker = Speaker . SYSTEM )
conversation . add_turn ( "Hi, how are you?" , speaker = Speaker . USER )
conversation . add_turn ( "I am doing well, how about you?" , speaker = Speaker . AI )
conversation . add_turn ( "What are you planning to do today?" , speaker = Speaker . USER )
list_models ( type = "chat" )
[ 'claude' , 'claude-100k' , 'claude-instant' , 'claude-instant-100k' , 'bard' , 'koala-7b' , 'koala-13b-v1' , 'koala-13b-v2' , 'vicuna-7b' , 'vicuna-13b' , 'alpaca-13b' , 'chat-gpt' , 'gpt4' , 'gpt4-32k' , 'stablelm-3b' , 'stablelm-7b' , 'palm' ]
gpt4 = get ( "gpt4" , type = "chat" )
next_turn = gpt4 ( conversation )
print ( next_turn )
비전 증강(이미지) 엔진의 경우 type="image"
사용하세요.
import grazier
from PIL import Image
grazier . list_models ( type = "image" )
[ 'blip2-opt-2.7b' , 'blip2-opt-6.7b' , 'blip2-opt-2.7b-coco' , 'blip2-opt-6.7b-coco' , 'blip2-flan-t5-xl' , 'blip2-flan-t5-xxl' , 'blip2-flan-t5-xl-coco' , 'openflamingo-3b-vitl-mpt1b' , 'openflamingo-3b-vitl-mpt1b-dolly' , 'openflamingo-9b-vitl-mpt7b' , 'openflamingo-4b-vitl-rpj3b' ]
blip2 = grazier . get ( "blip2-opt-2.7b" , type = "image" )
image = Image . open ( 'test_data/dog.jpg' )
completion = blip2 ( image , "A photo of" )
print ( completion )
각 엔진에는 특정 세부 정보를 전달해야 할 수 있습니다. 예를 들어 OpenAI 엔진에는 API 키가 필요합니다. 이러한 세부 정보는 일반적으로 환경 변수를 사용하여 설정됩니다.
OpenAI 엔진의 경우 OPENAI_API_KEY
및 OPENAI_API_ORG
환경 변수를 설정해야 합니다. OpenAI 대시보드에서 API 키와 조직 ID를 찾을 수 있습니다. 셸이나 프로젝트 루트의 .env
파일에서 이러한 환경 변수를 설정할 수 있습니다. 예를 들어 .env
파일에는 다음이 포함됩니다.
OPENAI_API_KEY= < your key >
OPENAI_API_ORG= < your org id >
또는 명령줄에서:
export OPENAI_API_KEY= < your key >
export OPENAI_API_ORG= < your org id >
Anthropic 엔진의 경우 ANTHROPIC_API_KEY
환경 변수를 설정해야 합니다. Anthropic 대시보드에서 API 키를 찾을 수 있습니다. 셸이나 프로젝트 루트의 .env
파일에서 이 환경 변수를 설정할 수 있습니다. 예를 들어 .env
파일에는 다음이 포함됩니다.
ANTHROPIC_API_KEY= < your key >
또는 명령줄에서:
export ANTHROPIC_API_KEY= < your key >
Google 엔진의 경우 Google Cloud Platform(GCP) 프로젝트가 필요한 Vertex 클라우드 API를 사용합니다. GCP 콘솔에서 GCP 프로젝트를 만들 수 있습니다. 또한 프로젝트에 대해 Vertex AI API를 활성화하고, 서비스 계정을 설정하고, 계정 JSON 사용자 인증 정보를 다운로드해야 합니다. 여기에서 튜토리얼의 1~6단계에 대한 지침을 찾을 수 있습니다. 마지막으로 GOOGLE_APPLICATION_CREDENTIALS
환경 변수를 JSON 파일의 경로로 설정해야 합니다. 셸이나 프로젝트 루트의 .env
파일에서 이 환경 변수를 설정할 수 있습니다. 예를 들어 .env
파일에는 다음이 포함됩니다.
GOOGLE_APPLICATION_CREDENTIALS= < path to your JSON file >
또는 명령줄에서:
export GOOGLE_APPLICATION_CREDENTIALS= < path to your JSON file >
Bard 엔진의 경우 Bard __Secure-1PSID 및 __Secure-1PSIDTS 토큰을 가져와야 합니다. 먼저 https://bard.google.com/으로 이동한 다음 로그인하고 콘솔에서 F12를 누르고 "애플리케이션" 탭으로 이동한 다음 "쿠키"로 이동하여 이 변수의 값을 가져옵니다. 그런 다음 "__Secure-1PSID" 및 "__Secure-1PSIDTS" 쿠키. 그런 다음 환경 변수를 설정할 수 있습니다.
BARD__Secure_1PSID= < your session id >
BARD__Secure_1PSIDTS= < your session id timestamp >
대부분의 Hugingface 엔진은 추가 설정이 필요하지 않지만 일부 대형 모델은 어떤 종류의 효율성으로든 실행하려면 GPU가 필요합니다(일부는 대용량 메모리를 갖춘 여러 GPU가 필요함). Huggingface 모델 허브에서 각 모델의 요구 사항에 대한 자세한 내용을 확인할 수 있습니다.
이러한 엔진의 경우 Facebook의 라이선스로 인해 직접 가중치를 얻고 후처리해야 합니다. 각 모델 페이지에서 이에 대한 지침을 찾을 수 있습니다.
가중치를 다운로드하고 처리한 후에는 다음 환경 변수를 각 변형에 대한 폴더가 포함된 루트 디렉터리로 설정할 수 있습니다(형식은 {root_dir}/{model-prefix}/weights.bin
, 루트 디렉터리는 다음과 같습니다). root_dir
, model-prefix는 모델 이름입니다(예: tulu-65b
).
LLAMA_WEIGHTS_ROOT= < path to the llama weights >
ALPACA_WEIGHTS_ROOT= < path to the alpaca weights >
KOALA_WEIGHTS_ROOT= < path to the koala weights >
VICUNA_WEIGHTS_ROOT= < path to the vicuna weights >
ALLENAI_WEIGHTS_ROOT= < path to the allenai weights >
AI21 모델의 경우 AI21_API_KEY
환경 변수를 설정해야 합니다. AI21 Studio 대시보드에서 API 키를 찾을 수 있습니다. 셸이나 프로젝트 루트의 .env
파일에서 이 환경 변수를 설정할 수 있습니다. 예를 들어 .env
파일에는 다음이 포함됩니다.
AI21_API_KEY= < your key >
또는 명령줄에서:
export AI21_API_KEY= < your key >
작업에 grazier를 사용하는 경우 다음을 인용해 주세요.
@misc{grazier,
author = {David Chan},
title = {grazier: Easily call Large Language Models from a unified API},
year = {2023},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {url{
https://github.com/DavidMChan/grazier
}}
}
grazier는 MIT 라이선스 조건에 따라 라이선스가 부여됩니다. 자세한 내용은 라이센스를 참조하세요.