برچسبگذاری توسط انجمن GPT – DEV
چیزی که من ساختم
من یک اکشن GitHub ایجاد کردم که برچسبهای مناسبی را برای یک موضوع باز/ویرایش شده انتخاب میکند و برچسبها را به صورت خودکار و بدون قوانین از پیش تعریفشده روی موضوع قرار میدهد.
ارسال دسته:
نگهدارنده باید داشته باشد
لینک برنامه
برچسبگذاری توسط GPT · اقدامات · بازار GitHub
اسکرین شات ها
می توانید این شماره را ببینید و با باز کردن شماره جدید آن را امتحان کنید!
شرح
وقتی یک شماره باز/ویرایش میشود، این عمل عنوان و توضیحات آن را میخواند، برچسبهای مناسب را در مخزن انتخاب میکند و آن برچسبها را به موضوع اضافه میکند.
شما نیازی به تعریف قوانینی ندارید که کدام موضوع باید دارای چه برچسب هایی باشد.
پیوند به کد منبع
این عمل برچسبها را به صورت خودکامه و بدون قاعده از پیش تعریفشده به یک موضوع در مخزن میگذارد.
هنگام ایجاد شماره جدید، این اقدام برچسبها را به صورت خودکامه و بدون قاعده از پیش تعریف شده به یک موضوع در مخزن میگذارد. این توسط OpenAI تکمیل API برای انتخاب برچسبهای مناسب ارائه میشود.
لطفا توجه داشته باشید که این عمل فقط پشتیبانی می کند issues
ماشه و دو نوع: opened
و edited
.
ورودی ها
openai-api-key
ضروری کلید OpenAI API شما.
github-token
اختیاری. توکن GitHub API برای دسترسی به GitHub API. مقدار پیش فرض است secrets.GITHUB_TOKEN
، یک نشانه API ارائه شده برای یک اقدام. مطمئن باشید که این توکن دارای مجوز برای برچسب زدن به یک مشکل است. این سند به شما کمک خواهد کرد.
مثال
on:
issues:
types: [opened, edited]
jobs:
test:
name: test
runs-on: ubuntu-latest
steps:
- uses: satoryu/labeling-by-gpt@main
with:
openai-api-key: ${{ secrets.OPENAI_API_KEY }}
مجوز مجاز
مجوز من
زمینه
در حفظ پروژه های OSS، تریاژ یک فعالیت مهم است. GitHub ویژگی «مسائل برچسبگذاری» را برای کمک به نگهداریکنندگان در تریپ کردن مشکلات مخازن خود ارائه میکند. اما تریاژ خسته کننده است! با باز شدن شماره جدید، نگهدارندهها باید عنوان و توضیحات آن را بخوانند، سپس برچسبهای مناسب را انتخاب کرده و برچسبها را به آن اضافه کنند. با افزایش مشکلات موجود در یک مخزن، حجم کاری تریاژ نیز افزایش می یابد. اگر نگهبانان کمی از مخزن وجود داشت، تریاژ غیرممکن بود.
GitHub Action امکان کاهش این حجم کاری را دارد. اما نگهدارندهها از قبل قوانینی را تعریف میکنند که در آن شرایط و برچسبهایی که عمل باید انتخاب کند و به یک موضوع اضافه کند.
از سوی دیگر، NLP توسط ChatGPT، API های OpenAI محبوب می شود. API تکمیل OpenAI چندین کار را به یک متن داده شده پردازش می کند. من به این ایده رسیدم که این API به نگهبانان کمک می کند تا مشکلات خود را تریپ کنند.
این انگیزه من برای توسعه این اکشن GitHub است.
چگونه آن را ساختم
ابتدا باید تأیید میکردم که API تکمیل OpenAI همانطور که میخواهم کار میکند: برچسبهای مناسب را از برچسبهای موجود در یک مخزن انتخاب کنید.
برای انجام این کار از ChatGPT استفاده کردم:
در مرحله بعد، آن را در مخزن آن پیاده سازی و تست کردم.
این بسیار ساده و آسان است: یک فایل YAML را در زیر تعریف کنید .github/workflows
.
on:
issues:
types: [opened, edited]
jobs:
test:
name: test
runs-on: ubuntu-latest
steps:
- uses: satoryu/labeling-by-gpt@main
with:
openai-api-key: ${{ secrets.OPENAI_API_KEY }}
مشخص کردن شاخه اصلی مانند satoryu/labeling-by-gpt@main
not version (به عنوان مثال v0.0.1) همیشه به آخرین نسخه این عمل اشاره دارد. این پیکربندی برای آزمایش در GitHub خوب است.
منابع/اطلاعات اضافی