CodeRabbit(ai-pr-reviewer)を試す際に詰まったポイント
以下の話題になっていたCodeRabbitを実際に触ってみようとして詰まったポイントを記載。
1.「CodeRabbit」と「ai-pr-reviewer」とを混同しない
CodeRabbitは、GitHub Appとして動作するサービス。「≒ CodeRabbitのPro版」
ai-pr-reviewerは、CodeRabbitが提供するGitHub Actions。「≒ CodeRabbitのOSS版」
基本の機能としてはどちらも同じで、PRのレビューなどをしてくれるもの。
このサービスの違いを混同していたため、導入時にやや詰まった。
(CodeRabbitを使用するためにymlファイルの設定が必要だと勝手に思い込んでいた(二重設定してしまっていた)、、)
※ai-pr-reviewerについては、こちらの記事もすごく参考になりました。
CodeRabbit(GitHub App)は無料プランでも補助ツールとしては十分使える
せっかくなので、GitHub AppであるCodeRabbitも軽く紹介。
「CodeRabbit/Docs」
基本的な使用方法は簡単で、AppとGitHubとの連携を承認して、使用したいレポジトリを選択するだけでOK。
Pro版の料金は1シートに対して15ドル。
新規登録後は自動的に7日間の無料期間が始まるとの記載あり。
1: Sign Up for CodeRabbit
Start your journey with CodeRabbit by registering via your GitHub or GitLab account. With a simple, few-click process, you'll connect CodeRabbit to your account and be ready to go in no time. Each new sign-up automatically starts with a 7-day trial for up to 50 seats, letting your team dive into CodeRabbit's capabilities.
無料期間終了後は、自動的に無料プランが適用される。
無料プランだと、レビューはされずにPRの要約だけ実行される。
※ 要約だけでも十分便利なので、無料プランでも十分使えると思う。
むしろPRがレビューコメントまみれにならなずにスッキリとして思ったよりいい感じ。
PR要約ツールとしては十分使えそう。(自動レビュー目的ではなくなってしまっているが、、)
以下、無料プランの出力例。
2.OpenAI APIの新規登録した際に、rate limitの上限値が課金してるのに上がらない
「ai-pr-reviewer」を動かすためには、OpenAIのAPI Keyが必要になる。
今までOpenAIのAPI登録(課金)はしていなかったので、記事記載の通りにAPI Keyを取得する。
その後、ymlファイルに設定して、Actionsを実行まではすんなりといった。
が、記事に記載のあるように綺麗にActionsが完了しない。
エラーで変更ファイルが読み取れず、レビューされないファイルがちらほら発生してしまっている。
Files not summarized(reviewed) due to errors が発生
ログを見ると、以下のようなrate limitが上限に達しているとのエラーが何回も出ている。
response: undefined, failed to send message to openai: Error: OpenAI error 429: {
"error": {
"message": "Rate limit reached for 10KTPM-200RPM in organization <org-OrgName> on tokens per min.
Limit: 10000 / min. Please try again in 6ms.
Contact us through our help center at help.openai.com if you continue to have issues.",
OpenAIのアカウントからRate limits
項目を確認。
"あなたのアカウントが使用できるrate limitの上限は以下"だと記載がある。
「gpt-4のrate limitは「10000Tokens / 分」 なのかー。」
と思いつつ、ついでにgpt-3.5-turboのrate limitを確認すると、
「3リクエスト / 分」?少なすぎない?
ここで初めて上限がおかしそうだと気づき、色々と調べるとどうやらこれは無料枠の上限値らしい。
なぜか課金して送金されたメールも通知されているのに、rate limitの上限値が上がっていない。
Issueにも同様の問題が上がっていた。
また、以下のIssueを見ると、有料の上限になるまで2日かかるとの記載がある。
(これは他の記事でも見つけたが、ドキュメントのどこにこの記載があるか見つけられない。。。TODO:ドキュメント箇所を見つけ次第記載。)
とりあえずは、2日後に上限が上がることを信じて待ちつつ、一応上限値が上がらないです。とメールを送っておいた。
初めてOpenAIのAPIを取得する。って方はrate limitの上限値がしっかりと課金後の上限値になっているかは要確認。
その辺の仕様を知らずに、発生したエラーがActionsの設定の方に問題があると思ってgpt-4のActionsを回しまくると、簡単に従量課金が進むので要注意。
おまけ
rate limitが無料枠の時に、gpt-4
だからActionsが完了しないのかと思い、gpt-3.5-turbo
に変更して実行してみると、
無料枠ではgpt-3.5-turbo
のrate limitは 「3リクエスト / 分」 しかないので、Actions内でエラーが起きまくり、最終的に空レビューが返されて完了。
, backtrace: Error: OpenAI error 429: {
"error": {
"message": "Rate limit reached for default-gpt-3.5-turbo in organization <org-OrgName> on requests per min.
Limit: 3 / min. Please try again in 20s.
Contact us through our help center at help.openai.com if you continue to have issues.
Please add a payment method to your account to increase your rate limit.
Visit https://platform.openai.com/account/billing to add a payment method.",
"type": "requests",
"param": null,
"code": "rate_limit_exceeded"
}
<...膨大な上記エラーが発生...>
review: nothing obtained from openai
Submitting empty review for PR #×× // 空レビューが返されて完了
Discussion