Grazier 是一個 Python 函式庫,用於透過統一的 API 輕鬆呼叫大型語言模型。
來自 OpenAI:
來自人類:
來自Google/GCP:
來自擁抱臉
來自 Facebook(透過 Huggingface)
來自史丹佛大學(來自 Huggingface)
來自柏克萊(來自 Huggingface)
來自 StabilityAI(透過 Huggingface)
來自 AllenAI(來自 Huggingface)
來自AI21
圖像/語言模型:
Grazier 可以使用 pip 輕鬆安裝:
pip install grazier
每個法學碩士可能需要額外的設置,您可以在下面的引擎設置部分找到這些設置。
對於完成引擎,它很簡單:
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 引擎,您需要設定OPENAI_API_KEY
和OPENAI_API_ORG
環境變數。您可以在 OpenAI 儀表板上找到您的 API 金鑰和組織 ID。您可以在 shell 或專案根目錄下的.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 金鑰。您可以在 shell 或專案根目錄下的.env
檔案中設定此環境變數。例如,在.env
檔案中,您將具有:
ANTHROPIC_API_KEY= < your key >
或在命令列上:
export ANTHROPIC_API_KEY= < your key >
對於 Google 引擎,我們使用 Vertex 雲端 API,這需要 Google Cloud Platform (GCP) 專案。您可以在 GCP 控制台建立 GCP 專案。您還需要為您的專案啟用 Vertex AI API、設定服務帳戶並下載帳戶 JSON 憑證。您可以在此處找到有關本教學步驟 1 至 6 的說明。最後,您需要將GOOGLE_APPLICATION_CREDENTIALS
環境變數設定為 JSON 檔案的路徑。您可以在 shell 或專案根目錄下的.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 開啟控制台,然後前往「應用程式」標籤,然後前往“Cookies”,然後複製該變數的值“__Secure-1PSID”和“__Secure-1PSIDTS”cookie。然後您可以設定環境變數:
BARD__Secure_1PSID= < your session id >
BARD__Secure_1PSIDTS= < your session id timestamp >
大多數 Huggingface 引擎不需要額外的設置,但是,一些較大的型號需要 GPU 才能以任何效率運行(有些需要多個具有大量記憶體的 GPU)。您可以在 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
環境變數。您可以在 AI21 Studio 儀表板上找到您的 API 金鑰。您可以在 shell 或專案根目錄下的.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 許可條款獲得許可。請參閱許可證以了解更多資訊。