背景や目的
以前の記事でOpenAIのOSS版モデルであるgpt-oss-20bを試し、良い印象を持ちました。
そこで今回は、自社のRAGツールに組み込んで実運用に近い形で検証してみます。
(ご参考:以前の記事「OpenAIのOSSモデルgpt-oss-20bを試した」)
具体的には、そのツールの処理で使っているGPT-4.1をOSSモデルに置き換え、両者を比較して評価します。
本記事では、その構築手順と試験結果を紹介します。
自社のRAGツールはどういうツール?
社内ナレッジの質問に答えるRAG型チャットボットで、AWS上で稼働しています。下図が参考イメージです。具体的な構成は過去記事で紹介しています。
(ご参考:以前の記事「RAG型社内チャットボットのVPC構築例」)

置き換えのイメージ
下図の赤枠の「回答生成モデル(OpenAI GPT-4.1)」の部分を OSS モデルに差し替えたいと考えています。そのため、OSSモデルを動かすためのAPIを新たに構築します。

構築手順
具体的な手順です。
- API作成:コンテナイメージの作成
- API作成:コンテナイメージのローカル試験
- API作成: ECRのリポジトリ作成
- API作成:コンテナイメージをECRへプッシュ
- API作成:モデルファイル準備とS3へアップ
- API作成:SageMakerAIでの操作
- RAGツールの微修正
1.API作成:コンテナイメージの作成
ローカルWindows 環境で、WSL2(Ubuntu)上に開発環境を用意し、Dockerfileとapp.pyに処理をまとめてビルドします。
1) Docker環境の準備
ローカルで使えるようにします。ここは必要に応じて以前の記事をご参照下さい。
→性能の良さそうなローカルLLM3つを動作確認しました
(この記事内の「インストール:WSL2」の欄に記載してあります)
・適当な作業用ディレクトリを作成しておきます。
v-hegde@PC999:~$ mkdir rag_use_container_gpt-oss-20b
v-hegde@PC999:~$ cd rag_use_container_gpt-oss-20b/
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$2) Dockerfileとrequirements.txtを作成
コンテナに必要なファイルを作成しますが、まずDockerfileを作成します。
・作業用ディレクトリで、vi等でコードを作成します。以下はDockerfileです。
# ベースイメージを指定
FROM python:3.11
# SageMaker のワークディレクトリを指定
WORKDIR /opt/ml/code
# requirementsファイルをコピー
COPY requirements.txt .
# pipのインストール
RUN pip install --no-cache-dir pip==25.2
# 必要なパッケージをインストール
RUN pip install --no-cache-dir -r requirements.txt
# 処理部のファイルをコピー
COPY app.py .
# ポート8080を開放(SageMaker の仕様)
EXPOSE 8080
# エントリーポイントを指定(SageMakerの docker run <image> serve に対応)
ENTRYPOINT ["python", "app.py"]
・同様にvi等でrequirements.txtコードを書きます。以下はrequirements.txtです。
https://download.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp311-cp311-linux_x86_64.whl
transformers==4.55.4
accelerate==1.10.1
sentencepiece
Flask
sagemaker-inference
numpy<23) app.pyを作成
推論処理のapp.pyを用意します。
・同様にvi等でコードを書きます。内容は以下の通りです。
from flask import Flask, request, jsonify, Response
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer,TextIteratorStreamer
import os
import threading
import sys
app = Flask(__name__)
IS_SAGEMAKER = True
if IS_SAGEMAKER:
MODEL_DIR = "/opt/ml/model" # SageMaker 環境では S3 から展開されたモデルを使用
else:
MODEL_DIR = "openai/gpt-oss-20b" # ローカル環境(試験時)では Hugging Face からダウンロード
os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "expandable_segments:True" #Out of Memory対策で追加
print(f"Loading model from {MODEL_DIR} ...")
tokenizer = AutoTokenizer.from_pretrained(MODEL_DIR, use_fast=True)
model = AutoModelForCausalLM.from_pretrained(
MODEL_DIR,
torch_dtype="auto", # MXFP4量子化を自動で利用
device_map="auto",
trust_remote_code=True, # Qwen系の特殊ロジック利用時に必要な場合あり
low_cpu_mem_usage=True,
use_safetensors=True,
)
@app.route("/ping", methods=["GET"])
def ping():
"""ヘルスチェック用エンドポイント"""
return jsonify({"status": "healthy"}), 200
def generate_text(system_prompt,question):
# トークン化
if system_prompt == "":
system_prompt = "あなたは日本語の有能なアシスタントです。簡潔かつ正確に答えてください。"
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": question}
]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
streamer = TextIteratorStreamer(tokenizer, skip_special_tokens=True,skip_prompt=True) #回答文だけ返却する
generation_kwargs = {
"input_ids": inputs["input_ids"],
"attention_mask": inputs["attention_mask"],
"max_new_tokens": 5000,
"do_sample": True,
"temperature": 0.6,
"streamer": streamer, # 逐次出力を有効化
}
thread = threading.Thread(target=model.generate, kwargs=generation_kwargs) #別スレッドで生成を実行
thread.start()
for new_text in streamer: #逐次出力
yield new_text
yield "\n"
@app.route("/invocations", methods=["POST"])
def invocations():
data = request.json
system_prompt = data.get("system_prompt", "")
question = data.get("question", "")
return Response(generate_text(system_prompt,question), content_type="text/plain", status=200)
if __name__ == "__main__":
if len(sys.argv) > 1 and sys.argv[1] == "serve": #SageMakerの docker run <image> serve を受け、その引数が入る
app.run(host="0.0.0.0", port=8080, threaded=True)
else:
print("This container is for SageMaker! (atd)")4)コンテナイメージを作成
最後にコンテナイメージを作成します。
・ファイルの存在確認をし、よければビルドします。
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$ls
Dockerfile app.py requirements.txt
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$ docker build -t gpt-oss-20b .
Sending build context to Docker daemon 8.704kB
Step 1/8 : FROM python:3.11
---> 8525c6094d2b
Step 2/8 : WORKDIR /opt/ml/code
---> Using cache
---> a74f9fbdf627
Step 3/8 : COPY requirements.txt .
---> e3ecfc96f0a6
Step 4/8 : COPY app.py .
---> eb6a231e80a7
(・・途中省略・・)
Successfully tagged gpt-oss-20b:latest
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$・念のため作成後の状況を確認しておきます。以下のようにimageが増えたはずです。
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
gpt-oss-20b latest ************ ************ **GBコンテナイメージが作成できました。次に進みます。
2.API作成:コンテナイメージのローカル試験
ローカルで作成したコンテナイメージを起動し、動作確認します。
・上記でビルド出来てimageを作成したので、先にsyntaxエラーがないか軽く確認しておきます。(後で発覚するとやり直しがとても手間なので。)以下のコマンドで確認します。
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$ docker run -p 8080:8080 gpt-oss-20bSyntaxエラーではなく、「No such file or directory: ‘/opt/ml/model’」のエラーで止まればOKです。
サーバ上で動作させる前提の処理がローカルで動作できないのでエラーになっています。なので、その状態でOKです。
それ以外の凡ミスレベルのエラーはここで修正しておきましょう。
次へ進みます。
3.API作成: ECRのリポジトリ作成
クラウド側で利用するコンテナイメージの置き場所として、AWSコンソール上ECR(Amazon Elastic Container Registry)でプライベートリポジトリを作成します。
・AWSコンソールでECRメニューからプライベートリポジトリの画面を開き、右上部でリージョンは「us-east-2(オハイオ)」を選択します。
(後でGPUインスタンスを設定する時にオハイオが必要になります。)

