-
-
Notifications
You must be signed in to change notification settings - Fork 143
各AIのモデル一覧を一つのファイルにまとめる #378
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
各AIのモデル一覧を一つのファイルにまとめる #378
Conversation
Co-Authored-By: ニケちゃん / nikechan <o3nike.teg.14@gmail.com>
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Walkthroughこの変更は、各AIプロバイダーのモデル一覧とデフォルトモデルを一元管理するための新しい定数モジュール( Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant ModelProvider
participant aiModelsConstants
User ->> ModelProvider: モデル選択UIを表示
ModelProvider ->> aiModelsConstants: モデル一覧・デフォルト値をインポート
ModelProvider -->> User: モデル選択肢を動的にレンダリング
Assessment against linked issues
Possibly related PRs
✨ Finishing Touches
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Deploying aituber-kit-docs with
|
| Latest commit: |
4ad872d
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://8759a356.aituber-kit-4s1.pages.dev |
| Branch Preview URL: | https://devin-1746172485-consolidate.aituber-kit-4s1.pages.dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
src/features/constants/aiModels.ts (1)
1-16: 各AIサービスのデフォルトモデルを一元管理AIサービスとそのデフォルトモデルのマッピングが明確に定義されています。このオブジェクトを中央化することで、アプリケーション全体でのデフォルトモデルの一貫性が確保されます。
TypeScriptの型定義を追加すると、より堅牢になります。例えば:
export type AIServiceKey = 'openai' | 'anthropic' | 'google' | /* ... その他のサービス */; export const defaultModels: Record<AIServiceKey, string> = { /* ... */ }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
src/components/settings/modelProvider.tsx(13 hunks)src/features/constants/aiModels.ts(1 hunks)src/features/stores/settings.ts(1 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (3)
src/features/stores/settings.ts (1)
src/features/constants/aiModels.ts (2)
multiModalAIServices(101-101)googleSearchGroundingModels(51-55)
src/components/settings/modelProvider.tsx (1)
src/features/constants/aiModels.ts (11)
openaiRealtimeModels(25-29)openaiAudioModels(31-35)openaiModels(18-23)anthropicModels(37-42)googleModels(44-49)groqModels(57-62)cohereModels(64-72)mistralaiModels(74-79)perplexityModels(81-87)fireworksModels(89-97)deepseekModels(99-99)
src/features/constants/aiModels.ts (1)
src/features/stores/settings.ts (2)
googleSearchGroundingModels(27-27)multiModalAIServices(24-24)
🔇 Additional comments (17)
src/features/constants/aiModels.ts (3)
18-55: OpenAIとGoogleのモデルリストが適切に分類されています通常モデル、リアルタイムモデル、オーディオモデルが明確に分離され、特定の機能に必要なモデルを簡単に選択できるようになっています。Google検索連携モデルも適切に定義されています。
モデルのバージョン変更や追加が発生した場合、この1ファイルだけを更新すれば良いのでメンテナンス性が向上しています。
57-99: 他のAIプロバイダーのモデルリストが整理されていますGroq、Cohere、Mistral AI、Perplexity、Fireworksなど、様々なAIプロバイダーのモデルが一覧化されており、各プロバイダーごとに明確に分類されています。
Fireworksのモデル名には長いプレフィックスが含まれていますが、表示時に処理されていることを確認しました(modelProvider.tsxの931行目)。
101-101: マルチモーダルAIサービスのリストを定義このリストは、画像処理などのマルチモーダル機能をサポートするAIサービスを識別するために使用されています。
今後、他のプロバイダーがマルチモーダル機能をサポートした場合、このリストに追加するだけで良いので拡張性も確保されています。
src/features/stores/settings.ts (1)
19-28: 定数の中央管理化による再利用AIモデルの定数を
aiModels.tsからインポートして再エクスポートする形に変更され、一元管理されるようになりました。このパターンは名前空間の汚染を避けつつ、一貫性を保つのに有効です。インポート名に
importedプレフィックスを付けることで、再エクスポートする際に名前の衝突を防いでいます。このパターンは変数のソースを明確にするので良い実践です。src/components/settings/modelProvider.tsx (13)
21-34: AIモデルの一元管理されたインポートモデルリストを
aiModels.tsから直接インポートすることで、コードの重複を削減し、一貫性を確保しています。必要なモデルリストが明示的にインポートされているので、依存関係が明確になっています。
135-135: コメントによる説明追加このコメントは、以前のコードでは直接定義されていた
defaultModelsが現在はインポートされていることを説明しています。コードの変更履歴や理解を助けるため、このような説明コメントは有用です。
370-374: 動的なモデルリスト生成(OpenAIリアルタイムモデル)ハードコードされたオプションリストが、配列からの動的マッピングに置き換えられています。これにより、新しいモデルが追加された場合でも、このコードを変更する必要がなくなり、メンテナンス性が向上しています。
437-441: 動的なモデルリスト生成(OpenAIオーディオモデル)オーディオモデルもリアルタイムモデルと同様に、中央管理された配列から動的に生成されるようになっています。一貫した実装パターンが使用されており、コードの予測可能性が向上しています。
468-472: 動的なモデルリスト生成(OpenAI標準モデル)標準のOpenAIモデルも同様に、中央管理された配列から動的に生成されるようになっています。これにより、モデルの追加や変更が簡単になり、アプリケーション全体での一貫性が確保されています。
512-516: 動的なモデルリスト生成(Anthropicモデル)Anthropicのモデルリストも、中央管理された配列から動的に生成されるようになっています。すべてのAIプロバイダーで同じパターンが適用されており、コードの一貫性が確保されています。
563-567: 動的なモデルリスト生成(Googleモデル)Googleのモデルリストも、中央管理された配列から動的に生成されるようになっています。これにより、使用可能なモデルを簡単に更新でき、アプリケーション全体での一貫性が確保されています。
749-753: 動的なモデルリスト生成(Groqモデル)Groqのモデルリストも、中央管理された配列から動的に生成されるようになっています。すべてのAIプロバイダーで一貫したパターンが使用されており、コードの予測可能性と保守性が向上しています。
794-798: 動的なモデルリスト生成(Cohereモデル)Cohereのモデルリストも、中央管理された配列から動的に生成されるようになっています。コードの重複が削減され、モデルリストの管理が容易になっています。
839-843: 動的なモデルリスト生成(Mistral AIモデル)Mistral AIのモデルリストも、中央管理された配列から動的に生成されるようになっています。一貫したパターンの適用により、コードのメンテナンス性と可読性が向上しています。
884-888: 動的なモデルリスト生成(Perplexityモデル)Perplexityのモデルリストも、中央管理された配列から動的に生成されるようになっています。リストの追加や更新が簡単になり、アプリケーション全体での一貫性が確保されています。
929-933: Fireworksモデルの表示改善Fireworksのモデルは、表示時に
accounts/fireworks/models/プレフィックスを削除して、より読みやすい形式で表示されています。ユーザーエクスペリエンスの観点から、これは良い改善です。プレフィックス除去のロジックをより中央化することも検討できますが、現在の実装でも問題ありません。
1053-1057: 動的なモデルリスト生成(DeepSeekモデル)DeepSeekのモデルリストも、中央管理された配列から動的に生成されるようになっています。これで、すべてのAIプロバイダーで一貫したパターンが適用され、コードの一貫性と保守性が確保されています。
各AIのモデル一覧を一つのファイルにまとめる
概要
各AIのモデルリストを一つのファイル(src/features/constants/aiModels.ts)にまとめました。
これにより、モデルリストの管理が容易になり、コードの重複が削減されました。
変更内容
src/features/constants/aiModels.tsを作成し、すべてのAIモデルリストを集約関連Issue
Closes #374
タグ
devin
<slack_thread_ts>1746172205.291659</slack_thread_ts>
Summary by CodeRabbit
新機能
リファクタリング