OpenSearch LLM-Based Conversational Search Edition では、画像情報を含むドキュメントをアップロードできます。 これにより、OpenSearch は画像を含む構造化された結果を返すことができます。
ドキュメントをアップロードする
API 操作を呼び出すか、OpenSearch コンソールでファイルをアップロードすることで、ドキュメントをアップロードできます。 この例では、API 操作を呼び出すことでドキュメントがアップロードされます。
[インポート API] をクリックして、お客様のリージョンにおける OpenSearch API のエンドポイント と データインポート用のデモコード を表示します。
OpenSearch API のエンドポイント
http://opensearch-cn-shanghai.aliyuncs.com. In this example, the endpoint in the China (Shanghai) region is used. // この例では、中国 (上海) リージョンのエンドポイントが使用されています。
前提条件
import java.util.HashMap;
import java.util.Map;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.opensearch.OpenSearchClient;
import com.aliyun.opensearch.sdk.generated.OpenSearch;
import com.aliyun.opensearch.sdk.generated.commons.OpenSearchClientException;
import com.aliyun.opensearch.sdk.generated.commons.OpenSearchException;
import com.aliyun.opensearch.sdk.generated.commons.OpenSearchResult;
/**
* ドキュメントをプッシュするためのデモコード
*/
public class testPushDemo {
private static String appName = "ドキュメントをプッシュする OpenSearch アプリケーションの名前"; // The name of the OpenSearch application to which you want to push documents
private static String accesskey = "Alibaba Cloud アカウントの AccessKey ID"; // The AccessKey ID of your Alibaba Cloud account
private static String secret = "Alibaba Cloud アカウントの AccessKey シークレット"; // The AccessKey secret of your Alibaba Cloud account
private static String host = "お住まいのリージョンの OpenSearch API のエンドポイント"; // The endpoint of the OpenSearch API in your region
private static String path = "/apps/%s/actions/knowledge-bulk";
public static void main(String[] args) {
String appPath = String.format(path, appName);
// OpenSearch オブジェクトを作成します。
OpenSearch openSearch = new OpenSearch(accesskey, secret, host);
// OpenSearch オブジェクトをパラメーターとして使用して、OpenSearchClient オブジェクトを作成します。
OpenSearchClient openSearchClient = new OpenSearchClient(openSearch);
// 単一のドキュメントを追加するための JSON オブジェクトを作成します。
JSONObject oneRequest = new JSONObject();
oneRequest.put("cmd", "ADD");
JSONObject fields = new JSONObject();
fields.put("id", "テストドキュメントの ID"); // The ID of the test document
fields.put("title", "テストドキュメントのタイトル"); // The title of the test document
fields.put("url", "テストドキュメントの URL"); // The URL of the test document
fields.put("content", "<h2>Alibaba 旅行フロントエンド技術の過去と現在</h2><br /><p><img src="http://gw.alicdn.com/tps/TB1fhZbJFXXXXbhaXXXXXXXXXXX-864-176.png" width=300></p>");
fields.put("category", "テストドキュメントのカテゴリ"); // The category of the test document
oneRequest.put("fields", fields);
// JSON 配列を作成します。 JSON 配列を使用して、一度に複数のドキュメントを追加できます。
JSONArray request = new JSONArray();
request.add(oneRequest);
Map<String, String> params = new HashMap<String, String>() {{
put("format", "full_json");
put("_POST_BODY", request.toJSONString());
}};
try {
OpenSearchResult openSearchResult = openSearchClient.callAndDecodeResult(appPath, params, "POST");
// 戻り結果を表示します。
System.out.println(openSearchResult.getResult());
} catch (OpenSearchException e) {
e.printStackTrace();
} catch (OpenSearchClientException e) {
e.printStackTrace();
}
}
}
content フィールドに画像の URL を追加する必要があります。 URL にブラウザからアクセスできることを確認してください。
OpenSearch は、ドキュメントのタイトルとタグの値に基づいて画像を検索します。
タグ: <h1></h1>、<h2></h2>、<h3></h3>、<h4></h4>、および <h5></h5>
画像の例: <h2>Alibaba 旅行フロントエンド技術の過去と現在</h2><br /><p><img src="http://gw.alicdn.com/tps/TB1fhZbJFXXXXbhaXXXXXXXXXXX-864-176.png" width=300></p>
Q&A テストを実行する
1. OpenSearch コンソール にログオンし、左上隅にある LLM-Based Conversational Search Edition に切り替えます。 表示されたページで、左側のナビゲーションウィンドウの インスタンス管理 をクリックし、Q&A テストを実行するインスタンスを見つけ、[操作] 列の をクリックしてインスタンス詳細ページに移動します。 インスタンス詳細ページで、左側のウィンドウの をクリックします。
2. 表示されたページで、質問を入力し、Upload media files. をクリックします。
3. Q&A テストの結果を表示します。
使用上の注意
画像情報を含む Markdown または HTML ドキュメントをアップロードできます。
アップロードする Markdown または HTML ドキュメントに画像を埋め込むには、img タグを使用します。 img タグには、画像の URL を指定する src 属性が必要です。
画像の URL は http または https で始まり、.jpg、.jpeg、または .png で終わる必要があります。
画像は JPG、JPEG、または PNG 形式である必要があります。