Grazier هي مكتبة Python لاستدعاء نماذج اللغات الكبيرة بسهولة من واجهة برمجة التطبيقات الموحدة.
من OpenAI:
من الأنثروبي:
من Google/GCP:
من عناق الوجه
من الفيسبوك (عبر Huggingface)
من جامعة ستانفورد (عبر Huggingface)
من بيركلي (عبر Huggingface)
من StabilityAI (عبر Huggingface)
من AllenAI (عبر Huggingface)
من AI21
نماذج الصورة/اللغة:
يمكن تثبيت Grazier بسهولة باستخدام النقطة:
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 مفتاح API. يتم إعداد هذه التفاصيل بشكل عام باستخدام متغيرات البيئة.
بالنسبة لمحركات OpenAI، ستحتاج إلى تعيين متغيرات البيئة OPENAI_API_KEY
و OPENAI_API_ORG
. يمكنك العثور على مفتاح API الخاص بك ومعرف المؤسسة على لوحة معلومات OpenAI. يمكنك تعيين متغيرات البيئة هذه في 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_API_KEY
. يمكنك العثور على مفتاح واجهة برمجة التطبيقات (API) الخاص بك في لوحة معلومات Anthropic. يمكنك تعيين متغير البيئة هذا في Shell الخاص بك أو في ملف .env
في جذر مشروعك. على سبيل المثال، في ملف .env
، سيكون لديك:
ANTHROPIC_API_KEY= < your key >
أو على سطر الأوامر:
export ANTHROPIC_API_KEY= < your key >
بالنسبة لمحركات Google، نستخدم Vertex cloud 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 لوحدة التحكم، والانتقال إلى علامة التبويب "التطبيقات"، ثم "ملفات تعريف الارتباط"، ثم انسخ قيمة ملفات تعريف الارتباط "__Secure-1PSID" و"__Secure-1PSIDTS". يمكنك بعد ذلك تعيين متغيرات البيئة:
BARD__Secure_1PSID= < your session id >
BARD__Secure_1PSIDTS= < your session id timestamp >
لا تتطلب معظم المحركات المعانقة أي إعداد إضافي، ومع ذلك، تتطلب بعض النماذج الأكبر حجمًا وحدة معالجة رسومات (GPU) لتعمل بأي نوع من الكفاءة (ويتطلب بعضها وحدات معالجة رسوميات متعددة ذات كميات كبيرة من الذاكرة). يمكنك العثور على مزيد من التفاصيل حول متطلبات كل طراز على مركز طراز Huggingface.
بالنسبة لهذه المحركات، ستحتاج إلى الحصول على الأوزان ومعالجتها بعد ذلك بنفسك (بسبب ترخيص فيسبوك). يمكنك العثور على تعليمات القيام بذلك في كل صفحة نموذجية:
بمجرد تنزيل الأوزان ومعالجتها، يمكنك تعيين متغيرات البيئة التالية إلى الدليل الجذر الذي يحتوي على مجلد لكل متغير (التنسيق هو {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. يمكنك تعيين متغير البيئة هذا في Shell الخاص بك أو في ملف .env
في جذر مشروعك. على سبيل المثال، في ملف .env
، سيكون لديك:
AI21_API_KEY= < your key >
أو على سطر الأوامر:
export AI21_API_KEY= < your key >
إذا كنت تستخدم المرعى في عملك، يرجى ذكر ما يلي:
@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. راجع الترخيص لمزيد من المعلومات.