Heyeteブログへようこそ!今回は、弊社のAIチャットサービス「Ruruna AI」を支える心臓部、すなわちLLM(大規模言語モデル)の選定と、サービスの快適性を高めるための調整について、その舞台裏を少しだけお話ししたいと思います。
LLM選定の2つの重要基準
数あるLLMの中からRuruna AIのベースを選ぶ際、最も重視したのは以下の2点です。
1. 日本語の自然さと知識量
ユーザーの皆さんにストレスなく、まるで友達と話しているかのような自然な日本語で応答するため、日本語の語彙、文法、そして日本の文化やニュースに対する知識量が豊富なモデルが必須でした。
2. 応答速度とコストパフォーマンス
いくら賢くても、応答に数分かかるようでは実用性がありません。私たちは、秒速で回答を開始できることと、多くのユーザーに無料で提供し続けるための**コスト効率**を厳しく評価しました。この速度とコストのバランスが、選定における最大の難関でした。
「スピード」と「クオリティ」の調整
選定したベースモデルに対し、私たちは「Ruruna AI」らしい応答を実現するために、独自の調整(ファインチューニング)を施しました。
最も苦労したのは、「速さ」と「回答の質」の両立です。応答速度を上げるために設定を調整すると、回答が短くなったり、深みがなくなったりしてしまいます。
- **調整A: プロンプト・エンジニアリングの徹底**
モデルの内部設定に頼るだけでなく、ユーザーからの指示(プロンプト)の前に、AIの役割や口調を詳細に定義したシステムプロンプトを入れ込みました。これにより、モデルの能力を最大限に引き出しつつ、応答速度を維持できました。 - **調整B: ストリーミング技術の最適化**
技術的な話になりますが、応答の「全文」を待たずに、生成された「単語」から順次ユーザーに表示する**ストリーミング技術**のバッファリングをミリ秒単位で調整しました。これにより、体感的な応答の速さが劇的に向上しました。
特に、Ruruna AIの「うざい」と一部で言われることもある(笑)あのフレンドリーな口調は、システムプロンプトによる詳細な**ペルソナ設定**の賜物です。ぜひ様々な話しかけ方で試してみてください。
今後も、Ruruna AIはユーザーの皆様のフィードバックを元に進化を続けます。開発チーム一同、より便利で快適なAI体験を提供できるよう努めてまいりますので、ご期待ください!