2024.07.08

LangServe,LangSmithで、最新のLangChainを使ったLLM OPSを実践しよう

導入

こんにちは。グループ研究開発本部 次世代システム研究室のH.Oです。今回もAIアプリケーション開発の話題をお届けしたいと思います。OpenAI社のChatGPT、Google社のGemini、Meta社のLlama、Anthropic社のClaudeといった代表的なLLMはすっかりお馴染みだと思いますが、これらのLLMをアプリケーションに組み込むときに用いるフレームワーク、LangChainについても既に利用したことのある方は多いと思います。LangChainでは、今年2月にリリースされた大幅なアップデートにより、LLM OPSのサイクルを完結させることのできる機能が公開されました。今回はオーソドックスなRAGを用いたQA botの課題を例に、これらの機能を活用する実践的な入門編をお届けします。

目次

  • 結論ファースト
  • これまでの技術的課題
  • LangChainの新しいアーキテクチャと機能の紹介
  • 取り組む課題
  • 実装
    • 使用技術・環境
    • LangServeを用いたLangChain アプリケーションの構築
    • LangSmithへの連携
    • Chainの性能評価
  • 今後の課題
  • まとめ
  • 参考資料
  • 最後に

1. 結論ファースト

  • LangServeを使って、作成したLLM ChainをRest APIの形でアプリケーションとして公開できる。CLIで簡単にアプリケーションを作成でき、自動的に付与されるプレイグラウンドのエンドポイントから実行もできる。
  • LangSmithを使って作成したLLM Chainアプリケーションの実行ログの取得、デバッグといったモニタリング、性能評価、ファインチューニングなどが可能になった。これまでローカルで検証用に作成することの多かったLLM chainを一つのアプリケーションとして本番環境で運用することができるようになる。

 

2. これまでの技術的課題

  • LangchainやLlamaindexを使って、アプリケーションにLLMを組み込んだり、RAGなどのchainをローカルで実装して、チューニング・精度検証するということは行われてきました。しかし、作成したchain自体をアプリケーション単体でデプロイし、実行ログをモニタリングする、debugする、性能評価やチューニングを行うといった仕組みは整っていなかったため、本番環境でのアプリケーション運用が難しい状態にありました。

 

3. LangChainの新しいアーキテクチャと機能の紹介

アーキテクチャ

  • 今回実装で使用する新機能の個別的な説明の前に、LangChainの根本的なアーキテクチャが大きく変更されているので、おさらいをします。(2024年5月にv0.2がリリースされている。)

