گوریل: LLM با API ها متصل است
Gorilla یک مدل زبان بزرگ (LLM) است که قادر به فراخوانی APIها است. این در طیف گسترده ای از اسناد API آموزش دیده است و می تواند فراخوانی مناسب API را برای یک سوال زبان طبیعی معین، از جمله پارامترهای ورودی صحیح ایجاد کند. گوریل نسبت به تکنیک های قبلی برای فراخوانی API دقیق تر است و کمتر احتمال دارد که استفاده نادرست از API را توهم کند.
Gorilla LLM متصل به APIها
Gorilla یک مدل زبان بزرگ (LLM) است که با APIها متصل است. این برنامه بر روی مقدار زیادی از اسناد API آموزش دیده است و می تواند فراخوانی مناسب API را برای یک سوال زبان طبیعی مشخص، از جمله پارامترهای ورودی صحیح ایجاد کند. گوریل نسبت به تکنیک های قبلی برای فراخوانی API دقیق تر است و کمتر احتمال دارد که استفاده نادرست از API را توهم کند.
Gorilla ابزار مفیدی برای توسعه دهندگانی است که می خواهند عملیات را خودکار کنند یا برنامه ها را با استفاده از API بسازند. محققان علاقه مند به استفاده از API ها در پردازش زبان طبیعی نیز می توانند از آن استفاده کنند.
نحوه نصب مدل زبان گوریلا
- نصب Dependencies:
- ترمینال یا خط فرمان خود را باز کنید.
- برای ساختن یک محیط جدید Conda به نام “gorilla” با Python 3.10، از دستور زیر استفاده کنید:
conda create -n gorilla python=3.10
- محیط گوریل را فعال کنید:
فعال کردن گوریل
بسته های پایتون لازم را با دستور زیر نصب کنید، با فرض اینکه فایلی به نام “requirements.txt” با وابستگی ها دارید:
pip install -r requirements.txt
- نصب Gorilla Delta Weights:
- وزنهای اصلی LLaMA را از نخمه داده شدهhref=”https://huggingface.co/docs/transformers/main/model_doc/llama” دریافت کنید.
- دانلود target=”_blank” rellowerce’ener”>n وزن دلتای گوریل.
- استفاده از وزن دلتا:
- جایگزینها را در دستور پایتون زیر با مسیرهای فایل مناسب جایگزین کنید:
python apply_delta.py --base-model-path path/to/hf_llama/ --target-model-path path/to/gorilla-7b-hf-v0 --delta-path path/>
- وزن های دلتا با این دستور به مدل LLaMA شما اعمال می شوند.
- استفاده از CLI برای استنتاج:
- برای شروع تعامل با مدل گوریلا با استفاده از رابط خط فرمان (CLI)، از دستور زیر استفاده کنید:
python serve/gorilla_cli.py --model-path path/to/gorilla-7b-{hf,th,tf}-v0
Path/to/gorilla-7b-hf,th,tf-v0
باید با مسیر واقعی به مدل گوریلا جایگزین شود.
- استنتاج دسته ای در یک فایل درخواستی اختیاری است:
- یک فایل JSONL با پرس و جوهایی که می خواهید مدل گوریلا به آنها پاسخ دهد بسازید. هر سوال باید به زبان JSON نوشته شود و دارای یک قسمت "question_id" و "text" باشد.
- جایگزینها را با مکانهای مناسب فایل جایگزین کنید و دستور زیر را اجرا کنید:
python gorilla_eval.py --model-path path/to/gorilla-7b-hf-v0 --question-file path/to/questions.jsonl --answer-file path/to/answers.jsonl>co
این برنامه استنتاج دستهای در مورد سؤالات فایل ورودی انجام میدهد و پاسخهای تولید شده را در فایل خروجی ذخیره میکند.
ساختار مخزن
پوشه data
شامل مجموعههای داده متنوعی از جمله اسناد API و مجموعه دادههای APIBench است.
- هر فایل در زیر شاخه
api
یک API را نشان می دهد و عنوان آن {api_name}_api.jsonl
است.
- زیر پوشه
apibench
شامل مجموعه داده های آموزش و ارزیابی مدل LLM است. این شامل فایلهای {api_name}_train.jsonl
و {api_name}_eval.jsonl
است.
- API های ارائه شده توسط انجمن را می توان در فهرست فرعی
apizoo
پیدا کرد.
پوشه eval
شامل کد ارزیابی و خروجیها است.
- فایل
README.md
به احتمال زیاد حاوی دستورالعملها یا دادههای مربوط به فرآیند ارزیابی است.
- برای دریافت پاسخ از مدلهای LLM، از اسکریپت
get_llm_responses.py
استفاده کنید.
- دایرکتوری فرعی
eval-scripts
شامل اسکریپت های ارزیابی برای هر API است، مانند ast_eval_{api_name}.py
.
- دایرکتوری فرعی eval-data شامل سوالات و پاسخ های ارزیابی است.
- فایلهای سؤال در زیرپوشه
questions
بر اساس نام API و معیار ارزیابی سازماندهی شدهاند.
- در زیر شاخه
questions
، هر پوشه API دارای فایل هایی با عنوان questions_{api_name}_{eval_metric}.jsonl
است.
- فایلهای پاسخ نیز در زیرپوشه
responses
بر اساس نام API و معیار ارزیابی سازماندهی میشوند.
- در پاسخ به زیرپوشه، هر پوشه API حاوی فایلهایی با عنوان
responses_{api_name}Gorilla_FT{eval_metric}.jsonl
و responses_{api_name}Gorilla_RT{eval_metric}
.jsonl است.
پوشه inference
حاوی کدی برای اجرای محلی Gorilla است.
- فایل
README.md
این پوشه به احتمال زیاد حاوی دستورالعملهایی برای اجرای کد استنتاج است.
- دایرکتوری فرعی
serve
حاوی اسکریپت های رابط خط فرمان گوریلا (CLI) و یک الگوی چت است.
- پوشه
قطار
برچسب "به زودی خواهد آمد!" و به احتمال زیاد قرار است شامل کد آموزشی مدل گوریلا باشد. با این حال، به نظر می رسد که این پوشه اکنون در دسترس نیست.