साकुरा के एआई इंजन का उपयोग करके पीआर-एजेंट का उपयोग

साकुरा इंटरनेट द्वारा प्रदान किए गए “साकुरा के एआई इंजन” का उपयोग करके, पीआर-एजेंट का निर्माण कैसे किया जाए, इसके बारे में चर्चा की जाएगी। साकुरा इंटरनेट के अंदर से एक व्यक्ति के रूप में इसे विकसित करने के लिए इसका उपयोग न करने का कोई विकल्प नहीं होगा।

साकुरा का एआई इंजन क्या है

साकुरा का जनरेटिव एआई प्लेटफॉर्म “साकुरा का एआई इंजन” एक सेवा है जो साकुरा इंटरनेट द्वारा प्रदान किए गए जनरेटिव एआई मॉडल का उपयोग करने की अनुमति देती है।

"साकुरा का एआई इंजन" एक उपयोग के आधार पर भुगतान करने की व्यवस्था वाली मंच सेवा है जो विभिन्न जनरेटिव एआई मॉडल का उपयोग करने की अनुमति देती है। 
सभी समर्थित LLM मॉडल को साकुरा इंटरनेट द्वारा होस्ट किया गया है, इसलिए डेटा केवल ग्राहक और साकुरा इंटरनेट के बीच के संचार में ही समाप्त हो जाता है, और चैट पूर्णता आदि में उपयोग किया जाने वाला डेटा LLM मॉडल आदि के प्रशिक्षण में प्रयोग नहीं किया जाएगा, 
यह एक उच्च डेटा सुरक्षा सेवा है।

इसलिए, यह एक स्वदेशी कंपनी द्वारा प्रदान किया गया है, जिससे डेटा विदेश भेजे बिना, इसे सुरक्षित रूप से उपयोग करने की विशेषता है।

पीआर एजेंट क्या है

पीआर-एजेंट एक उपकरण है जो GitHub के पुल अनुरोधों का स्वतः समीक्षा करने के लिए LLM (बड़े पैमाने पर भाषाई मॉडल) का उपयोग करता है। पीआर-एजेंट कोड में परिवर्तनों को समझ सकता है और संभावित समस्याओं या सुधारों को इंगित कर सकता है। इससे डेवलपर्स को कोड समीक्षा का बोझ कम करने और गुणवत्ता में सुधार पर ध्यान केंद्रित करने में मदद मिलती है।

साकुरा के एआई इंजन में पीआर-एजेंट का उपयोग करना

मैनुअल के अनुसार, साकुरा के एआई इंजन का खाता टोकन प्राप्त करें।

पीआर-एजेंट के उपयोग के लिए भंडार में TOKEN सेट करें

GitHub के भंडार के Settings > Secrets and variables > Actions पर जाएं और SAKURA_AI_ENGINE_API_KEY नाम से एक सीक्रेट जोड़ें।

secret

secret token

GitHub एक्शन्स का सेटअप

पीआर-एजेंट GitHub एक्शन्स का उपयोग करके चलता है। भंडार के .github/workflows निर्देशिका में निम्नलिखित YAML फ़ाइल बनाएं।
इस बार, मॉडल के रूप में, Qwen3-Coder-480B-A35B-Instruct-FP8 का उपयोग किया जाएगा।

name: पीआर-एजेंट
on:
  pull_request:
    types: [opened, reopened, synchronize, ready_for_review]
  issue_comment:
    types: [created, edited]
  workflow_dispatch:

permissions:
  issues: write
  pull-requests: write
  contents: write

jobs:
  pr_agent_job:
    runs-on: ubuntu-latest
    name: हर पुल अनुरोध पर pr एजेंट चलाएँ
    steps:
      - name: पीआर एजेंट कार्रवाई कदम
        id: pragent
        uses: qodo-ai/pr-agent@main
        env:
          OPENAI_KEY: ${{ secrets.SAKURA_AI_ENGINE_API_KEY }}
          OPENAI__API_BASE: https://api.ai.sakura.ad.jp/v1
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          github_action_config.auto_review: "true"
          github_action_config.auto_describe: "true"
          github_action_config.auto_improve: "true"
          config.model: "openai/Qwen3-Coder-480B-A35B-Instruct-FP8"
          config.custom_model_max_tokens: "100000"
          config.fallback_models: '[ "openai/Qwen3-Coder-480B-A35B-Instruct-FP8" ]'
          pr_reviewer.extra_instructions: >-
            कृपया जापानी में उत्तर दें।            
          pr_description.extra_instructions: >-
            कृपया जापानी में उत्तर दें।            
          pr_code_suggestions.extra_instructions: >-
            कृपया जापानी में उत्तर दें।            
          pr_code_suggestions.num_code_suggestions: "2"

openai/ को मॉडल नाम के प्रीफिक्स में नहीं जोड़ने पर पीआर-एजेंट इसे पहचान नहीं पाएगा, इस पर ध्यान दें।

असल में चलाकर देखना

पीआर-एजेंट का GitHub एक्शन्स ट्रिगर होता है और पुल अनुरोध पर स्वतः समीक्षा टिप्पणियाँ जोड़ी जाती हैं। इसके लिए, ऐसा लग रहा है कि मुख्य.go को बनाकर एक PR बनाएँ।

package main

import (
	"fmt"
	"io/ioutil"
	"net/http"
)

func main() {
	http.HandleFunc("/", handler)
	http.ListenAndServe(":8080", nil)
}

func handler(w http.ResponseWriter, r *http.Request) {
	name := r.URL.Query().Get("name")
	if name == "" {
		name = "World"
	}
	body, err := ioutil.ReadAll(r.Body)
	if err != nil {
		http.Error(w, "शरीर को पढ़ने में असमर्थ", http.StatusBadRequest)
		return
	}
	r.Body.Close()

	fmt.Fprintf(w, "नमस्ते, %s!", name)
	fmt.Fprintf(w, "\nआपने भेजा: %s", string(body))
}

func calculate(x int, y int) int {
	result := x + y
	return result
}

func processData(data []string) {
	for _, item := range data {
		fmt.Println(item)
	}
}

जब आप PR बनाएँगे, तो पीआर-एजेंट का सीआई चलेगा।

pr-agent-ci

थोड़ी देर बाद, PR में विवरण और समीक्षा टिप्पणियाँ जोड़ी जाएँगी।

description

review

निष्कर्ष

  • परीक्षण भंडार
  • पीआर-एजेंट + साकुरा का एआई इंजन से कोड समीक्षा को स्वचालित किया जा सकता है
  • साकुरा का एआई इंजन एक स्वदेशी जनरेटिव एआई प्लेटफॉर्म है, जिसमें डेटा की सुरक्षा अधिक है
  • OpenAI के एपीआई का उपयोग करने की तुलना में, डेटा विदेश में नहीं भेजा जाता, इसलिए यह मानसिक रूप से भी सुरक्षित है