(出典: https://python.langchain.com/v0.2/docs/concepts/#langsmith

1. LangChain-core

ここでは、LLM(大規模言語モデル)、ベクトルストア、リトリーバーなどの主要なコンポーネントのインターフェースが定義されています。

2. Partner Packages

サードパーティとの統合モジュール(例:langchain-openai、langchain-anthropicなど)を独自のパッケージに分けています。これは、重要な統合に対するサポートを向上させるためです。

3. LangChain

メインのlangchainパッケージには、アプリケーションのアーキテクチャを構成する汎用的なchain, agent、およびretrieval戦略が含まれて今うs。

4. LangChain-Community

このパッケージには、LangChainコミュニティによって維持される第三者統合が含まれています。主要なパートナーパッケージは分離されています。ここには、様々なコンポーネント(LLMs、ベクトルストア、リトリーバー)の統合が含まれており、依存関係は必要に応じて軽量に保たれています。

5. LangGraph

今回は詳しく触れませんが、LLMを使用したマルチアクターアプリケーションを構築するためのLangChainの拡張です。ステップをグラフのエッジとノードとしてモデル化することで実現します。

下記処理のloopで実行されていきます。

  1. 何かアクションを実行するか、どのようなレスポンスをユーザーに返すかを決定する。

  2. 実行した後1に戻る

使用例としては、1回目のqueryで有用な結果を取得できなければ失敗してしまう→ 1回目のqueryで有用な結果を得られなければ、次に洗練されたqueryを実行する、といったloop処理を繋ぎ込むことでRAGを改良するといったケースが考えられます。

6.LangServe

LangChainチェーンをREST APIとしてデプロイするためのパッケージです。これにより、プロダクションレディのAPIを簡単に立ち上げることができます。

7. LangSmith

LangSmithは、LLMアプリケーションをデバッグ、テスト、評価、監視するための開発者向けプラットフォームです。

 

 

4. 取り組む課題

  • 私が参加しているプロジェクト、教えてAIについてのQA botを作成します。
  • 教えてAIのプレスリリースなどのURLから、データを取得し、LangChainで構築したRAG Chainを実装します。
  • LangServeを使って構築したRAG Chainをアプリケーションに組み込みます。
  • LangSmithを使って構築したQA botの性能を評価します。

5. 実装

使用技術・環境

  • Python 3.11
  • langchain 0.2.1
  • langchain-anthropic 0.1.11
  • langchain-chroma 0.1.0
  • langchain-cli 0.0.21
  • langchain-community 0.0.34
  • langchain-openai 0.1.4
  • langchainhub 0.1.15
  • langserve 0.1.0
  • langsmith 0.1.52
  • Anacondaで立ち上げた仮想環境を使っています。

LangServeを用いたLangChain アプリケーションの構築

  1. 準備
    1. LangChain CLIのインストール
      pip install langchain-cli
    2. アプリケーションのtemplateを生成する
      LangServeをインストール

      pip install "langserve[all]"

      ※[all]とするとclient, server両方がinstallされる。[client] or [server]で片方のみinstallできる。

      langchain app new ragapp

      このコマンドを実行すると、以下のファイル構成をとるFastAPIで構築されたアプリケーションテンプレートが自動的に生成される。

      ├── Dockerfile
      ├── README.md
      ├── app
      │   ├── __init__.py
      │   ├── __pycache__
      │   │   ├──│  …
      │   ├── client.py
      │   └── server.py
      ├── packages
      │   ├── README.md
      │   └── __pycache__
      |   ... 
      └── pyproject.toml

      defaultでdocker fileとpoetryが同梱されているため、docker × poetryでローカルに立ち上げた仮想環境で実装することもできます。筆者は今回普段使っているanacondaの仮想環境を使いました。

  2. LangServeでアプリケーションを構築
    1.  fileの紹介
      生成されたテンプレートのserver.pyに、エンドポイントを記述し、構築したChainを代入することによって、LangChain RunnableやChainsをREST APIとしてデプロイできます。
      アプリケーションのtitle, version, descriptionなどを記入します。

      app = FastAPI(
          title="Okuda LangChain Server",
          version="0.1",
          description="A server for running language models",
      )
    2.  環境変数の設定
      .envに使用するAI ModelのAPIキーを設定します。

      OPENAI_API_KEY="xxxxxxxxxxxx"
      ANTHROPIC_API_KEY="xxxxxxxxxxxxxxx"
    3.  chainを作成
      例えば、OpenAI APIやAnthropic APIを使用する場合は、下記のようにserver.pyの中で、Runnableをendpointに記入するだけで、簡単にAPIが作成できます。第二引数に入れるChainはRunnable Interfaceを持たなければなりません。

      add_routes(
          app,
          ChatOpenAI(),
          path="/openai",
      )
      
      add_routes(
          app,
          ChatAnthropic(model_name="claude-3-opus-20240229"),
          path="/anthropic",
      )

      以下のようにRag Chainを実装してend pointに登録しました。

      retrieverの実装

      retriever.py
      
      import openai
      from langchain_text_splitters import RecursiveCharacterTextSplitter
      from langchain_community.document_loaders.recursive_url_loader import RecursiveUrlLoader
      from langchain_openai import OpenAIEmbeddings
      from langchain_community.vectorstores import Chroma
      from bs4 import BeautifulSoup as Soup
      import getpass
      
      from dotenv import load_dotenv
      load_dotenv()
      
      
      def create_retriever():
          urls = ["https://note.com/ishimaru_home/n/n4dd6c54327a3",
                  "https://www.gmo.jp/news/article/8971/"]
      
      
          docs = []
          for url in urls:
              loader = RecursiveUrlLoader(
                  url=url, max_depth=20, extractor=lambda x: Soup(x, "html.parser").text
              )
              doc_list = loader.load()
              docs.extend(doc_list)  # 各Documentをdocsリストに追加
      
          text_splitter = RecursiveCharacterTextSplitter(
              chunk_size=4500, chunk_overlap=200)
          splits = text_splitter.split_documents(docs)
      
          vectorstore = Chroma.from_documents(
              documents=splits, embedding=OpenAIEmbeddings()
          )
      
          retriever = vectorstore.as_retriever()
          return retriever

      endpointを作ります。

      from app.rag_for_eval.rag_bot import create_retriever
      retriever = create_retriever()
      def create_rag_chain():
        prompt = ChatPromptTemplate.from_template("Explain {topic}")
        llm = ChatOpenAI(model="gpt-4o", temperature=0)
        output_parser = StrOutputParser()
        chain = retriever | prompt | llm | output_parser
        return chain
      
      
      rag_chain = create_rag_chain()
      
      add_routes( app, rag_chain, path="/rag", )
      

       

    4. LangServeを起動する
      langchain serve
    5. REST APIのdocumentを見る。
      localhost:8000/docs

      上記にアクセスすると、Swaggerのformatでendpointの一覧を見ることができます。
      自分で設定したendpointのslug名に準じて、/playgroundや/invoke /batchといったさまざまなend pointが自動的に生成されていることを確かめられます。

    6. プレイグラウンドを開く。
      localhost:8000/${設定したendpoint}/playground

      上記にアクセスすると、playgroundを開くことができます。こちらから、実際にプロンプトを入力し、出力をUIで確認することができます。

    7. プロンプトを入力して、応答が返る

 

LangSmithでの性能評価

ここからは、実装したRagBotをLangSmithを使ってモニタリングし、性能評価をしていく方法を紹介します。

    1. LangSmithを連携
      LangSmithを利用するためには、LangChainでアカウントを作成する必要があります。
      Dashboardの+new projectをクリックすると、install手順と必要な環境変数の設定を見ることができます。
      LangSmithでChainの処理をtraceするためには、LangServeで作成したアプリケーションとLangSmithのAPIを連携する必要があります。そのため、環境変数に以下を追加します。上記ページ上のLANGCHAIN_PROJECTの値は、Project Nameの編集と同期しているので、コピペでOKです。

      LANGCHAIN_TRACING_V2=true
      LANGCHAIN_API_KEY=ls__3b167ee6e20b4b0b951f4a9beaf0344c
      LANGCHAIN_PROJECT=決定したproject名
      LANGCHAIN_ENDPOINT=https://api.smith.langchain.com

       

    2. RAGを実装する。(retrieverは先ほどChainを作った時と同じものを使用)
      traceable decoratorをつけることで、class内のmethodについてもLangSmithがログを残してくれるようになる。

      from langsmith.wrappers import wrap_openai
      from langsmith import traceable
      import openai
      from langchain_core.prompts import ChatPromptTemplate
      from langchain_core.output_parsers import StrOutputParser
      from dotenv import load_dotenv
      from langchain_openai import ChatOpenAI
      from app.rag_for_eval.retriever import create_retriever
      load_dotenv()
      
      class RagBot:
          def __init__(self, retriever, model: str = "gpt-4o"):
              self._retriever = retriever
              self._client = wrap_openai(openai.Client())
              self._model = model
      
          @traceable
          def retrieve_docs(self, question):
              return self._retriever.invoke(question)
      
          @traceable
          def invoke_llm(self, question, docs):
              response = self._client.chat.completions.create(
                  model=self._model,
                  messages=[
                      {
                          "role": "system",
                          "content": "You are a helpful AI code assistant with expertise in 教えてAI."
                          " Use the following docs to produce a concise code solution to the user question.\n\n"
                          f"## Docs\n\n{docs}",
                      },
                      {"role": "user", "content": question},
                  ]
              )
      
              return {
                  "answer": response.choices[0].message.content,
                  "contexts": [str(doc) for doc in docs]
              }
      
          @traceable
          def get_answer(self, question: str):
              docs = self.retrieve_docs(question)
              return self.invoke_llm(question, docs)

      client.pyからエンドポイントを叩いて、promptを送ります。

      client.py
      
      from langchain.prompts.chat import ChatPromptTemplate
      from langchain.schema.runnable import RunnablePassthrough
      from langserve import RemoteRunnable
      import requests
      
      # RemoteRunnableでエンドポイントを定義
      get_answer_endpoint = RemoteRunnable("http://localhost:8000/get_answer")
      
      # 質問のリクエストデータ
      question_request = {
          "question": "教えてAIはどのようなサービスですか?"
      }
      
      def call_get_answer(request_data):
          # POSTリクエストを送信
          response = requests.post("http://localhost:8000/get_answer", json=request_data)
          if response.status_code == 200:
              return response.json()
          else:
              raise Exception(f"Error: {response.status_code}, {response.text}")
      
      if __name__ == "__main__":
          # 質問をして回答を取得
          try:
              result = call_get_answer(question_request)
              print(f"Answer: {result['answer']}")
              print(f"Contexts: {result['contexts']}")
          except Exception as e:
              print(f"Error: {e}")

       

    3. LangSmithで処理を確認する。
      サービスの内容を問うpromptを入力すると、RAG chainが実行され、traceableで設定した処理の詳細なログを見ることができます。
      こちらは、promptの回答に最も関係する外部知識を取得するretrieverにおいて、どのような検索結果が得られているのかを確かめられます。

続いて、invoke_llmでは、外部知識を組み込んでOpenAI APIに実際に送信したSystem Prompt、および最終的な回答を確認できます。

正確な回答が得られました。

実行してログやdebugをしてみる

Retriever

query: 教えてAIとはどのようなサービスですか?

Raw OUTPUT

documents:

  – metadata:

      content_type: text/html; charset=UTF-8

      description: GPT-4o」「Gemini 1.5 Flash」が無料で利用可能に

      language: ja

      source: https://www.gmo.jp/news/article/8971/

      title: 生成AIプロンプトポータル「教えてAI byGMO」、 最大6つのAIモデルを同時実行できる『教えてAI 一発検索』リリース! | GMOインターネットグループ株式会社

    page_content: “生成AIプロンプトポータル「教えてAI byGMO」、 最大6つのAIモデルを同時実行できる『教えてAI 一発検索』リリース! | GMOインターネットグループ株式会社

      \\

      メニュー

      閉じる

      トップページ

      ブランド

      ブランド

      企業理念

      コーポレート・アイデンティティ

      海外ブランド

      企業情報

      企業情報

      会社概要

      トップメッセージ

      企業理念

      事業内容

      役員紹介

      会社沿革

      社史

      主要グループ会社一覧

      アクセスマップ

      セルリアンタワー入館方法

      渋谷フクラス入館方法

      ライブラリ

      グループ紹介

      グループ公式動画

      技術情報

      ニュース

      ニュース

      すべてのニュース

      IRニュース

      GMOインターネットグループ(株)のニュース

      技術情報関連ニュース

      グループのニュース

      取材のお申し込みについて

      サービス

      サービス

      \ インターネットインフラ事業

      インターネット広告・メディア事業

      \  インターネット金融事業

      暗号資産事業

      \  その他

      \\

      サステナビリティ

      サステナビリティ

      方針・体制

      基本方針

      トップメッセージ

      サステナビリティ推進体制

      サステナビリティ全体像

      マテリアリティ

      人的資本経営

      次世代育成

      オフィス環境

      エンジニア支援

      健康支援

      学習支援

      新規事業発明支援

      コミュニケーション

      ダイバーシティ&インクルージョン

      環境

      環境マネジメント

      気候変動への取り組み

      循環型社会の推進

      生物多様性の保全

      社会

      ステークホルダーとの関わり

      コミュニティ

      人権

      労働慣行

      健康経営

      労働安全衛生

      顧客責任

      ガバナンス

      コンプライアンス

      リスクマネジメント

      プライバシーポリシー

      ESGデータ集

      GRIスタンダード対照表

      社会貢献活動

      スポーツ支援

      脇元 選手

      古閑 美保 選手

      カルチャー支援

      SDGsへの取り組み

      政府・自治体からの認定

      投資家情報

      投資家情報

      IRニュース

      経営方針

      ごあいさつ

      IRポリシー

      コーポレートガバナンスポリシー

      経営陣の状況

      社外取締役の独立性基準

      熊谷正寿が語るグループ事業戦略

      財務・業績

      IRライブラリ

      決算短信・説明会資料

      有価証券報告書

      事業報告書

      開示資料

      IRカレンダー

      よくあるご質問

      IR情報メール

      \x1d株式・格付情報

      株式基本情報

      株式の状況

      アナリストカバレッジ

      株主総会

      電子公告

      株主還元・配当

      格付情報

      株主優待

      採用情報

      サイトマップ

      English\

      ホーム

      ニュース

      2024520

      生成AIプロンプトポータル「教えてAI byGMO」、\r

      最大6つのAIモデルを同時実行できる『教えてAI 一発検索』リリース!

      ~「GPT-4o」「Gemini 1.5 Flash」が無料で利用可能に~

      GMO教えてAI株式会社

      印刷する

      PDFダウンロード

      シェア

       GMOインターネットグループ(グループ代表:熊谷 正寿)のGMO教えてAI株式会社(代表取締役:山城 博規)は、この度、運営する生成AIプロンプトポータル「教えてAI byGMO」において、6つのAIモデルを同時に実行できる機能、『教えてAI 一発検索』の提供を開始しました。この機能により、プロンプトを一度入力するだけで、複数のAIモデルから同時に出力結果を得ることができるようになります。\r

       また、発表されたばかりのOpenAI※1)の「GPT-4o」と、Googleの「Gemini 1.5 Flash」を無料で利用できる機能も実装しました。\r

       「教えてAI byGMO」は、目まぐるしく変化する生成AI業界にいち早く対応し、アップデートを続け、最新の体験をユーザーの皆様にいち早くお届けできるよう、進化を続けてまいります。

      ※1OpenAIAIの研究および展開企業です。

      「教えてAI byGMO」はこちら(https://oshiete.ai

      【最大6つのAIが同時実行可能な『教えてAI 一発検索』も追加!】 URLhttps://oshiete.ai/workspace

       「教えてAI byGMO」では、最大6つの生成AIモデルを同時に実行できる機能、『教えてAI 一発検索』をリリースしました。この機能により、ユーザーは無料で複数のAIモデルを自由に切り替えながら利用でき、1つのプロンプトに対する回答を比較しながら、最適なAIを使い分けることができます。\r

       AIモデルの回答を比較しながら使い分けることで、ユーザーは自身のニーズにより適した出力結果を得られるようになります。また、AIモデル間の長所と短所を把握しやすくなり、用途に合わせてAIモデルを上手に活用できるようになります。\r

       さらに、複数のAIモデルを並行して実行できることで、プロンプトの精査や大規模な分析作業の効率化が期待できます。「教えてAI byGMO」は、生成AIの利便性を最大限に高め、あらゆるシーンでAIを活用しやすい環境を提供し続けます。

      ▲『教えてAI 一発検索』 プロンプトを6つのAIモデルで同時に実行

      【「GPT-4o」「Gemini 1.5 Flash」の利用が無料で可能に!】

       「教えてAI byGMO」ではこれまで、共有されているプロンプトを実行する際は「GPT-3.5 Turbo」「GPT-4」「Claude3」の3つのAIモデル、「Gemini 1.0 Pro」が選択可能でした。今回のアップデートにより、「GPT-4」を「GPT-4o」に刷新し、さらに、「Gemini 1.5 Flash」も選択して利用できるようになりました。ユーザーは、ニーズに合わせて7つのAIモデルを自由に選択し、プロンプトを実行できるようになりました。プロンプトの実行中に途中でAIモデルを切り替えることも可能です。

      ▲「モデル選択」実行画面 タブから選択しすぐに実行可能

      【「教えてAI byGMO」で利用できるAIモデル】

      ●GPT-3.5\r

      ●GPT-4o(新規追加)\r

      ●Claude3 Haiku\r

      ●Claude3 Sonnet\r

      ●Claude3 Opus\r

      ●Gemini 1.0 Pro\r

      ●Gemini 1.5 Flash(新規追加)

      \r

      画像生成モデル\r

      ●DALLE3\r

      ●Midjourney

      \r

       「教えてAI byGMO」は、今後も利用可能なAIモデルの範囲の拡大を続けてまいります。そして、AI技術を駆使した新たな価値創出とユーザー体験の向上により、日常生活やビジネスシーンにおける情報検索とコンテンツ生成をより便利で豊かにし、AI産業に新たな価値を提供し続けてまいります。

      【生成AIプロンプトポータル「教えてAI byGMO」】(URLhttps://oshiete.ai

       「教えてAI byGMO」は、ChatGPTGeminiなどの生成AIが利用者の意図通りの結果を出力するために必要な「プロンプト」のポータルサイトです。サイトに掲載されるのは、運営会社の取締役を務める木内翔大氏、茶圓将裕氏などAIの専門家が作成したプロンプトのほか、GMOインターネットグループ内での公募により集まり、有用性が確認されたプロンプト、ならびにユーザーが投稿するプロンプトです。ユーザーは「無料で」「手軽に」「高品質な」プロンプトをご利用いただくことができます。\r

       特長として、AnthropicOpenAIGoogleAPIを利用しているため、ユーザーはプロンプトをその場で実行し文章を出力することができます。また、プロンプトワーカーランキングの実施や、画像生成やGPTsの共有機能を順次追加するなど、ユーザーと共に常に進化し続けることで、世界一充実したプロンプトポータルサイトを目指しています。\r

       「教えてAI byGMO」は、今後も目まぐるしい速度で進化する生成AIの動向にいち早くキャッチアップし、ユーザーのみなさまにより便利に生成AIを利用いただけるよう努めてまいります。

      GMO教えてAI株式会社について】

       GMO教えてAI株式会社は、GMOインターネットグループ株式会社(代表取締役グループ代表:熊谷 正寿)と、グループ会社のGMO AI & Web3株式会社(代表取締役:内田 朋宏)、ならびに株式会社SHIFT AI(代表取締役:木内 翔大)、株式会社TALMOOD(代表取締役:茶圓 将裕)の4社で設立した、「教えてAI byGMO」の運営会社です。\r

       今後「教えてAI byGMO」の運営のみにとどまらず、あらゆる場面でますます使われるようになるツールとしてのAI”を、すべての人が「使いこなす」ことを支援する事業も展開してまいります。

      \\

      【報道関係お問い合わせ先】

      ●GMOインターネットグループ株式会社\r

       グループ広報部 PRチーム 青柳\r

       TEL03-5456-2695\r

       URL https://www.gmo.jp/contact/press-inquiries/

      \\

      取材のお申し込みはこちら

      会社情報

      GMO教えてAI株式会社

      https://oshiete.ai/

      所在地

      東京都渋谷区桜丘町261号 セルリアンタワー

      事業内容

      プロンプトポータルサイト運営

      Copyright (C) 2024 GMO Oshiete AI, Inc. All Rights Reserved.

      一覧に戻る

      ニュース

      すべてのニュース

      GMOインターネットグループ(株)のニュース

      グループのニュース

      IRニュース

      技術情報関連ニュース

      取材のお申し込みについて

      TOP

      グループ代表・熊谷の公式サイト

      「夢が、かなう手帳。byGMO」販売サイト

      ブランド

      企業理念

      コーポレート・アイデンティティ

      海外ブランド

      企業情報

      トップメッセージ

      会社概要

      事業内容

      役員紹介

      会社沿革

      社史

      主要グループ会社一覧

      アクセスマップ

      ライブラリ

      技術情報

      ニュース

      すべてのニュース

      GMOインターネットグループ(株)のニュース

      グループのニュース

      IRニュース

      技術情報関連ニュース

      取材のお申し込みについて

    type: Document

  – metadata:

      content_type: text/html; charset=UTF-8

      description: GPT-4o」「Gemini 1.5 Flash」が無料で利用可能に

      language: ja

      source: https://www.gmo.jp/news/article/8971/

      title: 生成AIプロンプトポータル「教えてAI byGMO」、 最大6つのAIモデルを同時実行できる『教えてAI 一発検索』リリース! | GMOインターネットグループ株式会社

    page_content: “生成AIプロンプトポータル「教えてAI byGMO」、 最大6つのAIモデルを同時実行できる『教えてAI 一発検索』リリース! | GMOインターネットグループ株式会社

      \\

      メニュー

      閉じる

      トップページ

      ブランド

      ブランド

      企業理念

      コーポレート・アイデンティティ

      海外ブランド

      企業情報

      企業情報

      会社概要

      トップメッセージ

      企業理念

      事業内容

      役員紹介

      会社沿革

      社史

      主要グループ会社一覧

      アクセスマップ

      セルリアンタワー入館方法

      渋谷フクラス入館方法

      ライブラリ

      グループ紹介

      グループ公式動画

      技術情報

      ニュース

      ニュース

      すべてのニュース

      IRニュース

      GMOインターネットグループ(株)のニュース

      技術情報関連ニュース

      グループのニュース

      取材のお申し込みについて

      サービス

      サービス

      \ インターネットインフラ事業

      インターネット広告・メディア事業

      \  インターネット金融事業

      暗号資産事業

      \  その他

      \\

      サステナビリティ

      サステナビリティ

      方針・体制

      基本方針

      トップメッセージ

      サステナビリティ推進体制

      サステナビリティ全体像

      マテリアリティ

      人的資本経営

      次世代育成

      オフィス環境

      エンジニア支援

      健康支援

      学習支援

      新規事業発明支援

      コミュニケーション

      ダイバーシティ&インクルージョン

      環境

      環境マネジメント

      気候変動への取り組み

      循環型社会の推進

      生物多様性の保全

      社会

      ステークホルダーとの関わり

      コミュニティ

      人権

      労働慣行

      健康経営

      労働安全衛生

      顧客責任

      ガバナンス

      コンプライアンス

      リスクマネジメント

      プライバシーポリシー

      ESGデータ集

      GRIスタンダード対照表

      社会貢献活動

      スポーツ支援

      脇元 選手

      古閑 美保 選手

      カルチャー支援

      SDGsへの取り組み

      政府・自治体からの認定

      投資家情報

      投資家情報

      IRニュース

      経営方針

      ごあいさつ

      IRポリシー

      コーポレートガバナンスポリシー

      経営陣の状況

      社外取締役の独立性基準

      熊谷正寿が語るグループ事業戦略

      財務・業績

      IRライブラリ

      決算短信・説明会資料

      有価証券報告書

      事業報告書

      開示資料

      IRカレンダー

      よくあるご質問

      IR情報メール

      \x1d株式・格付情報

      株式基本情報

      株式の状況

      アナリストカバレッジ

      株主総会

      電子公告

      株主還元・配当

      格付情報

      株主優待

      採用情報

      サイトマップ

      English\

      ホーム

      ニュース

      2024520

      生成AIプロンプトポータル「教えてAI byGMO」、\r

      最大6つのAIモデルを同時実行できる『教えてAI 一発検索』リリース!

      ~「GPT-4o」「Gemini 1.5 Flash」が無料で利用可能に~

      GMO教えてAI株式会社

      印刷する

      PDFダウンロード

      シェア

       GMOインターネットグループ(グループ代表:熊谷 正寿)のGMO教えてAI株式会社(代表取締役:山城 博規)は、この度、運営する生成AIプロンプトポータル「教えてAI byGMO」において、6つのAIモデルを同時に実行できる機能、『教えてAI 一発検索』の提供を開始しました。この機能により、プロンプトを一度入力するだけで、複数のAIモデルから同時に出力結果を得ることができるようになります。\r

       また、発表されたばかりのOpenAI※1)の「GPT-4o」と、Googleの「Gemini 1.5 Flash」を無料で利用できる機能も実装しました。\r

       「教えてAI byGMO」は、目まぐるしく変化する生成AI業界にいち早く対応し、アップデートを続け、最新の体験をユーザーの皆様にいち早くお届けできるよう、進化を続けてまいります。

      ※1OpenAIAIの研究および展開企業です。

      「教えてAI byGMO」はこちら(https://oshiete.ai

      【最大6つのAIが同時実行可能な『教えてAI 一発検索』も追加!】 URLhttps://oshiete.ai/workspace

       「教えてAI byGMO」では、最大6つの生成AIモデルを同時に実行できる機能、『教えてAI 一発検索』をリリースしました。この機能により、ユーザーは無料で複数のAIモデルを自由に切り替えながら利用でき、1つのプロンプトに対する回答を比較しながら、最適なAIを使い分けることができます。\r

       AIモデルの回答を比較しながら使い分けることで、ユーザーは自身のニーズにより適した出力結果を得られるようになります。また、AIモデル間の長所と短所を把握しやすくなり、用途に合わせてAIモデルを上手に活用できるようになります。\r

       さらに、複数のAIモデルを並行して実行できることで、プロンプトの精査や大規模な分析作業の効率化が期待できます。「教えてAI byGMO」は、生成AIの利便性を最大限に高め、あらゆるシーンでAIを活用しやすい環境を提供し続けます。

      ▲『教えてAI 一発検索』 プロンプトを6つのAIモデルで同時に実行

      【「GPT-4o」「Gemini 1.5 Flash」の利用が無料で可能に!】

       「教えてAI byGMO」ではこれまで、共有されているプロンプトを実行する際は「GPT-3.5 Turbo」「GPT-4」「Claude3」の3つのAIモデル、「Gemini 1.0 Pro」が選択可能でした。今回のアップデートにより、「GPT-4」を「GPT-4o」に刷新し、さらに、「Gemini 1.5 Flash」も選択して利用できるようになりました。ユーザーは、ニーズに合わせて7つのAIモデルを自由に選択し、プロンプトを実行できるようになりました。プロンプトの実行中に途中でAIモデルを切り替えることも可能です。

      ▲「モデル選択」実行画面 タブから選択しすぐに実行可能

      【「教えてAI byGMO」で利用できるAIモデル】

      ●GPT-3.5\r

      ●GPT-4o(新規追加)\r

      ●Claude3 Haiku\r

      ●Claude3 Sonnet\r

      ●Claude3 Opus\r

      ●Gemini 1.0 Pro\r

      ●Gemini 1.5 Flash(新規追加)

      \r

      画像生成モデル\r

      ●DALLE3\r

      ●Midjourney

      \r

       「教えてAI byGMO」は、今後も利用可能なAIモデルの範囲の拡大を続けてまいります。そして、AI技術を駆使した新たな価値創出とユーザー体験の向上により、日常生活やビジネスシーンにおける情報検索とコンテンツ生成をより便利で豊かにし、AI産業に新たな価値を提供し続けてまいります。

      【生成AIプロンプトポータル「教えてAI byGMO」】(URLhttps://oshiete.ai

       「教えてAI byGMO」は、ChatGPTGeminiなどの生成AIが利用者の意図通りの結果を出力するために必要な「プロンプト」のポータルサイトです。サイトに掲載されるのは、運営会社の取締役を務める木内翔大氏、茶圓将裕氏などAIの専門家が作成したプロンプトのほか、GMOインターネットグループ内での公募により集まり、有用性が確認されたプロンプト、ならびにユーザーが投稿するプロンプトです。ユーザーは「無料で」「手軽に」「高品質な」プロンプトをご利用いただくことができます。\r

       特長として、AnthropicOpenAIGoogleAPIを利用しているため、ユーザーはプロンプトをその場で実行し文章を出力することができます。また、プロンプトワーカーランキングの実施や、画像生成やGPTsの共有機能を順次追加するなど、ユーザーと共に常に進化し続けることで、世界一充実したプロンプトポータルサイトを目指しています。\r

       「教えてAI byGMO」は、今後も目まぐるしい速度で進化する生成AIの動向にいち早くキャッチアップし、ユーザーのみなさまにより便利に生成AIを利用いただけるよう努めてまいります。

      GMO教えてAI株式会社について】

       GMO教えてAI株式会社は、GMOインターネットグループ株式会社(代表取締役グループ代表:熊谷 正寿)と、グループ会社のGMO AI & Web3株式会社(代表取締役:内田 朋宏)、ならびに株式会社SHIFT AI(代表取締役:木内 翔大)、株式会社TALMOOD(代表取締役:茶圓 将裕)の4社で設立した、「教えてAI byGMO」の運営会社です。\r

       今後「教えてAI byGMO」の運営のみにとどまらず、あらゆる場面でますます使われるようになるツールとしてのAI”を、すべての人が「使いこなす」ことを支援する事業も展開してまいります。

      \\

      【報道関係お問い合わせ先】

      ●GMOインターネットグループ株式会社\r

       グループ広報部 PRチーム 青柳\r

       TEL03-5456-2695\r

       URL https://www.gmo.jp/contact/press-inquiries/

      \\

      取材のお申し込みはこちら

      会社情報

      GMO教えてAI株式会社

      https://oshiete.ai/

      所在地

      東京都渋谷区桜丘町261号 セルリアンタワー

      事業内容

      プロンプトポータルサイト運営

      Copyright (C) 2024 GMO Oshiete AI, Inc. All Rights Reserved.

      一覧に戻る

      ニュース

      すべてのニュース

      GMOインターネットグループ(株)のニュース

      グループのニュース

      IRニュース

      技術情報関連ニュース

      取材のお申し込みについて

      TOP

      グループ代表・熊谷の公式サイト

      「夢が、かなう手帳。byGMO」販売サイト

      ブランド

      企業理念

      コーポレート・アイデンティティ

      海外ブランド

      企業情報

      トップメッセージ

      会社概要

      事業内容

      役員紹介

      会社沿革

      社史

      主要グループ会社一覧

      アクセスマップ

      ライブラリ

      技術情報

      ニュース

      すべてのニュース

      GMOインターネットグループ(株)のニュース

      グループのニュース

      IRニュース

      技術情報関連ニュース

      取材のお申し込みについて

    type: Document

  – metadata:

      content_type: text/html; charset=utf-8

      description: GMOæ•™ãˆã¦AIæ ªå¼ä¼šç¤¾ã¯ã€2024å¹´6月20æ—¥ã€ç”ŸæˆAIプロンプトãƒãƒ¼ã‚¿ãƒ«ã€Œæ•™ãˆã¦.AI byGMOã€ã®æœ€å¤§6ã¤ã®AIモデルをåŒæ™‚ã«å®Ÿè¡Œã§ãる機能を「天秤.AI byGMOã€ã¨ã—ã¦ãƒªãƒ‹ãƒ¥ãƒ¼ã‚¢ãƒ«ã—ã¾ã—ãŸã€‚  🌵*  🌵*  🌵*  ãŠã¯ã‚ˆã†ã”ã–ã„ã¾ã™ã€‚ 今日ã¯å¤©ç§¤AIã«ã¤ã„ã¦ã€èª¿æŸ»ã—ã¦ã¿ãŸã„ã¨æ€ã„ã¾ã™ã€‚  生æˆAIã¯ã€ãã‚Œãれ出力内容ã«å·®ãŒå‡ºã¾ã™ã€‚ 今ã¾ã§ã‚‚ãã®å·®ã‚’確èªã—ã¦ãã¾ã—ãŸãŒã€ç”ŸæˆAIã®æœ€æ–°ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ç„¡æ–™ã§åŒæ™‚比較ã§ãã‚‹ã¨ã¯ã¨ã¦ã‚‚魅力的ãªã‚µãƒ¼ãƒ“スã§ã™ã€‚    æ•™ãˆã¦.AI byGMO  æ•™ãˆã¦.AI byGMOã¯ã€ç”ŸæˆAIã®ãŸã‚ã®ãƒ—ロンプト(指示文)ã«ç‰¹åŒ–ã—ãŸãƒãƒ¼ã‚¿ãƒ«ã‚µã‚¤ãƒˆ

      language: ja

      source: https://note.com/ishimaru_home/n/n4dd6c54327a3

      title: 天秤.AIã§ç”ŸæˆAIã®æœ€æ–°ãƒ¢ãƒ‡ãƒ«ãŒç„¡æ–™ã§ä½¿ãˆã‚‹ï½œismr

    page_content: 天秤.AIã§ç”ŸæˆAIã®æœ€æ–°ãƒ¢ãƒ‡ãƒ«ãŒç„¡æ–™ã§ä½¿ãˆã‚‹ï½œismr

    type: Document

  – metadata:

      content_type: text/html; charset=utf-8

      description: GMOæ•™ãˆã¦AIæ ªå¼ä¼šç¤¾ã¯ã€2024å¹´6月20æ—¥ã€ç”ŸæˆAIプロンプトãƒãƒ¼ã‚¿ãƒ«ã€Œæ•™ãˆã¦.AI byGMOã€ã®æœ€å¤§6ã¤ã®AIモデルをåŒæ™‚ã«å®Ÿè¡Œã§ãる機能を「天秤.AI byGMOã€ã¨ã—ã¦ãƒªãƒ‹ãƒ¥ãƒ¼ã‚¢ãƒ«ã—ã¾ã—ãŸã€‚  🌵*  🌵*  🌵*  ãŠã¯ã‚ˆã†ã”ã–ã„ã¾ã™ã€‚ 今日ã¯å¤©ç§¤AIã«ã¤ã„ã¦ã€èª¿æŸ»ã—ã¦ã¿ãŸã„ã¨æ€ã„ã¾ã™ã€‚  生æˆAIã¯ã€ãã‚Œãれ出力内容ã«å·®ãŒå‡ºã¾ã™ã€‚ 今ã¾ã§ã‚‚ãã®å·®ã‚’確èªã—ã¦ãã¾ã—ãŸãŒã€ç”ŸæˆAIã®æœ€æ–°ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ç„¡æ–™ã§åŒæ™‚比較ã§ãã‚‹ã¨ã¯ã¨ã¦ã‚‚魅力的ãªã‚µãƒ¼ãƒ“スã§ã™ã€‚    æ•™ãˆã¦.AI byGMO  æ•™ãˆã¦.AI byGMOã¯ã€ç”ŸæˆAIã®ãŸã‚ã®ãƒ—ロンプト(指示文)ã«ç‰¹åŒ–ã—ãŸãƒãƒ¼ã‚¿ãƒ«ã‚µã‚¤ãƒˆ

      language: ja

      source: https://note.com/ishimaru_home/n/n4dd6c54327a3

      title: 天秤.AIã§ç”ŸæˆAIã®æœ€æ–°ãƒ¢ãƒ‡ãƒ«ãŒç„¡æ–™ã§ä½¿ãˆã‚‹ï½œismr

    page_content: 天秤.AIã§ç”ŸæˆAIã®æœ€æ–°ãƒ¢ãƒ‡ãƒ«ãŒç„¡æ–™ã§ä½¿ãˆã‚‹ï½œismr

    type: Document

HUMAN PROMPT

教えてAIとはどのようなサービスですか?

SYSTEM PROMPT

SYSTEM

You are a helpful AI code assistant with expertise in 教えてAI. Use the following docs to produce a concise code solution to the user question.

## Docs

[Document(metadata={‘content_type’: ‘text/html; charset=UTF-8’, ‘description’: ‘「GPT-4o」「Gemini 1.5 Flash」が無料で利用可能に’, ‘language’: ‘ja’, ‘source’: ‘https://www.gmo.jp/news/article/8971/’, ‘title’: ‘生成AIプロンプトポータル「教えてAI byGMO」、 最大6つのAIモデルを同時実行できる『教えてAI 一発検索』リリース! | GMOインターネットグループ株式会社’}, page_content=’生成AIプロンプトポータル「教えてAI byGMO」、 最大6つのAIモデルを同時実行できる『教えてAI 一発検索』リリース! | GMOインターネットグループ株式会社\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nメニュー\n閉じる\n\n\n\n\nトップページ\n\n\nブランド\n\n\nブランド\n\n\n\n\n\n\n\n企業理念\n\n\n\n\n\n\n\nコーポレート・アイデンティティ\n\n\n\n\n\n\n\n海外ブランド\n\n\n\n\n\n\n企業情報\n\n\n企業情報\n\n\n\n\n\n\n\n会社概要\n\n\n\nトップメッセージ\n企業理念\n事業内容\n役員紹介\n会社沿革\n社史\n\n\n主要グループ会社一覧\nアクセスマップ\n\nセルリアンタワー入館方法\n渋谷フクラス入館方法\n\n\n\nライブラリ\n\nグループ紹介\nグループ公式動画\n\n技術情報\n\n\n\n\n\nニュース\n\n\nニュース\n\n\n\nすべてのニュース\nIRニュース\n\n\nGMOインターネットグループ(株)のニュース\n技術情報関連ニュース\n\n\nグループのニュース\n取材のお申し込みについて\n\n\n\n\n\nサービス\n\n\nサービス\n\n\n インターネットインフラ事業\nインターネット広告・メディア事業\n  インターネット金融事業\n暗号資産事業\n  その他\n \n\n\n\nサステナビリティ\n\n\nサステナビリティ\n\n\n\n方針・体制\n\n基本方針\nトップメッセージ\nサステナビリティ推進体制\nサステナビリティ全体像\n\nマテリアリティ\n人的資本経営\n\n次世代育成\nオフィス環境\nエンジニア支援\n健康支援\n学習支援\n新規事業発明支援\nコミュニケーション\nダイバーシティ&インクルージョン\n\n\n\n環境\n\n環境マネジメント\n気候変動への取り組み\n循環型社会の推進\n生物多様性の保全\n\n社会\n\nステークホルダーとの関わり\nコミュニティ\n人権\n労働慣行\n健康経営\n労働安全衛生\n顧客責任\n\n\n\nガバナンス\n\nコンプライアンス\nリスクマネジメント\nプライバシーポリシー\n\nESGデータ集\nGRIスタンダード対照表\n社会貢献活動\nスポーツ支援\n\n脇元 華 選手\n古閑 美保 選手\n\nカルチャー支援\nSDGsへの取り組み\n政府・自治体からの認定\n\n\n\n\n\n投資家情報\n\n\n投資家情報\n\n\n\nIRニュース\n経営方針\n\nごあいさつ\nIRポリシー\nコーポレートガバナンスポリシー\n経営陣の状況\n社外取締役の独立性基準\n熊谷正寿が語るグループ事業戦略\n\n財務・業績\n\n\nIRライブラリ\n\n決算短信・説明会資料\n有価証券報告書\n事業報告書\n開示資料\n\nIRカレンダー\nよくあるご質問\nIR情報メール\n\n\n\x1d株式・格付情報\n\n株式基本情報\n株式の状況\nアナリストカバレッジ\n株主総会\n電子公告\n株主還元・配当\n格付情報\n\n株主優待\n\n\n\n\n\n採用情報\n\n\n\n\n\n\n\n\nサイトマップ\nEnglish \n\n\n\n\n\n\n\n\nホーム\nニュース\n\n\n\n\n\n\n\n\n2024年5月20日\n生成AIプロンプトポータル「教えてAI byGMO」、\r\n最大6つのAIモデルを同時実行できる『教えてAI 一発検索』リリース!\n~「GPT-4o」「Gemini 1.5 Flash」が無料で利用可能に~\n\n\nGMO教えてAI株式会社\n\n\n\n\n印刷する\nPDFダウンロード\n\n\nシェア\n\n\n\n\n\n\n\n\n\n\n\n\n\u3000GMOインターネットグループ(グループ代表:熊谷 正寿)のGMO教えてAI株式会社(代表取締役:山城 博規)は、この度、運営する生成AIプロンプトポータル「教えてAI byGMO」において、6つのAIモデルを同時に実行できる機能、『教えてAI 一発検索』の提供を開始しました。この機能により、プロンプトを一度入力するだけで、複数のAIモデルから同時に出力結果を得ることができるようになります。\r\n\u3000また、発表されたばかりのOpenAI(※1)の「GPT-4o」と、Googleの「Gemini 1.5 Flash」を無料で利用できる機能も実装しました。\r\n\u3000「教えてAI byGMO」は、目まぐるしく変化する生成AI業界にいち早く対応し、アップデートを続け、最新の体験をユーザーの皆様にいち早くお届けできるよう、進化を続けてまいります。\n(※1)OpenAIはAIの研究および展開企業です。\n\n「教えてAI byGMO」はこちら(https://oshiete.ai)\n\n\n【最大6つのAIが同時実行可能な『教えてAI 一発検索』も追加!】 (URL:https://oshiete.ai/workspace)\n\u3000「教えてAI byGMO」では、最大6つの生成AIモデルを同時に実行できる機能、『教えてAI 一発検索』をリリースしました。この機能により、ユーザーは無料で複数のAIモデルを自由に切り替えながら利用でき、1つのプロンプトに対する回答を比較しながら、最適なAIを使い分けることができます。\r\n\u3000AIモデルの回答を比較しながら使い分けることで、ユーザーは自身のニーズにより適した出力結果を得られるようになります。また、AIモデル間の長所と短所を把握しやすくなり、用途に合わせてAIモデルを上手に活用できるようになります。\r\n\u3000さらに、複数のAIモデルを並行して実行できることで、プロンプトの精査や大規模な分析作業の効率化が期待できます。「教えてAI byGMO」は、生成AIの利便性を最大限に高め、あらゆるシーンでAIを活用しやすい環境を提供し続けます。\n▲『教えてAI 一発検索』\u3000プロンプトを6つのAIモデルで同時に実行\n【「GPT-4o」「Gemini 1.5 Flash」の利用が無料で可能に!】\n\u3000「教えてAI byGMO」ではこれまで、共有されているプロンプトを実行する際は「GPT-3.5 Turbo」「GPT-4」「Claude3」の3つのAIモデル、「Gemini 1.0 Pro」が選択可能でした。今回のアップデートにより、「GPT-4」を「GPT-4o」に刷新し、さらに、「Gemini 1.5 Flash」も選択して利用できるようになりました。ユーザーは、ニーズに合わせて7つのAIモデルを自由に選択し、プロンプトを実行できるようになりました。プロンプトの実行中に途中でAIモデルを切り替えることも可能です。\n▲「モデル選択」実行画面\u3000タブから選択しすぐに実行可能\n【「教えてAI byGMO」で利用できるAIモデル】\n●GPT-3.5\r\n●GPT-4o(新規追加)\r\n●Claude3 Haiku\r\n●Claude3 Sonnet\r\n●Claude3 Opus\r\n●Gemini 1.0 Pro\r\n●Gemini 1.5 Flash(新規追加)\n\r\n■画像生成モデル\r\n●DALL・E3\r\n●Midjourney\n\r\n\u3000「教えてAI byGMO」は、今後も利用可能なAIモデルの範囲の拡大を続けてまいります。そして、AI技術を駆使した新たな価値創出とユーザー体験の向上により、日常生活やビジネスシーンにおける情報検索とコンテンツ生成をより便利で豊かにし、AI産業に新たな価値を提供し続けてまいります。\n\n【生成AIプロンプトポータル「教えてAI byGMO」】(URL:https://oshiete.ai)\n\u3000「教えてAI byGMO」は、ChatGPTやGeminiなどの生成AIが利用者の意図通りの結果を出力するために必要な「プロンプト」のポータルサイトです。サイトに掲載されるのは、運営会社の取締役を務める木内翔大氏、茶圓将裕氏などAIの専門家が作成したプロンプトのほか、GMOインターネットグループ内での公募により集まり、有用性が確認されたプロンプト、ならびにユーザーが投稿するプロンプトです。ユーザーは「無料で」「手軽に」「高品質な」プロンプトをご利用いただくことができます。\r\n\u3000特長として、Anthropic、OpenAI、GoogleのAPIを利用しているため、ユーザーはプロンプトをその場で実行し文章を出力することができます。また、プロンプトワーカーランキングの実施や、画像生成やGPTsの共有機能を順次追加するなど、ユーザーと共に常に進化し続けることで、世界一充実したプロンプトポータルサイトを目指しています。\r\n\u3000「教えてAI byGMO」は、今後も目まぐるしい速度で進化する生成AIの動向にいち早くキャッチアップし、ユーザーのみなさまにより便利に生成AIを利用いただけるよう努めてまいります。\n\n【GMO教えてAI株式会社について】\n\u3000GMO教えてAI株式会社は、GMOインターネットグループ株式会社(代表取締役グループ代表:熊谷 正寿)と、グループ会社のGMO AI & Web3株式会社(代表取締役:内田 朋宏)、ならびに株式会社SHIFT AI(代表取締役:木内 翔大)、株式会社TALMOOD(代表取締役:茶圓 将裕)の4社で設立した、「教えてAI byGMO」の運営会社です。\r\n\u3000今後「教えてAI byGMO」の運営のみにとどまらず、あらゆる場面でますます使われるようになる”ツールとしてのAI”を、すべての人が「使いこなす」ことを支援する事業も展開してまいります。\n \n\n\n\n【報道関係お問い合わせ先】\n●GMOインターネットグループ株式会社\r\n\u3000グループ広報部 PRチーム\u3000青柳\r\n\u3000TEL:03-5456-2695\r\n\u3000URL: https://www.gmo.jp/contact/press-inquiries/\n\n\n \n取材のお申し込みはこちら\n\n\n\n会社情報\n\n\n\n\nGMO教えてAI株式会社\nhttps://oshiete.ai/\n\n\n\n\n\n\n\n\n\n\n所在地\n東京都渋谷区桜丘町26番1号 セルリアンタワー\n\n\n事業内容\n■プロンプトポータルサイト運営\n\n\n\n\n\n\n\n\nCopyright (C) 2024 GMO Oshiete AI, Inc. All Rights Reserved.\n\n\n一覧に戻る\n\n\n\n\n\n\n\n\nニュース\n\n\nすべてのニュース\nGMOインターネットグループ(株)のニュース\nグループのニュース\nIRニュース\n技術情報関連ニュース\n取材のお申し込みについて\n\n\n\n\n\n\n\n\nTOP\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nグループ代表・熊谷の公式サイト\n「夢が、かなう手帳。byGMO」販売サイト\n\n\n\n\n\n\nブランド\n\n\n\n企業理念\nコーポレート・アイデンティティ\n海外ブランド\n\n\n\n\n\n企業情報\n\n\n\nトップメッセージ\n会社概要\n事業内容\n役員紹介\n会社沿革\n社史\n主要グループ会社一覧\nアクセスマップ\nライブラリ\n\n\n\n\n\n技術情報\n\n\n\n\n\n\nニュース\n\n\n\nすべてのニュース\nGMOインターネットグループ(株)のニュース\nグループのニュース\nIRニュース\n技術情報関連ニュース\n取材のお申し込みについて’), Document(metadata={‘content_type’: ‘text/html; charset=UTF-8’, ‘description’: ‘「GPT-4o」「Gemini 1.5 Flash」が無料で利用可能に’, ‘language’: ‘ja’, ‘source’: ‘https://www.gmo.jp/news/article/8971/’, ‘title’: ‘生成AIプロンプトポータル「教えてAI byGMO」、 最大6つのAIモデルを同時実行できる『教えてAI 一発検索』リリース! | GMOインターネットグループ株式会社’}, page_content=’生成AIプロンプトポータル「教えてAI byGMO」、 最大6つのAIモデルを同時実行できる『教えてAI 一発検索』リリース! | GMOインターネットグループ株式会社\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nメニュー\n閉じる\n\n\n\n\nトップページ\n\n\nブランド\n\n\nブランド\n\n\n\n\n\n\n\n企業理念\n\n\n\n\n\n\n\nコーポレート・アイデンティティ\n\n\n\n\n\n\n\n海外ブランド\n\n\n\n\n\n\n企業情報\n\n\n企業情報\n\n\n\n\n\n\n\n会社概要\n\n\n\nトップメッセージ\n企業理念\n事業内容\n役員紹介\n会社沿革\n社史\n\n\n主要グループ会社一覧\nアクセスマップ\n\nセルリアンタワー入館方法\n渋谷フクラス入館方法\n\n\n\nライブラリ\n\nグループ紹介\nグループ公式動画\n\n技術情報\n\n\n\n\n\nニュース\n\n\nニュース\n\n\n\nすべてのニュース\nIRニュース\n\n\nGMOインターネットグループ(株)のニュース\n技術情報関連ニュース\n\n\nグループのニュース\n取材のお申し込みについて\n\n\n\n\n\nサービス\n\n\nサービス\n\n\n インターネットインフラ事業\nインターネット広告・メディア事業\n  インターネット金融事業\n暗号資産事業\n  その他\n \n\n\n\nサステナビリティ\n\n\nサステナビリティ\n\n\n\n方針・体制\n\n基本方針\nトップメッセージ\nサステナビリティ推進体制\nサステナビリティ全体像\n\nマテリアリティ\n人的資本経営\n\n次世代育成\nオフィス環境\nエンジニア支援\n健康支援\n学習支援\n新規事業発明支援\nコミュニケーション\nダイバーシティ&インクルージョン\n\n\n\n環境\n\n環境マネジメント\n気候変動への取り組み\n循環型社会の推進\n生物多様性の保全\n\n社会\n\nステークホルダーとの関わり\nコミュニティ\n人権\n労働慣行\n健康経営\n労働安全衛生\n顧客責任\n\n\n\nガバナンス\n\nコンプライアンス\nリスクマネジメント\nプライバシーポリシー\n\nESGデータ集\nGRIスタンダード対照表\n社会貢献活動\nスポーツ支援\n\n脇元 華 選手\n古閑 美保 選手\n\nカルチャー支援\nSDGsへの取り組み\n政府・自治体からの認定\n\n\n\n\n\n投資家情報\n\n\n投資家情報\n\n\n\nIRニュース\n経営方針\n\nごあいさつ\nIRポリシー\nコーポレートガバナンスポリシー\n経営陣の状況\n社外取締役の独立性基準\n熊谷正寿が語るグループ事業戦略\n\n財務・業績\n\n\nIRライブラリ\n\n決算短信・説明会資料\n有価証券報告書\n事業報告書\n開示資料\n\nIRカレンダー\nよくあるご質問\nIR情報メール\n\n\n\x1d株式・格付情報\n\n株式基本情報\n株式の状況\nアナリストカバレッジ\n株主総会\n電子公告\n株主還元・配当\n格付情報\n\n株主優待\n\n\n\n\n\n採用情報\n\n\n\n\n\n\n\n\nサイトマップ\nEnglish \n\n\n\n\n\n\n\n\nホーム\nニュース\n\n\n\n\n\n\n\n\n2024年5月20日\n生成AIプロンプトポータル「教えてAI byGMO」、\r\n最大6つのAIモデルを同時実行できる『教えてAI 一発検索』リリース!\n~「GPT-4o」「Gemini 1.5 Flash」が無料で利用可能に~\n\n\nGMO教えてAI株式会社\n\n\n\n\n印刷する\nPDFダウンロード\n\n\nシェア\n\n\n\n\n\n\n\n\n\n\n\n\n\u3000GMOインターネットグループ(グループ代表:熊谷 正寿)のGMO教えてAI株式会社(代表取締役:山城 博規)は、この度、運営する生成AIプロンプトポータル「教えてAI byGMO」において、6つのAIモデルを同時に実行できる機能、『教えてAI 一発検索』の提供を開始しました。この機能により、プロンプトを一度入力するだけで、複数のAIモデルから同時に出力結果を得ることができるようになります。\r\n\u3000また、発表されたばかりのOpenAI(※1)の「GPT-4o」と、Googleの「Gemini 1.5 Flash」を無料で利用できる機能も実装しました。\r\n\u3000「教えてAI byGMO」は、目まぐるしく変化する生成AI業界にいち早く対応し、アップデートを続け、最新の体験をユーザーの皆様にいち早くお届けできるよう、進化を続けてまいります。\n(※1)OpenAIはAIの研究および展開企業です。\n\n「教えてAI byGMO」はこちら(https://oshiete.ai)\n\n\n【最大6つのAIが同時実行可能な『教えてAI 一発検索』も追加!】 (URL:https://oshiete.ai/workspace)\n\u3000「教えてAI byGMO」では、最大6つの生成AIモデルを同時に実行できる機能、『教えてAI 一発検索』をリリースしました。この機能により、ユーザーは無料で複数のAIモデルを自由に切り替えながら利用でき、1つのプロンプトに対する回答を比較しながら、最適なAIを使い分けることができます。\r\n\u3000AIモデルの回答を比較しながら使い分けることで、ユーザーは自身のニーズにより適した出力結果を得られるようになります。また、AIモデル間の長所と短所を把握しやすくなり、用途に合わせてAIモデルを上手に活用できるようになります。\r\n\u3000さらに、複数のAIモデルを並行して実行できることで、プロンプトの精査や大規模な分析作業の効率化が期待できます。「教えてAI byGMO」は、生成AIの利便性を最大限に高め、あらゆるシーンでAIを活用しやすい環境を提供し続けます。\n▲『教えてAI 一発検索』\u3000プロンプトを6つのAIモデルで同時に実行\n【「GPT-4o」「Gemini 1.5 Flash」の利用が無料で可能に!】\n\u3000「教えてAI byGMO」ではこれまで、共有されているプロンプトを実行する際は「GPT-3.5 Turbo」「GPT-4」「Claude3」の3つのAIモデル、「Gemini 1.0 Pro」が選択可能でした。今回のアップデートにより、「GPT-4」を「GPT-4o」に刷新し、さらに、「Gemini 1.5 Flash」も選択して利用できるようになりました。ユーザーは、ニーズに合わせて7つのAIモデルを自由に選択し、プロンプトを実行できるようになりました。プロンプトの実行中に途中でAIモデルを切り替えることも可能です。\n▲「モデル選択」実行画面\u3000タブから選択しすぐに実行可能\n【「教えてAI byGMO」で利用できるAIモデル】\n●GPT-3.5\r\n●GPT-4o(新規追加)\r\n●Claude3 Haiku\r\n●Claude3 Sonnet\r\n●Claude3 Opus\r\n●Gemini 1.0 Pro\r\n●Gemini 1.5 Flash(新規追加)\n\r\n■画像生成モデル\r\n●DALL・E3\r\n●Midjourney\n\r\n\u3000「教えてAI byGMO」は、今後も利用可能なAIモデルの範囲の拡大を続けてまいります。そして、AI技術を駆使した新たな価値創出とユーザー体験の向上により、日常生活やビジネスシーンにおける情報検索とコンテンツ生成をより便利で豊かにし、AI産業に新たな価値を提供し続けてまいります。\n\n【生成AIプロンプトポータル「教えてAI byGMO」】(URL:https://oshiete.ai)\n\u3000「教えてAI byGMO」は、ChatGPTやGeminiなどの生成AIが利用者の意図通りの結果を出力するために必要な「プロンプト」のポータルサイトです。サイトに掲載されるのは、運営会社の取締役を務める木内翔大氏、茶圓将裕氏などAIの専門家が作成したプロンプトのほか、GMOインターネットグループ内での公募により集まり、有用性が確認されたプロンプト、ならびにユーザーが投稿するプロンプトです。ユーザーは「無料で」「手軽に」「高品質な」プロンプトをご利用いただくことができます。\r\n\u3000特長として、Anthropic、OpenAI、GoogleのAPIを利用しているため、ユーザーはプロンプトをその場で実行し文章を出力することができます。また、プロンプトワーカーランキングの実施や、画像生成やGPTsの共有機能を順次追加するなど、ユーザーと共に常に進化し続けることで、世界一充実したプロンプトポータルサイトを目指しています。\r\n\u3000「教えてAI byGMO」は、今後も目まぐるしい速度で進化する生成AIの動向にいち早くキャッチアップし、ユーザーのみなさまにより便利に生成AIを利用いただけるよう努めてまいります。\n\n【GMO教えてAI株式会社について】\n\u3000GMO教えてAI株式会社は、GMOインターネットグループ株式会社(代表取締役グループ代表:熊谷 正寿)と、グループ会社のGMO AI & Web3株式会社(代表取締役:内田 朋宏)、ならびに株式会社SHIFT AI(代表取締役:木内 翔大)、株式会社TALMOOD(代表取締役:茶圓 将裕)の4社で設立した、「教えてAI byGMO」の運営会社です。\r\n\u3000今後「教えてAI byGMO」の運営のみにとどまらず、あらゆる場面でますます使われるようになる”ツールとしてのAI”を、すべての人が「使いこなす」ことを支援する事業も展開してまいります。\n \n\n\n\n【報道関係お問い合わせ先】\n●GMOインターネットグループ株式会社\r\n\u3000グループ広報部 PRチーム\u3000青柳\r\n\u3000TEL:03-5456-2695\r\n\u3000URL: https://www.gmo.jp/contact/press-inquiries/\n\n\n \n取材のお申し込みはこちら\n\n\n\n会社情報\n\n\n\n\nGMO教えてAI株式会社\nhttps://oshiete.ai/\n\n\n\n\n\n\n\n\n\n\n所在地\n東京都渋谷区桜丘町26番1号 セルリアンタワー\n\n\n事業内容\n■プロンプトポータルサイト運営\n\n\n\n\n\n\n\n\nCopyright (C) 2024 GMO Oshiete AI, Inc. All Rights Reserved.\n\n\n一覧に戻る\n\n\n\n\n\n\n\n\nニュース\n\n\nすべてのニュース\nGMOインターネットグループ(株)のニュース\nグループのニュース\nIRニュース\n技術情報関連ニュース\n取材のお申し込みについて\n\n\n\n\n\n\n\n\nTOP\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nグループ代表・熊谷の公式サイト\n「夢が、かなう手帳。byGMO」販売サイト\n\n\n\n\n\n\nブランド\n\n\n\n企業理念\nコーポレート・アイデンティティ\n海外ブランド\n\n\n\n\n\n企業情報\n\n\n\nトップメッセージ\n会社概要\n事業内容\n役員紹介\n会社沿革\n社史\n主要グループ会社一覧\nアクセスマップ\nライブラリ\n\n\n\n\n\n技術情報\n\n\n\n\n\n\nニュース\n\n\n\nすべてのニュース\nGMOインターネットグループ(株)のニュース\nグループのニュース\nIRニュース\n技術情報関連ニュース\n取材のお申し込みについて’), Document(metadata={‘content_type’: ‘text/html; charset=utf-8’, ‘description’: ‘GMOæ•™ãˆã¦AIæ\xa0ªå¼ä¼šç¤¾ã¯ã€2024å¹´6月20æ—¥ã€ç”ŸæˆAIプãƒ\xadンプトãƒãƒ¼ã‚¿ãƒ«ã€Œæ•™ãˆã¦.AI byGMOã€ã®æœ€å¤§6ã¤ã®AIモデルをåŒæ™‚ã«å®Ÿè¡Œã§ãる機能を「天秤.AI byGMOã€ã¨ã—ã¦ãƒªãƒ‹ãƒ¥ãƒ¼ã‚¢ãƒ«ã—ã¾ã—ãŸã€‚  🌵*  🌵*  🌵*  ãŠã¯ã‚ˆã†ã”ã–ã„ã¾ã™ã€‚ 今日ã¯å¤©ç§¤AIã«ã¤ã„ã¦ã€èª¿æŸ»ã—ã¦ã¿ãŸã„ã¨æ€ã„ã¾ã™ã€‚  生æˆAIã¯ã€ãã‚Œãれ出力内容ã«å·®ãŒå‡ºã¾ã™ã€‚ 今ã¾ã§ã‚‚ãã®å·®ã‚’確èªã—ã¦ãã¾ã—ãŸãŒã€ç”ŸæˆAIã®æœ€æ–°ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ç„¡æ–™ã§åŒæ™‚比較ã§ãã‚‹ã¨ã¯ã¨ã¦ã‚‚é\xad…力的ãªã‚µãƒ¼ãƒ“スã§ã™ã€‚    æ•™ãˆã¦.AI byGMO  æ•™ãˆã¦.AI byGMOã¯ã€ç”ŸæˆAIã®ãŸã‚ã®ãƒ—ãƒ\xadンプト(指示文)ã«ç‰¹åŒ–ã—ãŸãƒãƒ¼ã‚¿ãƒ«ã‚µã‚¤ãƒˆ’, ‘language’: ‘ja’, ‘source’: ‘https://note.com/ishimaru_home/n/n4dd6c54327a3’, ‘title’: ‘天秤.AIã§ç”ŸæˆAIã®æœ€æ–°ãƒ¢ãƒ‡ãƒ«ãŒç„¡æ–™ã§ä½¿ãˆã‚‹ï½œismr’}, page_content=’天秤.AIã§ç”ŸæˆAIã®æœ€æ–°ãƒ¢ãƒ‡ãƒ«ãŒç„¡æ–™ã§ä½¿ãˆã‚‹ï½œismr’), Document(metadata={‘content_type’: ‘text/html; charset=utf-8’, ‘description’: ‘GMOæ•™ãˆã¦AIæ\xa0ªå¼ä¼šç¤¾ã¯ã€2024å¹´6月20æ—¥ã€ç”ŸæˆAIプãƒ\xadンプトãƒãƒ¼ã‚¿ãƒ«ã€Œæ•™ãˆã¦.AI byGMOã€ã®æœ€å¤§6ã¤ã®AIモデルをåŒæ™‚ã«å®Ÿè¡Œã§ãる機能を「天秤.AI byGMOã€ã¨ã—ã¦ãƒªãƒ‹ãƒ¥ãƒ¼ã‚¢ãƒ«ã—ã¾ã—ãŸã€‚  🌵*  🌵*  🌵*  ãŠã¯ã‚ˆã†ã”ã–ã„ã¾ã™ã€‚ 今日ã¯å¤©ç§¤AIã«ã¤ã„ã¦ã€èª¿æŸ»ã—ã¦ã¿ãŸã„ã¨æ€ã„ã¾ã™ã€‚  生æˆAIã¯ã€ãã‚Œãれ出力内容ã«å·®ãŒå‡ºã¾ã™ã€‚ 今ã¾ã§ã‚‚ãã®å·®ã‚’確èªã—ã¦ãã¾ã—ãŸãŒã€ç”ŸæˆAIã®æœ€æ–°ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ç„¡æ–™ã§åŒæ™‚比較ã§ãã‚‹ã¨ã¯ã¨ã¦ã‚‚é\xad…力的ãªã‚µãƒ¼ãƒ“スã§ã™ã€‚    æ•™ãˆã¦.AI byGMO  æ•™ãˆã¦.AI byGMOã¯ã€ç”ŸæˆAIã®ãŸã‚ã®ãƒ—ãƒ\xadンプト(指示文)ã«ç‰¹åŒ–ã—ãŸãƒãƒ¼ã‚¿ãƒ«ã‚µã‚¤ãƒˆ’, ‘language’: ‘ja’, ‘source’: ‘https://note.com/ishimaru_home/n/n4dd6c54327a3’, ‘title’: ‘天秤.AIã§ç”ŸæˆAIã®æœ€æ–°ãƒ¢ãƒ‡ãƒ«ãŒç„¡æ–™ã§ä½¿ãˆã‚‹ï½œismr’}, page_content=’天秤.AIã§ç”ŸæˆAIã®æœ€æ–°ãƒ¢ãƒ‡ãƒ«ãŒç„¡æ–™ã§ä½¿ãˆã‚‹ï½œismr’)]

ROW OUTPUT

llm_output:

  id: chatcmpl-9hWQyxly9TLmzcY698irTgr2DtFTK

  created: 1720159808

  model: gpt-4o-2024-05-13

  object: chat.completion

  system_fingerprint: fp_d576307f90

generations:

  – message:

      type: ai

      data:

        content: |-

          「教えてAI」とは、GMO教えてAI株式会社が運営する生成AIプロンプトポータルサイトです。このサービスでは、最大6つの異なる生成AIモデルを同時に実行できる機能を提供しており、一度のプロンプト入力で複数のAIモデルから出力結果を得ることができます。ユーザーはこれにより、各AIモデルの出力を比較しながら、最適なAIを選んで利用することが可能です。

          主要な特徴として以下の点が挙げられます:

          1. **複数のAIモデルの同時実行**

             一度のプロンプトで複数のAIモデルを同時に実行し、比較することができます。

             – GPT-3.5GPT-4oClaude3Gemini 1.0 ProGemini 1.5 Flashなどのモデルを利用可能です。

          2. **無料で利用可能な高機能**

             GPT-4o」や「Gemini 1.5 Flash」などの最新のAIモデルを無料で利用できます。

          3. **プロンプトポータル機能**

             ユーザーが作成したプロンプトを共有したり、他のユーザーが作成したプロンプトを利用したりできる機能もあります。

          4. **進化するプラットフォーム**

             常に最新の生成AI技術に対応するため、継続的にアップデートが行われており、ユーザー体験の向上に取り組んでいます。

          このように、「教えてAI」は生成AIを最大限に活用できる環境を提供し、情報検索やコンテンツ生成をサポートするサービスです。

          詳細情報やサービスの利用は以下のリンクから提供されています:

          教えてAI by GMO: [https://oshiete.ai](https://oshiete.ai)

        role: assistant

        name: “”

        additional_kwargs: {}

    text: |-

      「教えてAI」とは、GMO教えてAI株式会社が運営する生成AIプロンプトポータルサイトです。このサービスでは、最大6つの異なる生成AIモデルを同時に実行できる機能を提供しており、一度のプロンプト入力で複数のAIモデルから出力結果を得ることができます。ユーザーはこれにより、各AIモデルの出力を比較しながら、最適なAIを選んで利用することが可能です。

      主要な特徴として以下の点が挙げられます:

      1. **複数のAIモデルの同時実行**

         一度のプロンプトで複数のAIモデルを同時に実行し、比較することができます。

         – GPT-3.5GPT-4oClaude3Gemini 1.0 ProGemini 1.5 Flashなどのモデルを利用可能です。

      2. **無料で利用可能な高機能**

         GPT-4o」や「Gemini 1.5 Flash」などの最新のAIモデルを無料で利用できます。

      3. **プロンプトポータル機能**

         ユーザーが作成したプロンプトを共有したり、他のユーザーが作成したプロンプトを利用したりできる機能もあります。

      4. **進化するプラットフォーム**

         常に最新の生成AI技術に対応するため、継続的にアップデートが行われており、ユーザー体験の向上に取り組んでいます。

      このように、「教えてAI」は生成AIを最大限に活用できる環境を提供し、情報検索やコンテンツ生成をサポートするサービスです。

      詳細情報やサービスの利用は以下のリンクから提供されています:

      教えてAI by GMO: [https://oshiete.ai](https://oshiete.ai)

Chainの性能評価

RAGの性能評価の観点として代表的なものが下記の四つの軸になります。いずれの観点でも判定そのものをLLMを使用することになっており、そのための判定用PromptがLangChain Hubに登録されています。今回はそれを使用して実装しました。

1. 「RAGチェーンの回答がground_truthとどれほど類似しているか、または正しいか」を測定します。

2. 「生成された応答が最初のユーザー入力にどれだけ適切に対応しているか」を測定します。

3. 「生成された応答が取得したコンテキストとどれだけ一致しているか」を測定します。

4. 「クエリで取得した結果がどれだけ関連性が高いか」を測定します。

(出典: https://docs.smith.langchain.com/tutorials/Developers/rag

 

まず、1の判定に先立って、Ground_TruthとなるDatasetの投入を行う。

想定するpromptとinput, 回答をoutputとしてkey-value形式でGround Truthを作成し、CSVファイルにする。
この時、第一行目に列名を必ず記入しなければならない(この後のcsv uploadでkeyを自動的に判断してくれるがその時にerrorが出てしまうため。)

+new Datasetを選ぶ

CSV fileをuploadし、Dataset Nameを決める。DatasetTypeはKey-Valueを選ぶ。CSV fileをuploadすると、key-valueそれぞれの値の列名を(各key, valueの値そのものの)keyとして認識してくれる。

 

投入後の画面の様子
これで評価関数を実行するのに必要なdataの投入が完了します。

 

続いて評価関数を実装します。

まず、先ほど入れたDatasetから質問部分(Input)の値を取り出し、評価したいChainに投げ、answerを取得する処理を作ります。

predict_rag_answer_with_context.py

from app.rag_for_eval.rag_bot import RagBot
from app.rag_for_eval.retriever import create_retriever
retriever = create_retriever()
rag_bot = RagBot(retriever=retriever)
def predict_rag_answer_with_context(example: dict):
    """Use this for evaluation of retrieved documents and hallucinations"""
    response = rag_bot.get_answer(example["input"])
    print(response)
    return {"answer": response["answer"], "contexts": response["contexts"]}
predict_rag_answer.py

from app.rag_for_eval.rag_bot import RagBot
from app.rag_for_eval.retriever import create_retriever
retriever = create_retriever()
rag_bot = RagBot(retriever=retriever)
def predict_rag_answer(example: dict):
    """Use this for answer evaluation"""
    response = rag_bot.get_answer(example["input"])
    print(response)
    return {"answer": response["answer"]}

 

続いて、app/rag_for_eval/evaluators/の中に評価関数を実装します。

answer_evaluator.py

from app.rag_for_eval.evaluators.evaluate_functions.predict_rag_answer import predict_rag_answer
from langsmith.evaluation import evaluate
from langchain_openai import ChatOpenAI
from langchain import hub
from dotenv import load_dotenv
load_dotenv()

grade_prompt_answer_accuracy = prompt = hub.pull(
    "langchain-ai/rag-answer-vs-reference")

dataset_name = "rag-bot-database"


def answer_evaluator(run, example) -> dict:
    """
    A simple evaluator for RAG answer accuracy
    """

    # Get question. ground_truth_answer, RAG chain answer
    input_question = example.inputs
    reference = example.outputs
    prediction = run.outputs

    # LLM grader
    llm = ChatOpenAI(model="gpt-4o", temperature=0)

    # Structured prompt
    answer_grader = grade_prompt_answer_accuracy | llm

    # Run evaluator
    score = answer_grader.invoke({
        "question": input_question,
        "correct_answer": reference,
        "student_answer": prediction
    })

    score = score["Score"]
    return {"key": "answer_v_reference_score", "score": score}

experiment_results = evaluate(
    predict_rag_answer,
    data=dataset_name,
    evaluators=[answer_evaluator],
    experiment_prefix="rag-answer-v-reference",
    metadata={"version": "OSHIETE AI context, gpt-4o"},
)

 

answer_hallucination_evaluator.py

from langchain_openai import ChatOpenAI
from langchain import hub
from dotenv import load_dotenv
from langsmith.evaluation import evaluate
from app.rag_for_eval.evaluators.evaluate_functions.predict_rag_answer_with_context import predict_rag_answer_with_context
load_dotenv()

dataset_name = "rag-bot-database"
# Prompt
grade_prompt_hallucinations = prompt = hub.pull(
    "langchain-ai/rag-answer-hallucination")

def answer_hallucination_evaluator(run, example) -> dict:
    """
    A simple evaluator for generation hallucination
    """
    # RAG inputs
    input_question = example.inputs
    contexts = run.outputs["contexts"]

    # RAG answer
    prediction = run.outputs["answer"]

    # LLM grader
    llm = ChatOpenAI(model="gpt-4o", temperature=0)

    # Structured prompt
    answer_grader = grade_prompt_hallucinations | llm

    # Get score
    score = answer_grader.invoke({"documents": contexts,
                                  "student_answer": prediction})
    score = score["Score"]

    return {"key": "answer_hallucination", "score": score}


evaluate(
    predict_rag_answer_with_context,
    data=dataset_name,
    evaluators=[answer_hallucination_evaluator],
    experiment_prefix="rag-answer-hallucination",
    metadata={"version": "OSHIETE AI context, gpt-4o"},
)

 

answer_helpfullness_evaluator.py
from langsmith.evaluation import evaluate
from langchain_openai import ChatOpenAI
from langchain import hub
from dotenv import load_dotenv
load_dotenv()
from app.rag_for_eval.evaluators.evaluate_functions.predict_rag_answer import predict_rag_answer
dataset_name = "rag-bot-database"

# prompt
grade_prompt_answer_helpfulness = prompt = hub.pull(
    "langchain-ai/rag-answer-helpfulness")

def answer_helpfulness_evaluator(run, example) -> dict:
  """
  A simple evaluator for RAG answer helpfulness
  """

  # Get question, ground truth answer, RAG chain answer
  input_question = example.inputs
  prediction = run.outputs["answer"]

  # LLM grader
  llm = ChatOpenAI(model="gpt-4o", temperature=0)

  # Structured prompt
  answer_grader = grade_prompt_answer_helpfulness | llm

  # Run evaluator
  score = answer_grader.invoke({
      "question": input_question,
      "student_answer": prediction
  })

  score = score["Score"]
  return {"key": "answer_helpfulness_score", "score": score}


evaluate(
    predict_rag_answer,
    data=dataset_name,
    evaluators=[answer_helpfulness_evaluator],
    experiment_prefix="rag-answer-helpfulness",
    metadata={"version": "OSHIETE AI context, gpt-4o"}
)

 

docs_relavance_evaluator.py


from langsmith.evaluation import evaluate
from langchain_openai import ChatOpenAI
from langchain import hub
from dotenv import load_dotenv
from app.rag_for_eval.evaluators.evaluate_functions.predict_rag_answer import predict_rag_answer
from app.rag_for_eval.evaluators.evaluate_functions.predict_rag_answer_with_context import predict_rag_answer_with_context
load_dotenv()
dataset_name = "rag-bot-database"

# Prompt
grade_prompt_doc_relevance = hub.pull("langchain-ai/rag-document-relevance")

def docs_relevance_evaluator(run, example) -> dict:
    """
    A simple evaluator for document relevance
    """

    # RAG inputs
    input_question = example.inputs
    print(run)
    contexts = run.outputs["contexts"]

    # LLM grader
    llm = ChatOpenAI(model="gpt-4o", temperature=0)

    # Structured prompt
    answer_grader = grade_prompt_doc_relevance | llm

    # Get score
    score = answer_grader.invoke({"question": input_question,
                                  "documents": contexts})
    score = score["Score"]

    return {"key": "document_relevance", "score": score}


evaluate(
    predict_rag_answer_with_context,
    data=dataset_name,
    evaluators=[docs_relevance_evaluator],
    experiment_prefix="rag-doc-relevance",
    metadata={"version": "OSHIETE AI context, gpt-4o"},
)

from langsmith.evaluation import evaluateで提供されているevaluate methodの引数に
検証したいRAGの処理、dataset、評価関数を入れて、実行します。

パスを通して、評価関数を実装した各python fileを直接実行しました。

実行結果

answer_evaluatorの実行結果。個々のinputに対して、scoreを出してくれる。


個別のinputに対する詳細を見ることができる。answer_v_reference_score = 1

docs_relevance_evaluator

answer_hallucination_evaluator

answer_helpfulness_evaluator

今後の課題

  • LangSmithで性能評価したRagBotと、LangServeにデプロイできるChainでInterfaceを揃える必要がある。traceable decoratorを用いたLangSmithによるモニタリングと、APIとしてRunnableを公開する利便性を両立させるところに新たな課題が生じた。
  • evaluateすると一度に多くの回数、APIを叩くことになるため、Rate Limitにかかってしまう。
  • 使用上の注意点として、LangSmithを利用する場合には、LLMへの問い合わせ文が、LangSmithのウェブサービスに送信されるため、顧客のデータを扱う場合には、セキュリティ面での注意が必要。

まとめ

  • 2024年2月のLangChainの大幅アップデートにより、LangSmith、LangServeという機能が公開された。
  • これらの機能を使うことで、実装したChainやAgentなどをアプリケーションとしてdeployし、運用・モニタリングを行うLLM Opsが可能になる。
  • 今後のAIアプリケーション開発は、このようなLangChain ecosystemを利用したLLM Opsが積極的に用いられると考えられるため引き続きアップデートを追っていきたいと思います。

 

参考資料

https://python.langchain.com/v0.2/docs/introduction/
https://python.langchain.com/v0.2/docs/how_to/installation/
https://docs.smith.langchain.com/tutorials/Developers/rag
https://docs.smith.langchain.com/

最後に

グループ研究開発本部 次世代システム研究室では、最新のテクノロジーを調査・検証しながらインターネット上の高度なアプリケーション開発を行うエンジニア・アーキテクトを募集しています。募集職種一覧 からご応募をお待ちしています。

  • Twitter
  • Facebook
  • はてなブックマークに追加

グループ研究開発本部の最新情報をTwitterで配信中です。ぜひフォローください。

 
  • AI研究開発室
  • 大阪研究開発グループ

関連記事