开发常见问题Q&A

更新时间: 2024-02-22 19:19:26

本文总结了在接入阿里云百炼的过程中遇到常见的技术问题,能够帮助您解决接入时可能碰到的大部分问题。

1. 如何获取阿里云的Access Key/Acceess Secret Key?

请参考Access Key、Access Secret Key、Agent Key、AppId获取方式, 获取Access Key和Access Secret Key。

2. 什么是AgentKey? 如何获取AgentKey?

AgentKey是阿里云百炼的业务空间唯一标识key, 用来进行阿里云百炼的不同业务空间的数据隔离保护。

请参考Access Key、Access Secret Key、Agent Key、AppId获取方式, 获取Agent Key。

3. 什么是AppId? 如何获取AppId?

AppId是阿里云百炼的应用唯一标识,阿里云百炼中应用通常对应具体的业务场景或流程,客户可以在应用中选择模型、设置插件和内容风格等。

请参考Access Key、Access Secret Key、Agent Key、AppId获取方式, 获取AppId。

4. 我在调用API/SDK的过程中,返回错误提示"403, You are not authorized to do this operation. Action: sfm:CreateToken;Resource: acs:sfm::xxxxxx:*", 如何解决?

请参考文档如何实现业务数据隔离, 对RAM子账号增加阿里云百炼相应的访问权限(AliyunSFMFullAccess)。

5. 我在调用API/SDK的过程中,返回错误提示""User not authorized to operate on the specified resources", 如何解决?

进入阿里云百炼官网https://bailian.console.aliyun.com/, 点击"应用管理",选择调用的应用后并点击"调用"。然后检查对应的AgentKey和AppId是否正确。

image

6. 我在调用API/SDK的过程中,返回错误提示"应用标识不正确", 要如何处理?

首选,请确认是否传入了正确的AppId。

其次, 请确认API/SDK中传入的AppId与AgentKey是否一致。请参考Access Key、Access Secret Key、Agent Key、AppId获取方式, 检查调用应用时AgentKey与AppId是否一致。

7. 我想将阿里云百炼的SDK集成到langchain, 是否有参考代码?

将阿里云百炼的SDK集成到langchain, 请参考文档如何集成langchain

8. 我在开发过程中,如何开启大模型的推理过程?

在调用API/SDK时,传入hasThoughts为True即可。

CompletionsRequest request = new CompletionsRequest()
                .setAppId(appId)
                .setPrompt(prompt)
                .setHasThoughts(true);
resp = broadscope_bailian.Completions().call(app_id=app_id, prompt=prompt, has_thoughts=True)

9. 如何调整大模型输出内容的随机性?

在调用API/SDK时,传入topP即可, topP的取值范围为0 ~ 1.0。

        CompletionsRequest request = new CompletionsRequest()
                .setAppId(appId)
                .setPrompt(prompt)
                .setHasThoughts(true)
                .setTopP(0.2);
resp = broadscope_bailian.Completions().call(app_id=app_id, prompt=prompt, has_thoughts=True, top_p=0.2)

10. 调用API插件时,如何传递我自己的业务参数?

首先,请参考文档API插件管理, 添加"业务透传"参数。

其次,在调用API/SDK时,请参考文档Python SDK(旧版),参照"业务参数透传示例", 传入业务参数。

这样,阿里云百炼在调用API插件时,同时会将大模型提取的参数,和API传入的业务参数,填入到API请求中。

注:如果在API插件中配置了业务参数,则必须在调用文本生成的API/SDK时,传入业务参数,否则会导致"插件调用失败"。

11. 如何使用上下文?

请参考文档Python SDK(旧版)中的"多轮对话示例",调用API/SDK时传入session id或history。

传入session id时,阿里云百炼服务端将自动维护session id对应的上下文历史,如不在需要之前的上下文,则需传入新的session id。session id建议使用guid或uuid以免造成上下文唯一表示冲突。目前session id会话有效期是1个小时,最大历史会话轮数为50。

传入history时,则需要调用者自行维护多轮对话历史,包括用户问题和大模型的回答。

注:如果同时传入session id和history时,优先使用调用者维护的上下文历史,session id将被忽略。