・画面内右側にある「リポジトリを作成」を押します。

・表示された作成用の画面では、下表の値で登録をします。

| 設定項目 | 値 |
|---|---|
| リポジトリ名 | rag-use-api-gpt-oss-20b ※お好きな名称で |
| イメージタグのミュータビリティ | Mutable |
| 暗号化設定 | AES-256 |
| その他 | 全てデフォルト |
・作成ボタンを押すと、そのリポジトリが追加されます。
これでECRのリポジトリ作成は完了です。
4.API作成:コンテナイメージをECRへプッシュ
権限付きIAMユーザーを用意し、ローカルPCでAWS CLIからECRにログインして、作成したコンテナをリポジトリへプッシュします。
・ECRアクセスの権限を持つIAMユーザとそのアクセスキーを用意します。許可ポリシーAmazonEC2ContainerRegistryFullAccessがアタッチされたユーザであればOKです。作成の手順は、以前の記事をご参照下さい(「ユーザーの作成」で検索できます)。
・作成したリポジトリの画面内で「プッシュコマンドを表示」を押します。

・押下時、その手順が表示されます。

これを参考にして、自分の環境に合わせて順番に実行します。
・ローカルPCに戻り、AWS CLIをインストールします。
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$ sudo apt update
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$ sudo apt install unzip curl -y
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$ unzip awscliv2.zip
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$ sudo ./aws/install
(・・途中省略・・)
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$ aws --version
aws-cli/2.18.15 Python/3.12.6 Linux/6.6.87.2-microsoft-standard-WSL2 exe/x86_64.ubuntu.22・許可されたIAMユーザのアクセスキーをローカル環境へ登録します。aws configureコマンドで、用意したアクセスキーを以下のように対話式で入力すればOKです。
・IAMユーザが登録されたか以下コマンド確認しておきます。
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$ aws sts get-caller-identity
{
"UserId": "***",
"Account": "****",
"Arn": "arn:aws:iam::***:user/***ここにユーザ名が表示されます"
}
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$・ユーザの準備を終えたので、ECRの認証に進みます。コンソール上で実行します。
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$ aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin ***以降省略 AMC画面で表示された認証コマンドのコピーでOK
(・・途中省略・・)
Login Succeeded
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$・次は、前の章でビルドしたコンテナにタグを付けます。
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$ docker tag gpt-oss-20b:latest **(これ以降はAWS画面で表示されたタグ付けコマンドの内容と同じ)
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
***.dkr.ecr.ap-northeast-1.amazonaws.com/gpt-oss-20b latest ************ ************ **GB
gpt-oss-20b latest ************ ************ **GBdocker imagesコマンドで上の1行目(***~)があればOKです。タグ付けで1個増えました。
・準備が全て完了したので、プッシュします。これもコンソール上で実行します。
v-hegde@PC999:~/rag_use_container_gpt-oss-20b$ docker push ..(以降省略 AWS画面で表示されたpushコマンドのコピーでOK)
The push refers to repository [***.dkr.ecr.ap-northeast-1.amazonaws.com/gpt-oss-20b]
************: Pushed
(・・途中省略・・)
************: Pushed
latest: digest: sha256:*** size: ***上記のように latest: digest~ が表示されたらOKです。
・AWS上リポジトリの画面内見ると、プッシュ出来ているイメージがあれば完了です。

