このトピックでは、ビジネスパラメーターを Alibaba Cloud Model Studio または自社開発の大規模モデルに渡す方法について説明します。
機能概要
ビジネスパラメーターのパススルーは、分散システムまたはサービス呼び出しチェーン内のコンポーネント間で、ビジネスに関連する主要なデータを転送するための技術的なメカニズムです。このメカニズムにより、ユーザーコンテキスト、環境マーカー、パススルーユーザー ID、メンバーシップ情報などのデータが、損失なく、一貫性を保ち、安全に転送されることが保証されます。その主な目的は、ビジネスロジックの完全性と可観測性を維持し、転送中にデータが改ざん、損失、または断片化されないようにすることです。
利用シーン
エージェントアプリケーションでは、必要に応じて Alibaba Cloud Model Studio の大規模モデルまたは自社開発の大規模モデルにパラメーターを渡すことができます。インテリジェントカスタマーサービスのシナリオでは、ユーザーのクエリタイプ、関連するビジネスセクター、過去の問い合わせ記録などのビジネスパラメーターを Alibaba Cloud Model Studio の大規模モデルまたは自社開発の大規模モデルに渡すことができます。モデルはこれらのパラメーターを使用して、ユーザーの問題のコンテキストを理解できます。これにより、モデルはより正確でコンテキストを意識した回答を提供できるようになり、カスタマーサービスの効率とユーザー満足度が大幅に向上します。たとえば、E コマースのインテリジェントカスタマーサービスの領域では、ユーザーが購入したプロダクトに関する情報を渡すことで、大規模モデルはプロダクトの使用方法やアフターサービスに関する問題を迅速に解決できます。
実装
音声・ビデオエージェント
Alibaba Cloud Model Studio 大規模モデルへのパラメーターのパススルー
サーバーサイド起動:GenerateAIAgentCall または StartAIAgentInstance API を呼び出す際に、
AIAgentConfigパラメーターを設定します。AIAgentConfigパラメーターの詳細については、「AIAgentConfig」をご参照ください。クライアントサイド起動:
ARTCAICallConfig.agentConfig.llmConfigパラメーターで、BailianAppParamsパラメーターを設定して Alibaba Cloud Model Studio にパラメーターを渡します。BailianAppParamsパラメーターの詳細については、「Model Studio のパラメーター詳細」をご参照ください。
クライアントサイドのサンプルコード
Android
// ARTCAICallConfig オブジェクトを作成して設定します。
ARTCAICallEngine.ARTCAICallConfig artcaiCallConfig = new ARTCAICallEngine.ARTCAICallConfig();
// agentConfig の bailianAppParams パラメーターを設定します。これは JSON 文字列です。
artcaiCallConfig.agentConfig.llmConfig.bailianAppParams = "XXX";
// 呼び出し開始プロセスは省略します。iOS
// agentConfig の bailianAppParams パラメーターを設定します。
let agentConfig = ARTCAICallAgentConfig() // ARTCAICallAgentConfig オブジェクトを作成します。
agentConfig.llmConfig.bailianAppParams = ["xxx", "xxxx"]
// 呼び出し開始プロセスは省略します。
... Web
// agentConfig の aiAgentBailianAppParams パラメーターを設定します。
const agentConfig = new AICallAgentConfig(); // ARTCAICallAgentConfig オブジェクトを作成します。
agentConfig.llmConfig.bailianAppParams = {
// bailianAppParams パラメーターを設定します。
};
// 呼び出し開始プロセスは省略します。自社開発大規模モデルへのパラメーターのパススルー
サーバーサイド起動:GenerateAIAgentCall または StartAIAgentInstance API を呼び出す際に、
userDataパラメーターを設定します。クライアントサイド起動:エージェントを起動する際に、
userDataプロパティを設定します。
エージェントの起動後に渡したカスタムの userData を取得する方法の詳細については、「自社開発 LLM のための標準 API」をご参照ください。
クライアントサイドのサンプルコード
Android
ARTCAICallEngine.ARTCAICallConfig artcaiCallConfig = new ARTCAICallEngine.ARTCAICallConfig(); // ARTCAICallConfig オブジェクトを作成します。詳細については、ユーザーガイドをご参照ください。
artcaiCallConfig.userData = "{\"xxx\": \"xxx\"}" // モデルのビジネスパラメーターを設定します。
... // 必要に応じて他のパラメーターを設定します。
engine.init(artcaiCallConfig); // エンジンを初期化します。
engine.call(token); // 呼び出しを開始します。iOS
let callConfig = ARTCAICallConfig() // ARTCAICallConfig オブジェクトを作成します。詳細については、ユーザーガイドをご参照ください。
callConfig.userData = ["xxx": "xxxx"] // モデルのビジネスパラメーターを設定します。
... // 必要に応じて他のパラメーターを設定します。
self.engine.call(config: callConfig) // 呼び出しを開始します。Web
const callConfig = {
// AICallConfig オブジェクトを作成します。詳細については、ユーザーガイドをご参照ください。
};
callConfig.userData = JSON.stringify({xxx: 'xxx'})
// 呼び出しを開始します。
engine.callWithConfig(callConfig);メッセージベースの対話型エージェント
Alibaba Cloud Model Studio 大規模モデルへのパラメーターのパススルー
AICallKit SDKが提供する API を呼び出してビジネスパラメーターを設定する前に、AICallKit SDKライブラリが正しくインポートされていることを確認してください。ARTCAIChatTemplateConfigは、メッセージベースの対話用のテンプレート構成を作成するために使用されるクラスです。bailianParamパラメーターは、Alibaba Cloud Model Studio モデルに渡すビジネスパラメーターを含む JSON 文字列です。ARTCAIChatEngineは、メッセージベースの対話を管理するためのエンジンクラスです。setTemplateConfigメソッドを使用して、設定済みのtemplateConfigをエンジンに適用します。これにより、後続の Alibaba Cloud Model Studio モデルとの対話中にビジネスパラメーターが渡されるようになります。
サンプルコード
Android
// Alibaba Cloud Model Studio アプリケーションセンターのパラメーター。これは JSON 文字列です。
String bailianParam = "XXX";
// メッセージベースの対話用の TemplateConfig パラメーターを作成します。
ARTCAIChatEngine.ARTCAIChatTemplateConfig templateConfig= new ARTCAIChatEngine.ARTCAIChatTemplateConfig(bailianParam, "");
// メッセージベースの対話の設定パラメーターを設定します。mChatEngine は ARTCAIChatEngine オブジェクトです。
mChatEngine.setTemplateConfig(templateConfig);iOS
// メッセージベースの対話用の TemplateConfig パラメーターを作成します。
let templateConfig = ARTCAIChatTemplateConfig()
// Alibaba Cloud Model Studio アプリケーションセンターのパラメーターを設定します。
templateConfig.bailianAppParams = ["xxx":"xxxxx"]
// メッセージベースの対話エンジンに templateConfig を設定します。
self.engine.templateConfig = templateConfig
Web
const engine = new AIChatEngine();
// メッセージベースの対話用の TemplateConfig パラメーターを作成します。
const templateConfig = new AIChatTemplateConfig();
// Alibaba Cloud Model Studio アプリケーションセンターのパラメーターを設定します。
templateConfig.bailianAppParams = {
xxx: 'xxxxx',
};
// メッセージベースの対話エンジンに templateConfig を設定します。
engine.templateConfig = templateConfig;自社開発大規模モデルへのパラメーターのパススルー
自社開発の大規模モデルにビジネスパラメーターを渡すには、
AICallKit SDKのsetUserDataメソッドを呼び出します。このメソッドを呼び出す前に、SDK ライブラリが正しくインポートされていることを確認してください。userDataパラメーターは、自社開発の大規模モデルに渡すビジネスパラメーターを含む JSON 文字列です。mChatEngine.setUserData()メソッドを使用して、メッセージベースの対話エンジンにビジネスパラメーターを設定します。これにより、パラメーターのパススルーが可能になります。
サンプルコード
Android
// 自社開発のビジネスパラメーター。これは JSON 文字列です。
String userData = "XXX";
// メッセージベースの対話の設定パラメーターを設定します。mChatEngine は ARTCAIChatEngine オブジェクトです。
mChatEngine.setUserData(userData);iOS
// 自社開発のビジネスパラメーターを設定します。
let userData = ["xxx":"xxxxx"]
// メッセージベースの対話エンジンに userData を設定します。
self.engine.userData = userDataWeb
// 自社開発のビジネスパラメーターを設定します。
const userData = { xxx: 'xxxxx' };
// メッセージベースの対話エンジンに userData を設定します。
engine.userData = userData;Model Studio のパラメーター詳細
パラメーター名 | パラメータータイプ | 説明 | パラメーター例 |
biz_params | Object | ワークフローアプリケーションおよびエージェントオーケストレーションアプリケーションにおけるカスタムパラメーター用のパススルーフィールドです。Alibaba Cloud Model Studio でのパラメーターのパススルーに関する詳細については、「API を介したプラグインパラメーターのパススルー」をご参照ください。 説明
|
|
memory_id | String | 長期記憶のための一意の識別子。このパラメーターは履歴情報を保存および取得します。 | YOUR_MEMORY_ID |
image_list | Array | 関連付けられた画像 URL のリスト。現在の操作に関連する視覚情報を提供します。 | ["https://example.com/images/example.jpg"] |
rag_options | Object | ナレッジベース取得構成。エージェントがナレッジベースから情報を取得するためのオプションを指定します。 | |
| Array | ナレッジベース ID。特定のナレッジベースを識別して呼び出すために使用されます。 | ["KnowledgeBaseID1", "KnowledgeBaseID2"] |
| Array | 非構造化ドキュメント ID。処理する非構造化ドキュメントを指定します。 | ["DocumentID1", "DocumentID2"] |
| Object | 非構造化ドキュメントのメタデータ。特定のドキュメントをフィルターして見つけるために使用されます。 | { "name": "Zhang San" } |
| Object | 構造化ドキュメントをフィルターするための列名とそれに対応する値。 | { "key1": "value1", "key2": "value2" } |
| Array | 非構造化ドキュメントのタグ。分類と取得に使用されます。 | ["Tag1", "Tag2"] |
詳細については、「Alibaba Cloud Model Studio アプリケーション」をご参照ください。以下にパラメーターの例を示します:
Alibaba Cloud Model Studio プラグインへのパラメーターのパススルー
aliyunBailianParamsJson = {
"biz_params": {
"user_defined_params":
{
"your_plugin_id":
{
"article_index": 2
}
}
},
"memory_id": "your_memory_id",
"image_list": [
"https://your_image_url" # 画像 URL の例
],
"rag_options": {
"pipeline_ids": [
"your_id", # 実際のナレッジベース ID に置き換えてください
],
"file_ids": [
"DocumentID1", # 実際のドキュメント ID に置き換えてください
"DocumentID2" # 実際のドキュメント ID に置き換えてください
],
"metadata_filter": {
"name": "田中一郎" # 必要なメタデータフィルター条件に置き換えてください
},
"structured_filter": {
"key1": "value1", # フィルター条件の例
"key2": "value2" # フィルター条件の例
},
"tags": [
"Tag1", # 実際のタグに置き換えてください
"Tag2" # 実際のタグに置き換えてください
]
}
}
bailianParams = json.dumps(aliyunBailianParamsJson)Alibaba Cloud Model Studio ワークフローへのパラメーターのパススルー
aliyunBailianParamsJson = {
"biz_params": {
"key1": "value1"
},
"memory_id": "your_memory_id",
"image_list": [
"https://your_image_url" # 画像 URL の例
],
"rag_options": {
"pipeline_ids": [
"your_id", # 実際のナレッジベース ID に置き換えてください
],
"file_ids": [
"DocumentID1", # 実際のドキュメント ID に置き換えてください
"DocumentID2" # 実際のドキュメント ID に置き換えてください
],
"metadata_filter": {
"name": "田中一郎" # 必要なメタデータフィルター条件に置き換えてください
},
"structured_filter": {
"key1": "value1", # フィルター条件の例
"key2": "value2" # フィルター条件の例
},
"tags": [
"Tag1", # 実際のタグに置き換えてください
"Tag2" # 実際のタグに置き換えてください
]
}
}
bailianParams = json.dumps(aliyunBailianParamsJson)