Grazier adalah pustaka Python untuk memanggil model bahasa besar dengan mudah dari API terpadu.
Dari OpenAI:
Dari Antropis:
Dari Google/GCP:
Dari Huggingface
Dari Facebook (melalui Huggingface)
Dari Stanford (melalui Huggingface)
Dari Berkeley (melalui Huggingface)
Dari StabilityAI (melalui Huggingface)
Dari AllenAI (melalui Huggingface)
Dari AI21
Model Gambar/Bahasa:
Grazier dapat dengan mudah diinstal menggunakan pip:
pip install grazier
Masing-masing LLM mungkin memerlukan pengaturan tambahan, yang dapat Anda temukan di bagian pengaturan mesin di bawah.
Untuk mesin penyelesaian, sesederhana:
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 )
Untuk mesin obrolan, yang perlu Anda lakukan hanyalah menambahkan parameter 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 )
Untuk mesin (gambar) yang ditambah penglihatan, gunakan 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 )
Setiap mesin mungkin memerlukan beberapa detail spesifik untuk diteruskan. Misalnya, mesin OpenAI memerlukan kunci API. Detail ini umumnya diatur dengan variabel lingkungan.
Untuk mesin OpenAI, Anda perlu menyetel variabel lingkungan OPENAI_API_KEY
dan OPENAI_API_ORG
. Anda dapat menemukan kunci API dan ID organisasi Anda di dasbor OpenAI. Anda dapat mengatur variabel lingkungan ini di shell Anda atau di file .env
di root proyek Anda. Misalnya, dalam file .env
, Anda akan memiliki:
OPENAI_API_KEY= < your key >
OPENAI_API_ORG= < your org id >
atau di baris perintah:
export OPENAI_API_KEY= < your key >
export OPENAI_API_ORG= < your org id >
Untuk mesin Anthropic, Anda perlu menyetel variabel lingkungan ANTHROPIC_API_KEY
. Anda dapat menemukan kunci API Anda di dasbor Anthropic. Anda dapat mengatur variabel lingkungan ini di shell Anda atau di file .env
di root proyek Anda. Misalnya, dalam file .env
, Anda akan memiliki:
ANTHROPIC_API_KEY= < your key >
atau di baris perintah:
export ANTHROPIC_API_KEY= < your key >
Untuk mesin Google, kami menggunakan Vertex cloud API, yang memerlukan proyek Google Cloud Platform (GCP). Anda dapat membuat proyek GCP di konsol GCP. Anda juga perlu mengaktifkan Vertex AI API untuk proyek Anda, menyiapkan akun layanan, dan mengunduh kredensial JSON akun. Anda dapat menemukan petunjuknya dengan mengikuti langkah 1 hingga 6 tutorial di sini. Terakhir, Anda perlu menyetel variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS
ke jalur file JSON. Anda dapat mengatur variabel lingkungan ini di shell Anda atau di file .env
di root proyek Anda. Misalnya, dalam file .env
, Anda akan memiliki:
GOOGLE_APPLICATION_CREDENTIALS= < path to your JSON file >
atau di baris perintah:
export GOOGLE_APPLICATION_CREDENTIALS= < path to your JSON file >
Untuk mesin Bard, Anda perlu mendapatkan token Bard __Secure-1PSID dan __Secure-1PSIDTS Anda. Dapatkan nilai variabel ini dengan terlebih dahulu membuka https://bard.google.com/, lalu login, tekan F12 untuk konsol, dan buka tab "Aplikasi", lalu "Cookie", lalu salin nilai variabel Cookie "__Secure-1PSID" dan "__Secure-1PSIDTS". Anda kemudian dapat mengatur variabel lingkungan:
BARD__Secure_1PSID= < your session id >
BARD__Secure_1PSIDTS= < your session id timestamp >
Sebagian besar mesin pelukan tidak memerlukan pengaturan tambahan, namun beberapa model yang lebih besar memerlukan GPU untuk bekerja dengan efisiensi apa pun (dan beberapa memerlukan beberapa GPU dengan memori dalam jumlah besar). Anda dapat menemukan detail selengkapnya tentang persyaratan untuk setiap model di hub model Huggingface.
Untuk mesin ini, Anda perlu memperoleh dan memproses sendiri bobotnya (karena lisensi Facebook). Anda dapat menemukan petunjuk untuk melakukannya di setiap halaman model:
Setelah bobot diunduh dan diproses, Anda dapat mengatur variabel lingkungan berikut ke direktori akar yang berisi folder untuk setiap varian (Formatnya adalah, {root_dir}/{model-prefix}/weights.bin
, direktori akarnya adalah root_dir
, dan awalan model adalah nama model, misalnya 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 >
Untuk model AI21, Anda perlu menyetel variabel lingkungan AI21_API_KEY
. Anda dapat menemukan kunci API Anda di Dasbor AI21 Studio. Anda dapat mengatur variabel lingkungan ini di shell Anda atau di file .env
di root proyek Anda. Misalnya, dalam file .env
, Anda akan memiliki:
AI21_API_KEY= < your key >
atau di baris perintah:
export AI21_API_KEY= < your key >
Jika Anda menggunakan penggembala dalam pekerjaan Anda, harap kutip:
@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
}}
}
penggembala dilisensikan berdasarkan ketentuan lisensi MIT. Lihat LISENSI untuk informasi lebih lanjut.