// @Title Golang SDK Client // @Description This code is auto generated // @Author Ecloud SDK package model import ( "gitlab.ecloud.com/ecloud/ecloudsdkcore/position" "gitlab.ecloud.com/ecloud/ecloudsdkcore/utils" ) type SaveBody struct { position.Body // 智能体系统人设 SystemPrompt *string `json:"systemPrompt,omitempty"` // 推理服务ID,参考模型广场中,选择对应的模型中的API调用地址中的inf开头的部分,比如deepseek-r1的推理id 是inf-1336781912337387520, 不是所有的模型智能体都支持,详情可参考创建智能体页面或者联系客服人员 InferenceId *string `json:"inferenceId,omitempty"` // 智能体图标可以不传,如果传则是bas64编码格式(更新智能体的icon也是一样的构建方法),小于50KB png、jpg和svg格式, data:image/jpeg;base64,{base64编码} python代码样例如下: ```language import base64 import os def image_to_base64_with_prefix(image_path): """ 将本地图片文件转换为Base64编码并添加数据前缀 Args: image_path (str): 图片文件路径 Returns: str: 带有数据URL前缀的Base64编码字符串 """ # 获取文件扩展名以确定MIME类型 _, ext = os.path.splitext(image_path) ext = ext.lower() # 根据文件扩展名确定MIME类型 mime_types = { '.jpg': 'jpeg', '.jpeg': 'jpeg', '.png': 'png' } mime_type = mime_types.get(ext, 'jpeg') # 默认为jpeg # 读取图片文件并转换为Base64 with open(image_path, 'rb') as image_file: encoded_string = base64.b64encode(image_file.read()).decode('utf-8') # 添加数据前缀 return f"data:image/{mime_type};base64,{encoded_string}" ``` Icon *string `json:"icon,omitempty"` // 智能体名称(支持中英文、数字、下划线(_),2-20个字符,不能以下划线为开头) Name *string `json:"name,omitempty"` // 推荐问 SuggestQuestions []string `json:"suggestQuestions,omitempty"` // 知识库ID(最多5个) DocIdList []string `json:"docIdList,omitempty"` // 智能体简介(不超过200字) Introduction *string `json:"introduction,omitempty"` // 开场白 Prologue *string `json:"prologue,omitempty"` } func (s SaveBody) String() string { return utils.Beautify(s) } func (s SaveBody) GoString() string { return s.String() } func (s SaveBody) ToJsonString() string { return utils.ToJsonString(s) } func (s *SaveBody) SetSystemPrompt(v string) *SaveBody { s.SystemPrompt = &v return s } func (s *SaveBody) SetInferenceId(v string) *SaveBody { s.InferenceId = &v return s } func (s *SaveBody) SetIcon(v string) *SaveBody { s.Icon = &v return s } func (s *SaveBody) SetName(v string) *SaveBody { s.Name = &v return s } func (s *SaveBody) SetSuggestQuestions(v []string) *SaveBody { s.SuggestQuestions = v return s } func (s *SaveBody) SetDocIdList(v []string) *SaveBody { s.DocIdList = v return s } func (s *SaveBody) SetIntroduction(v string) *SaveBody { s.Introduction = &v return s } func (s *SaveBody) SetPrologue(v string) *SaveBody { s.Prologue = &v return s } type SaveBodyBuilder struct { s *SaveBody } func NewSaveBodyBuilder() *SaveBodyBuilder { s := &SaveBody{} b := &SaveBodyBuilder{s: s} return b } func (b *SaveBodyBuilder) SystemPrompt(v string) *SaveBodyBuilder { b.s.SystemPrompt = &v return b } func (b *SaveBodyBuilder) InferenceId(v string) *SaveBodyBuilder { b.s.InferenceId = &v return b } func (b *SaveBodyBuilder) Icon(v string) *SaveBodyBuilder { b.s.Icon = &v return b } func (b *SaveBodyBuilder) Name(v string) *SaveBodyBuilder { b.s.Name = &v return b } func (b *SaveBodyBuilder) SuggestQuestions(v []string) *SaveBodyBuilder { b.s.SuggestQuestions = v return b } func (b *SaveBodyBuilder) DocIdList(v []string) *SaveBodyBuilder { b.s.DocIdList = v return b } func (b *SaveBodyBuilder) Introduction(v string) *SaveBodyBuilder { b.s.Introduction = &v return b } func (b *SaveBodyBuilder) Prologue(v string) *SaveBodyBuilder { b.s.Prologue = &v return b } func (b *SaveBodyBuilder) Build() *SaveBody { return b.s }