低代码快速构建RAG应用
更新时间:
功能介绍
本文主要介绍如何基于阿里云百炼的应用中心快速创建RAG应用,并通过API/SDK低代码方式调用RAG应用进行文档问答的最佳实践。
创建应用
Step 1:数据管理-导入数据
在数据中心,选择“默认类目”后,点击“导入数据”,然后通过“本地上传”的方式导入数据。导入数据需要花费一定的时间,需要耐心等待数据转为“导入完成”的状态(通过手动点击刷新按钮)。
Step 2:创建知识索引
1)在数据应用-知识索引页面,创建知识库,输入知识库描述,选择推荐配置即可。
2)点击下一步,从数据中心选择相关文件,选择导入完成,进行文档切分、构建索引等后续操作。
注:导入数据后,需要耐心等待知识库中的数据转为“解析完成”状态,才能在后续的文档问答过程中被检索到。
Step 3:创建应用
进入我的应用后,点击新增应用。然后在应用配置中,进行以下几步操作:
1) 选择模型。目前仅支持qwen-max模型,后续将支持更多的模型。同时,也可以支持设置模型内容生成的相关参数,如temperature等。
2) 开启“知识检索增强”。
3) 选择知识库,即在Step2中创建的知识索引。
4) 点击“保存并发布”按钮。
应用发布后,即可在后侧的窗口进行效果测试。
调用应用
前提条件
已创建API-KEY:获取API-KEY。
已获取到APP_ID:获取APP-ID和WORKSPACE。
通过API/SDK调用应用
说明
需要使用您的API-KEY替换示例中的YOUR_API_KEY,并将APP-ID替换示例中的YOUR_APP_ID,代码才能正常运行。
from http import HTTPStatus
from dashscope import Application
def call_agent_app():
response = Application.call(app_id='YOUR_APP_ID',
prompt='百炼的业务空间是什么?如何使用业务空间?',
api_key='YOUR_API_KEY',
)
if response.status_code != HTTPStatus.OK:
print('request_id=%s, code=%s, message=%s\n' % (response.request_id, response.status_code, response.message))
else:
print('request_id=%s\n output=%s\n usage=%s\n' % (response.request_id, response.output, response.usage))
if __name__ == '__main__':
call_agent_app()
import com.alibaba.dashscope.app.*;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import java.util.List;
public class Main{
public static void callAgentApp()
throws ApiException, NoApiKeyException, InputRequiredException {
ApplicationParam param = ApplicationParam.builder()
.apiKey("YOUR_API_KEY")
.appId("YOUR_APP_ID")
.prompt("百炼的业务空间是什么?如何使用业务空间?")
.build();
Application application = new Application();
ApplicationResult result = application.call(param);
System.out.printf("requestId: %s, text: %s, finishReason: %s\n",
result.getRequestId(), result.getOutput().getText(), result.getOutput().getFinishReason());
}
public static void main(String[] args) {
try {
callAgentApp();
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.out.printf("Exception: %s", e.getMessage());
}
System.exit(0);
}
}
curl --location 'https://dashscope.aliyuncs.com/api/v1/apps/{YOUR_APP_ID}/completion' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--header 'Content-Type: application/json' \
--data '{
"input": {
"prompt": "百炼的业务空间是什么?如何使用业务空间?"
},
"parameters": {},
"debug": {}
}' --verbose
反馈
- 本页导读 (1)