5.API作成:モデルファイル準備とS3へアップ
モデルファイルをダウンロードし、適当なバケット、フォルダを作成し、作成済のモデルファイルを圧縮せずにそこへアップロードします。
1.量子化されたモデルを用意
HuggingFaceからモデルファイル(openai/gpt-oss-20b)を手元にダウンロードします。
以下の13個ファイルを用意しておきます(他のファイルやフォルダは使いません)。

モデルは量子化済(MXFP4量子化)なので、量子化は不要。(サイズも14GBで小さいです)
2.Amazon S3の準備
オハイオAWSリージョンでバケットを用意します。
・AWSコンソールを開き、リージョンをオハイオにします。※前述の通りGPU設定に関わるので重要です。
・S3メニューを開き、「バケットの作成」を押します。

・作成画面では、下表の値を入力し「バケットを作成」を押します。

| 設定項目 | 値 |
|---|---|
| S3バケット名 | rag-use-api2 ※お好きな名称で |
| (その他) | (全てデフォルト) |
・そして、そのバケット内にモデルのフォルダを作成しておきます。私は以下を作成しました。
| 設定項目 | 値 |
|---|---|
| S3バケット名 | gpt-oss-20b ※お好きな名称で |
これで、S3の準備は完了です。
3.S3へモデルファイルをアップロード
手元でダウンロードしたモデルファイルを上記で用意したので、それを作成したバケットにアップロードします。以下はGoogle colabターゲットでアップしたコードです。
(手動でも良いのですが遅いです。)
/content# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
/content# unzip awscliv2.zip
/content# ./aws/install
/content# aws --version
/content# aws configure
AWS Access Key ID [None]: ***アクセスするIAMユーザのアクセスキー
AWS Secret Access Key [None]: ***アクセスするIAMユーザのシークレットアクセスキー
Default region name [None]: us-east-2
Default output format [None]:
/content#
aws s3 cp --recursive \
/content/drive/MyDrive/model/gpt-oss-20b/ \
s3://rag-use-api2/gpt-oss-20b/アクセス可能なユーザでcopyされるので、適当なIAMユーザで実行しています。
また、手元ファイルはgoogle driveに事前にセットしておきました。
・完了したらS3メニューで13個ファイルを確認しておきます。

