برنامه نویسی

برچسب‌گذاری توسط انجمن 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 خوب است.

منابع/اطلاعات اضافی

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا