Alibaba Cloud Model Studio または自己開発の大規模言語モデル (LLM) にビジネスパラメーターを渡して、追加のコンテキストを提供し、より正確な応答を得ることができます。
機能紹介
パラメーターパススルーを使用すると、ユーザーコンテキスト、環境タグ、ユーザー ID、メンバーシップ情報などのカスタムビジネスデータを、サービスコールチェーン内のリクエストとともに送信できます。これにより、LLM に追加のコンテキストを提供し、ビジネスロジックを維持し、応答の精度を向上させ、データ整合性を確保しながら可観測性を高めることができます。
ユースケース
AI エージェントアプリケーションでは、Alibaba Cloud Model Studio のアプリケーションまたは自己開発モデルにパラメーターを渡すことができます。たとえば、カスタマーサービスのシナリオでは、ユーザーの問題タイプ、ビジネスセグメント、問い合わせ履歴を渡すことで、LLM がより正確で関連性の高い回答を提供し、サポート効率を向上させるのに役立ちます。
例: E コマースサポートにおいて、ユーザーの購入商品情報を渡すことで、LLM は製品の使用方法やアフターサービスに関する問題を迅速に解決できます。
実装
音声/ビデオ通話エージェント
Model Studio への引き渡し
-
サーバーサイド発信: GenerateAIAgentCall API または StartAIAgentInstance API を呼び出す際に、
AIAgentConfigパラメーターを設定します。詳細については、「AIAgentConfig」をご参照ください。 -
クライアント側の開始:
ARTCAICallConfig.agentConfig.llmConfigパラメーターで、BailianAppParamsパラメーターを設定して Alibaba Cloud Model Studio にパラメーターを渡します。 詳細については、「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 の bailianAppParams パラメーターを設定します。
const agentConfig = new AICallAgentConfig(); // AICallAgentConfig オブジェクトを作成します。
agentConfig.llmConfig.bailianAppParams = {
// bailianAppParams パラメーターを設定します。
};
// 通話開始プロセスは省略されています。
自己開発モデルへの引き渡し
-
サーバーサイドでの開始: GenerateAIAgentCall または StartAIAgentInstance API を呼び出す場合、
userDataパラメーターを設定します。 -
クライアント側開始: エージェントを起動する際に、
userDataプロパティを設定します。
エージェント開始後にカスタムの userData を取得する方法の詳細については、「LLM 標準インターフェイス」をご参照ください。
クライアントサイドのサンプルコード
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); // 通話を開始します。
チャットボットエージェント
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) に設定します。
mChatEngine.setUserData(userData);
iOS
// カスタムビジネスパラメーター。
let userData = ["xxx":"xxxxx"]
// userData をチャットエンジンに設定します。
self.engine.userData = userData
Web
// カスタムビジネスパラメーター。
const userData = { xxx: 'xxxxx' };
// userData をチャットエンジンに設定します。
engine.userData = userData;
Model Studio パラメーターの詳細
|
パラメーター |
タイプ |
説明 |
例 |
|
biz_params |
Object |
ワークフローアプリケーションまたはエージェントオーケストレーションアプリケーションに渡されるカスタムパラメーター。詳細については、「アプリケーションパラメーターパススルー」をご参照ください。 説明
|
|
|
user_prompt_params |
Object |
プロンプトテンプレートで定義されたカスタム変数です。Model Studio エージェントアプリケーションにカスタム変数を追加してプロンプトで参照する場合、このフィールドにキーと値のペアを渡します。このパラメーターは、プラグインパラメーターに使用される |
{ "biz_params": { "user_prompt_params": { "user_Name": "Beijing", "company_Name": "Alibaba Cloud", "job_title": "Frontend Engineer" } } } |
|
memory_id |
String |
長期記憶のための一意の識別子で、履歴情報を保存し、呼び出すために使用されます。 |
YOUR_MEMORY_ID |
|
image_list |
Array |
現在の操作に視覚的なコンテキストを提供する画像の URL。 |
["https://example.com/images/example.jpg"] |
|
rag_options |
Object |
検索拡張生成 (RAG) パラメーター。これには、指定されたナレッジベースやドキュメントの取得などが含まれますが、これらに限定されません。 |
|
|
Array |
ナレッジベース ID。指定すると、ナレッジベース内のすべてのドキュメントが取得されます。 |
["KnowledgeBaseID1", "KnowledgeBaseID2"] |
|
Array |
処理対象の非構造化ドキュメントの ID。 |
["DocumentID1", "DocumentID2"] |
|
Object |
非構造化ドキュメントのメタデータ。指定すると、指定されたメタデータを含むドキュメントが取得されます。 |
{ "name": "田中一郎" } |
|
Object |
構造化ドキュメントをフィルタリングするために使用する列名と値。 |
{ "key1": "value1", "key2": "value2" } |
|
Array |
非構造化ドキュメントのタグ。指定すると、一致するタグを持つドキュメントが取得されます。 |
["Tag1", "Tag2"] |
詳細については、「工作流与旧版智能体应用 API应用 DashScope API 参考」をご参照ください。 例:
Alibaba Cloud Model Studio プラグインへの引き渡し
aliyunBailianParamsJson = {
"biz_params": {
"user_defined_params":
{
"your_plugin_id":
{
"article_index": 2
}
},
"user_prompt_params": {
"user_Name": "Beijing", # プロンプトで参照されるカスタム変数の値に置き換えます
"company_Name": "Alibaba Cloud",
"job_title": "Frontend Engineer"
}
},
"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)