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