これでS3へのアップロードは完了です。
6.API作成:SageMakerAIでの操作
SageMakerAI上で、ECRとS3のモデルファイルを指定してモデルを作成し、GPUインスタンスなどの設定を行い、エンドポイントを作成します。
1.モデルを作成
「SageMakerのモデル」が必要なので、それを作成します。
・AWSコンソールでSageMakerAIメニューを開き、オハイオAWSリージョンを選択し、「Deployments & inference」→「Deployable models」(モデル)を選択します。

・そこで「モデルの作成」を押し、作成画面では下表の値を入力し、最後に「モデルの作成」を押します。


| 設定項目 | 値 |
|---|---|
| モデル名 | gpt-oss-20b ※お好きな名称で |
| IAMロール | AmazonSage*** ※自動作成をお勧めします |
| コンテナ入力オプション | モデルアーティファクトと推論イメージの場所を指定します。 |
| モデル圧縮タイプ | UncompressedModel ※S3側と合わせる |
| S3 データタイプ | S3Prefix ※S3側と合わせる |
| 推論コードイメージの場所 | ***.dkr.ecr.ap-northeast-1.amazonaws.com/rag-use-api-gpt-oss-20b:latest *ECRにセットしたイメージのURIです。 |
| アーティファクトの場所 | s3://rag-use-api2/gpt-oss-20b/ *作成したモデルファイルのS3 URIです。 |
| (その他) | (全てデフォルト) |
・作成後は、一覧画面で確認しておきます。(直ぐ作成されるはずです。)

これで、SageMakerのモデル作成は完了です。
2.エンドポイント設定の作成
エンドポイントを作るための情報を登録する箇所となります。
・同様にSageMaker AIメニューで、「Deployments & inference」→エンドポイント設定を選択します。

・そこで「エンドポイント設定の作成」を押し、作成画面では下表の値を入力し、最後に一番下の「エンドポイント設定の作成」を押します。


| 設定項目 | 値 |
|---|---|
| エンドポイント設定名 | gpt-oss-20b-endpoint1 ※お好きな名称で |
| エンドポイントのタイプ | プロビジョン済み |
| 暗号化キー – オプション | カスタム暗号無し |
| 非同期呼び出し設定 | オフ (デフォルト) |
| データキャプチャを有効にする | オフ (デフォルト) |
| 本番稼働用バリアントを作成/モデルの追加 | gpt-oss-20b ※上で作成したモデル |
| [バリアント編集モーダル/バリアント名] | variant1 ※お好きな名称で |
| [バリアント編集モーダル/インスタンスタイプ] | ml.g6e.xlarge ※NVIDIA L40S GPUメモリ:48GB |
| [バリアント編集モーダル/初期インスタンス数] | 1 ※複数起動が可能そうだが、まずは1 |
| [バリアント編集モーダル/初期重量] | 1 ※複数起動の振り分けらしい。自動的に1 |
| [バリアント編集モーダル/モデルデータのダウンロードタイムアウト] | (空欄) ※Default 60分のまま |
| [バリアント編集モーダル/コンテナの起動タイムアウト] | 1200 ※20分にした(Default 300秒) |
まずまず高速なインスタンスタイプを使いたくてml.g6e.xlarge(L40S)を選びました。東京リージョンでは選べなかったため、前述の通り各所をオハイオで構築しています。
※注意点:ml.g6系はデフォルトでは使えず、AWS コンソールの Service Quotasから「Amazon SageMaker → ml.g6e.xlarge for endpoint usage」を申請すると利用可能になりました。
・一覧画面を表示させると、作成されたか確認できます。

