开发常见问题Q&A

更新时间: 2024-06-14 17:41:12

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

1. 如何获取阿里云的AccessKey/AccessKey Secret?

请参考AccessKey、AppID及AgentKey获取方式, 获取AccessKey和AccessKey Secret。

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

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

请参考AccessKey、AppID及AgentKey获取方式, 获取AgentKey。

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

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

请参考AccessKey、AppID及AgentKey获取方式, 获取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是否一致。请参考AccessKey、AppID及AgentKey获取方式, 检查调用应用时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将被忽略。

上一篇: 错误码说明 下一篇: 如何集成langchain