LLMの実際の活用事例

要約:elMejorTrato.comでLLM、ベクトルデータベース、RAGの導入に取り組み、次のことがわかりました。

  • スペイン語を扱うには工夫が必要です。
  • ChatGPTのAPIは費用が高すぎます。
  • LangChainやエージェントは、場合によっては過剰です。
  • SentenceBertとVectorDBを使うと、非常に優れたことができます。
  • 量子化したオープンソースのLLMでも、とても良い結果が得られます。

皆さんのプロジェクトで使えるように、Dockerで動かせるオープンソースの基本コードをこちらに公開しています。

プロトタイプを作る

ChatGPTが一般公開されてから広く知られるようになった大規模言語モデルは、今後の活用への期待を高めています。 LLMを使って汎用人工知能を模倣する例は数多くあり、まさに未来の技術のように見えます。 ここでは、elMejorTrato.comのウェブサイトにおける具体的な用途に焦点を当てます。

LLMはソフトウェア開発者に、二つの画期的な能力をもたらしました。

  1. 自然言語を解釈する能力。
  2. テキスト、音声、画像をベクトル検索する能力。

elMejorTrato.comでの具体例として、利用者が数値を入力する代わりに、借りたい金額を「家を増築するために$10,000必要です」のような文章で入力できる機能がありました。そのときの解決策は、テキスト入力欄を選択欄に置き換えることでした。今ではLLMの自然言語を解釈する能力により、利用者の意図をよりよく把握し、より良いサービスを提供できます。

もう一つの例は、LLMが生成した埋め込みを使ってテキストをベクトル検索し、ほかの利用者にすでに回答した質問を活用して、新たな質問にも答えることです。

これらの新しい方法を検証するため、フォークからプロトタイプを作る際、Dockerの優れたテンプレートをもとに、次の変更を加えました。

  • llama2がスペイン語で正しく動くようにプロンプトを調整。
  • チリ大学のスペイン語Bert埋め込みモデルを使用。
  • ベクトル検索とテキスト検索を組み合わせ、ローカルでもクラウドでも使えるデータベースとしてWeaviateを使用。
  • コードを簡潔にして、理解しやすく、自分のプロジェクトに合わせやすくする。