NIMSDK-AOS  9.19.0
NIMMessageAIConfigParams.java
浏览该文件的文档.
1 package com.netease.nimlib.sdk.msg.model;
2 
3 import android.text.TextUtils;
4 import com.netease.nimlib.log.NimLog;
8 import com.netease.nimlib.util.StringUtil;
9 import java.io.Serializable;
10 import java.util.List;
11 
12 /**
13  * 用于配置 NIM 消息 AI 的参数类
14  */
15 public class NIMMessageAIConfigParams implements Serializable {
16 
17  private static final String TAG = "NIMMessageAIConfigParams";
18  /** 数字人的 accountId,发送/响应 都存在 */
19  private final String accountId;
20 
21  /** 请求大模型的内容,发送入参 */
22  private NIMAIModelCallContent content;
23 
24  /** 上下文内容,当前只支持文本消息,发送入参 */
25  private List<NIMAIModelCallMessage> messages;
26 
27  /** 提示词变量占位符替换,JSON 格式的字符串,用于填充 prompt 中的变量。如果 NIMAIUser 中的 modelConfig.prompt 定义了变量,则必填. 端测不校验,发送入参 */
28  private String promptVariables;
29 
30  /** 请求接口模型相关参数配置,如果参数不为空,则默认覆盖控制相关配置,发送入参 */
31  private NIMAIModelConfigParams modelConfigParams;
32 
33  private NIMMessageAIConfigParams() {
34  this(null);
35  }
36 
37  /**
38  * 构造函数
39  * @param accountId 数字人的 accountId
40  */
41  public NIMMessageAIConfigParams(String accountId) {
42  this.accountId = accountId;
43  }
44 
45  /**
46  * 获取数字人的 accountId
47  * @return 数字人的 accountId
48  */
49  public String getAccountId() {
50  return accountId;
51  }
52 
53 
54  /**
55  * 获取请求大模型的内容
56  * @return 请求大模型的内容
57  */
59  return content;
60  }
61 
62  /**
63  * 设置请求大模型的内容
64  * @param content 请求大模型的内容
65  */
66  public void setContent(NIMAIModelCallContent content) {
67  this.content = content;
68  }
69 
70  /**
71  * 获取上下文内容
72  * @return 上下文内容
73  */
74  public List<NIMAIModelCallMessage> getMessages() {
75  return messages;
76  }
77 
78  /**
79  * 设置上下文内容
80  * @param messages 上下文内容
81  */
82  public void setMessages(List<NIMAIModelCallMessage> messages) {
83  this.messages = messages;
84  }
85 
86  /**
87  * 获取提示词变量占位符替换
88  * @return 提示词变量占位符替换
89  */
90  public String getPromptVariables() {
91  return promptVariables;
92  }
93 
94  /**
95  * 设置提示词变量占位符替换
96  * @param promptVariables 提示词变量占位符替换
97  */
98  public void setPromptVariables(String promptVariables) {
99  this.promptVariables = promptVariables;
100  }
101 
102  /**
103  * 获取请求接口模型相关参数配置
104  * @return 请求接口模型相关参数配置
105  */
107  return modelConfigParams;
108  }
109 
110  /**
111  * 设置请求接口模型相关参数配置
112  * @param modelConfigParams 请求接口模型相关参数配置
113  */
114  public void setModelConfigParams(NIMAIModelConfigParams modelConfigParams) {
115  this.modelConfigParams = modelConfigParams;
116  }
117 
118  public boolean isValid() {
119  if (TextUtils.isEmpty(accountId)) {
120  NimLog.e(TAG, "accountId is empty");
121  return false;
122  }
123 
124  if (content != null && !content.isValid()) {
125  NimLog.e(TAG, "content is invalid");
126  return false;
127  }
128 
129  if(messages != null && !messages.isEmpty()){
130  for(NIMAIModelCallMessage message : messages){
131  if(!message.isValid()){
132  NimLog.e(TAG, "message is invalid");
133  return false;
134  }
135  }
136  }
137 
138  if(promptVariables != null && !StringUtil.isJson(promptVariables)){
139  NimLog.e(TAG, "promptVariables is invalid");
140  return false;
141  }
142 
143  return true;
144  }
145 }
void setPromptVariables(String promptVariables)
设置提示词变量占位符替换
List< NIMAIModelCallMessage > getMessages()
获取上下文内容
NIMAIModelConfigParams getModelConfigParams()
获取请求接口模型相关参数配置
NIMAIModelCallContent getContent()
获取请求大模型的内容
void setModelConfigParams(NIMAIModelConfigParams modelConfigParams)
设置请求接口模型相关参数配置
String getPromptVariables()
获取提示词变量占位符替换
void setContent(NIMAIModelCallContent content)
设置请求大模型的内容
void setMessages(List< NIMAIModelCallMessage > messages)
设置上下文内容