Grazier — это библиотека Python для простого вызова больших языковых моделей из унифицированного API.
Из ОпенАИ:
Из Антропика:
Из Google/GCP:
От Huggingface
Из 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
. Вы можете найти свой ключ API и идентификатор организации на панели управления OpenAI. Вы можете установить эти переменные среды в своей оболочке или в файле .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
. Вы можете найти свой ключ API на панели инструментов Anthropic. Вы можете установить эту переменную среды в своей оболочке или в файле .env
в корне вашего проекта. Например, в файле .env
у вас будет:
ANTHROPIC_API_KEY= < your key >
или в командной строке:
export ANTHROPIC_API_KEY= < your key >
Для движков Google мы используем облачный API Vertex, для которого требуется проект Google Cloud Platform (GCP). Вы можете создать проект GCP на консоли GCP. Вам также потребуется включить API Vertex AI для вашего проекта, настроить учетную запись службы и загрузить учетные данные учетной записи в формате 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 для консоли и перейдите на вкладку «Приложение», затем «Файлы cookie», затем скопируйте значение Файлы cookie «__Secure-1PSID» и «__Secure-1PSIDTS». Затем вы можете установить переменные среды:
BARD__Secure_1PSID= < your session id >
BARD__Secure_1PSIDTS= < your session id timestamp >
Большинство движков Huggingface не требуют дополнительной настройки, однако некоторым из более крупных моделей требуется графический процессор для работы с любой эффективностью (а некоторым требуется несколько графических процессоров с большим объемом памяти). Более подробную информацию о требованиях для каждой модели можно найти в разделе моделей Huggingface.
Для этих движков вам необходимо будет самостоятельно получить и постобработать веса (в связи с лицензией Facebook). Инструкции по этому поводу можно найти на странице каждой модели:
После загрузки и обработки весов вы можете установить следующие переменные среды в корневой каталог, содержащий папку для каждого варианта (формат: {root_dir}/{model-prefix}/weights.bin
, корневой каталог будет root_dir
, а префикс модели — это имя модели, например, 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
. Вы можете найти свой ключ API на панели инструментов AI21 Studio. Вы можете установить эту переменную среды в своей оболочке или в файле .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. См. ЛИЦЕНЗИЮ для получения дополнительной информации.