3.エンドポイントの作成
準備は終わったので、あとは起動するだけです。
・同様にメニューから、「Deployments & inference」→エンドポイントを選択します。

・そこで「エンドポイントの作成」を押し、作成画面では下表の値を入力し、下にある「エンドポイントの作成」を押します。
| 設定項目 | 値 |
|---|---|
| エンドポイント名 | gpt-oss-20b-endpoint1-exec2 ※お好きな名称で |
| エンドポイント設定のアタッチ | 既存のエンドポイント設定の使用 |
| エンドポイント設定 | gpt-oss-20b-endpoint1 ※上で作成したものを選択し「エンドポイント設定の選択」を押す |
・作成後一覧画面で作成したエンドポイントのステータスがCreatingからInserviceに変わります。(7,8分かかります)

Inserviceになったら全て完了です。アクセス可能な状態になりました。
7.RAGツールの微修正
RAGツール(サーバ側Lambda関数)のRAG推論部分に、作成したエンドポイント名を指定して保存・デプロイします。
RAGツールのRAG推論部分はサーバ側のLambda関数のlambda_function.pyに書いています。
具体的には、コードはこれです。(OPENAI API部分のみ抜粋)
#OPENAI API 部分
resp = openai_client.chat.completions.create(
model="gpt-4.1",
messages=[
{"role":"system","content":system_prompt},
{"role":"user","content":user_prompt}
]
)
answer = resp.choices[0].message.content + view_use_id
return answer, system_promptgpt-oss-20bで動作するため上で作成したエンドポイント名を指定して、思考型(CoT)のモデルなので、生成文中の思考情報もカットする必要があります。
具体的には、上記推論コードを以下のコードに差し替えます。
print("Generating response using GPT OSS Sagemaker Endpoint model")
#アカウントクレデンシャル
atd_aws_access_key = os.environ.get('atd_aws_access_key') # 実際のユーザ名
atd_aws_secret_key = os.environ.get('atd_aws_secret_key')
region = "us-east-2" #Set to Ohio this time
# boto3 セッション作成
atd_session = boto3.Session(aws_access_key_id=atd_aws_access_key,aws_secret_access_key=atd_aws_secret_key,region_name=region)
client = atd_session.client("sagemaker-runtime")
payload = {
"system_prompt": system_prompt,
"question": question
}
response = client.invoke_endpoint_with_response_stream(
EndpointName="gpt-oss-20b-endpoint1-exec2", #上で作成したエンドポイント名
ContentType="application/json",
Body=json.dumps(payload).encode("utf-8")
)
answer_bytes = b""
for event in response['Body']:
if 'PayloadPart' in event:
answer_bytes += event['PayloadPart']['Bytes']
decoded_text = answer_bytes.decode("utf-8", errors="ignore")
# Keep only part after 'assistantfinal'
if "assistantfinal" in decoded_text:
answer = decoded_text.split("assistantfinal", 1)[1]
else:
answer = decoded_text
answer += view_use_id
return answer,system_prompt
except Exception as e:
print(f"Error in exec_rag: {e}")
raise関数内コードを上記に修正し、関数をデプロイしたら完了です。
試すためのRAGツールの全コードはお示しできませんが、
上で作成したAPIは以下のコードでお試し頂けます。Google Colab等でどうぞ。
#インストール
!pip install boto3
!pip install requests-aws4auth
import boto3
import json
# IAMユーザーの認証情報(ハードコード、Colab上だけで使用)
aws_access_key = "*****" # 実際のユーザ名
aws_secret_key = "*****"
region = "us-east-2"
# boto3 セッション作成
session = boto3.Session(aws_access_key_id=aws_access_key,aws_secret_access_key=aws_secret_key,region_name=region)
# SageMaker Runtime クライアント作成
client = session.client("sagemaker-runtime")
#API
payload = {
"system_prompt": "あなたは日本語が得意なアシスタントです。事実に基づき簡潔に回答してください。",
"question": "東京都の説明をしてください。短文で結構です。" #質問例です。
}
response = client.invoke_endpoint_with_response_stream(
EndpointName="gpt-oss-20b-endpoint1-exec2",#上で作成したエンドポイント名
ContentType="application/json",
Body=json.dumps(payload).encode("utf-8")
)
for event in response['Body']:
if 'PayloadPart' in event:
print(event['PayloadPart']['Bytes'].decode("utf-8"), end="", flush=True)Colabのセルで shift+enter を押すと、gpt-ossが生成した文が表示されてきます。
gpt-oss-20bの評価結果
gpt-oss-20bを組み込んだRAGツールを使って、試験してみました。
結果は以下の通りです。比較用にGPT 4.1の模範回答の結果も付記しました。
| No | 質問文 | GPT4.1 結果 | gpt-oss-20b 結果 | 理由 |
|---|---|---|---|---|
| 1 | 個人情報保護に関する調査票(毎年恒例)が届いた。ワークフロー申請が必要ですか? | 〇 | ✕ | 情報なしと判定した |
| 2 | アルバイトしていた新入社員はテレワーク勤務許可の再申請が必要か? | 〇 | ✕ | 情報なしと判定した |
| 3 | 物理破壊のルールってありますでしょうか? | 〇 | ✕ | 一般論を出した |
| 4 | 管理者アカウントにユーザーを追加する時何か申請が必要か? | 〇 | ✕ | 情報なしと判定した |
| 5 | TSHの社用PCやスマホからOutlookを利用してお客様先のメールを送受信することは可能か? | 〇 | ✕ | 情報なしと判定した |
結果は上の通りで、いずれもNGとなり残念でした。
どちらのモデルも、参照したい情報が検索結果に入っていて、同じシステムプロンプトにもかかわらず、gpt-ossは4/5件で「情報なし」と判断し、残り1件も一般論に留まりました。
それから、推論速度は0.21 秒/文字とやや遅い印象でした。
まとめ
自社のRAGツールのAPI部分をgpt-ossに置き換え、評価をしました。
GPT4.1で正答していた5件をgpt-ossで試験して、分かった事は以下の通りです。
・結果は残念ながらNG。
・コンテキスト内(検索結果内)に情報はあるのに何故か拾われず、コンテキストの下の方にあるためなのか、あるいはoss-gptにはコンテキストが長すぎるのかもしれません。
・試験前に軽く試した時、異常に長考する事がありました。不要な思考(CoT)が入ることで待ち時間が増えるリスクがありそうです。そのため、表示し終えるまでの時間が増えてしまい、試験では4倍遅くなった例もありました。
・コストは、GPU分で1時間あたり約$2.6かかります。ご参考まで。
なお、他でELYZA-Shortcut-32BのOSSモデルも試しましたが、結果は同様にNGでした。現状ではRAG用LLMとしてOSSモデルの採用はまだ難しそうですね。RAGのLLMはGPT4.1が良さそうです。
今後は、RAG向けにOSSモデルを追加学習するなどの工夫も試してみたいと考えています。
その頃までに、OpenAIからCoTを抑えたOSSモデルが提供されればとてもありがたいですね。
AI ವ್ಯವಸ್ಥೆಯನ್ನು ನವೀಕರಿಸುತ್ತಲೇ ಇರೋಣ
(AIシステムをどんどん更新しましょう)
