插件-知识库
鉴权
字段 | 传参方式 | 类型 | 必传 | 描述 | 示例值 |
Authorization | header | String | 是 | API-Key | Bearer d1**2a |
路由配置
备注:SDK已封装好路由关系,通过SDK调用接口,无需设置接口路由配置。
字段 | 传参方式 | 类型 | 必传 | 描述 | 示例值 |
x-fag-appcode | header | String | 是 | 应用表示,固定为 | |
x-fag-servicename | header | String | 是 | 请求路由标识,不同接口值不一样,映射管理参考 | aca-character-create |
x-fag-servicename 与接口映射关系
接口 | 路径 | x-fag-appcode |
创建知识库 | /v2/api/knowledge_base/create | aca-kb-create |
修改知识库 | /v2/api/knowledge_base/update | aca-kb-update |
查询知识库 | /v2/api/knowledge_base/search | aca-kb-search |
删除知识库 | /v2/api/knowledge_base/delete | aca-kb-delete |
知识库文件上传 | /v2/api/knowledge_base/detail/upload | aca-kb-detail-upload |
知识库文件修改 | /v2/api/knowledge_base/detail/update | aca-kb-detail-update |
知识库文件查询 | /v2/api/knowledge_base/detail/delete | aca-kb-detail-delete |
知识库文件删除 | /v2/api/knowledge_base/detail/search | aca-kb-detail-search |
知识库管理
知识库创建
接口
POST /v2/api/knowledge_base/create
入参
名称 | 类型 | 是否必传 | 说明 |
name | string | 是 | 知识库名称,长度为20字符以内 |
description | string | 否 | 知识库描述,长度为200字符以内 |
返回参数
名称 | 类型 | 说明 |
code | int | 返回码,正常返回200,异常返回空 |
success | bool | 正常返回 true,异常返回null |
requestId | string | 请求唯一标识 |
data | object | 请求返回内容 |
data.knowledgeBaseId | string | 知识库id |
data.name | string | 知识库名称 |
data.description | string | 知识库描述 |
知识库修改
接口
POST /v2/api/knowledge_base/update
入参
名称 | 类型 | 是否必传 | 说明 |
knowledgeBaseId | string | 是 | 知识库id |
name | string | 否 | 知识库名称,长度为20字符以内 |
description | string | 否 | 知识库描述,长度为200字符以内 |
返回参数
名称 | 类型 | 说明 |
code | int | 返回码,正常返回200,异常返回空 |
success | bool | 正常返回 true,异常返回null |
requestId | string | 请求唯一标识 |
data | bool | 是否修改成功 |
知识库查询
接口
POST /v2/api/knowledge_base/search
入参
名称 | 类型 | 是否必传 | 说明 |
pageNum | int | 否(默认1) | 分页页码 |
pageSize | ing | 否(默认30) | 分页大小 |
返回参数
名称 | 类型 | 说明 |
code | int | 返回码,正常返回200,异常返回空 |
success | bool | 正常返回 true,异常返回null |
requestId | string | 请求唯一标识 |
data | object | 请求返回内容 |
data.page | int | 分页页码 |
data.pageSize | int | 分页大小 |
data.total | int | 总数 |
data.list | array | 数据 |
data.list[i].id | int | 知识库主键id |
data.list[i].knowledgeBaseId | string | 知识库id |
data.list[i].name | string | 知识库名称 |
data.list[i].gmtCreate | int | 知识库创建时间 |
data.list[i].gmtModified | int | 知识库修改时间 |
data.list[i].description | string | 知识库描述 |
data.list[i].count | int | 知识库下文件详情数量 |
知识库删除
接口
POST /v2/api/knowledge_base/delete
入参
名称 | 类型 | 是否必传 | 说明 |
knowledgeBaseId | string | 是 | 知识库id |
返回参数
名称 | 类型 | 说明 |
code | int | 返回码,正常返回200,异常返回空 |
success | bool | 正常返回 true,异常返回null |
requestId | string | 请求唯一标识 |
data | bool | 是否修改成功 |
知识库文件上传
接口
POST /v2/api/knowledge_base/detail/upload
入参
名称 | 类型 | 是否必传 | 说明 |
knowledgeBaseId | string | 是 | 知识库id |
type | string | 是 | 文件类型:text,form和document |
fileInfos | array | 是 | 上传文件集合 |
fileInfos[i].filename | string | 是 | 文件名称,以文件格式后缀结尾 |
fileInfos[i].fileUrl | string | 是 | 公网可访问地址 |
返回参数
名称 | 类型 | 说明 |
code | int | 返回码,正常返回200,异常返回空 |
success | bool | 正常返回 true,异常返回null |
requestId | string | 请求唯一标识 |
data | bool | 是否上传成功 |
知识库文件修改
接口
POST /v2/api/knowledge_base/detail/update
入参
名称 | 类型 | 是否必传 | 说明 |
knowledgeBaseId | string | 是 | 知识库id |
name | string | 是 | 现在文件的名称 |
newName | string | 是 | 修改的名称 |
返回参数
名称 | 类型 | 说明 |
code | int | 返回码,正常返回200,异常返回空 |
success | bool | 正常返回 true,异常返回null |
requestId | string | 请求唯一标识 |
data | bool | 是否修改成功 |
知识库文件查询
接口
POST /v2/api/knowledge_base/detail/search
入参
名称 | 类型 | 是否必传 | 说明 |
knowledgeBaseId | string | 是 | 知识库id |
pageNum | int | 否(默认1) | 分页页码 |
pageSize | ing | 否(默认30) | 分页大小 |
返回参数
名称 | 类型 | 说明 |
code | int | 返回码,正常返回200,异常返回空 |
success | bool | 正常返回 true,异常返回null |
requestId | string | 请求唯一标识 |
data | object | 请求返回内容 |
data.page | int | 分页页码 |
data.pageSize | int | 分页大小 |
data.total | int | 总数 |
data.list | array | 数据 |
data.list[i].id | int | 知识库详情主键id |
data.list[i].knowledgeBaseId | string | 知识库id |
data.list[i].name | string | 知识库详情名称 |
data.list[i].gmtCreate | int | 知识库详情创建时间 |
data.list[i].gmtModified | int | 知识库详情修改时间 |
data.list[i].type | string | 知识库详情类型 |
data.list[i].status | int | 知识库详情数状态不 |
data.list[i].fileInfo | object | 文件详情 |
data.list[i].fileInfo.filename | string | 文件名 |
data.list[i].fileInfo.fileSavePath | string | oss路径 |
data.list[i].fileInfo.fileUrl | string | 转存后的地址 |
知识库文件删除
接口
POST /v2/api/knowledge_base/detail/delete
入参
名称 | 类型 | 是否必传 | 说明 |
knowledgeBaseId | string | 是 | 知识库id |
name | string | 是 | 知识库文件详情名称 |
返回参数
名称 | 类型 | 说明 |
code | int | 返回码,正常返回200,异常返回空 |
success | bool | 正常返回 true,异常返回null |
requestId | string | 请求唯一标识 |
data | bool | 是否修改成功 |
示例参考
知识库创建
调用示例
curl --location 'https://nlp.aliyuncs.com/v2/api/knowledge_base/create' \
--header 'Expect;' \
--header 'accept: */*' \
--header 'Content-Type: application/json' \
--header 'x-fag-servicename: aca-kb-create' \
--header 'x-fag-appcode: aca' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--data '{
"name": "知识库名称",
"description": "知识库描述"
}'
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
/**
* API名称:知识库创建
* 环境要求:Java 17及以上
*/
public class Example {
private static final String URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/create";
private static final String API_KEY = "Bearer {YOUR_API_KEY}";
public static void main(String[] args) throws Exception {
// 创建
create();
}
private static void create() throws Exception {
System.out.println("=== 知识库创建 ===");
String jsonBody = """
{
"name": "知识库名称",
"description": "知识库描述"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(URL))
.headers(
"Authorization", API_KEY,
// 固定servicename
"x-fag-servicename", "aca-kb-create",
"x-fag-appcode", "aca",
"Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(jsonBody))
.build();
// 同步调用
HttpResponse<String> response = client.send(
request,
HttpResponse.BodyHandlers.ofString()
);
String responseBody = response.body();
System.out.println("响应数据: " + responseBody);
}
}
import requests
URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/create"
# API名称:知识库创建
# 环境要求:python3.10及以上
# 创建
def create(api_key):
headers = {
"Content-Type": "application/json",
"x-fag-servicename": "aca-kb-create",
"x-fag-appcode": "aca",
"Authorization": f"Bearer {api_key}"
}
payload = {
"name": "知识库名称",
"description": "知识库描述"
}
response = requests.post(URL, json=payload, headers=headers)
# 逐行打印原始响应内容
for line in response.iter_lines():
if line:
print(line.decode('utf-8'))
# 检查响应状态,如有错误则抛出异常
response.raise_for_status()
return response
if __name__ == "__main__":
api_key = "YOUR_API_KEY"
model_name = "xingchen-plus-latest"
try:
# 创建知识库
response = create(api_key)
except requests.HTTPError as e:
print(f"请求出错: {e}")
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
// API名称:知识库创建
// 环境要求:go 1.20及以上
const URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/create"
// 创建知识库
func create(apiKey string) (*http.Response, error) {
payload := map[string]interface{}{
"name": "知识库名称",
"description": "知识库描述",
}
payloadBytes, err := json.Marshal(payload)
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", URL, bytes.NewBuffer(payloadBytes))
if err != nil {
return nil, err
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-fag-servicename", "aca-kb-create")
req.Header.Set("x-fag-appcode", "aca")
req.Header.Set("Authorization", "Bearer "+apiKey)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return nil, err
}
// 逐行打印原始响应内容
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
if resp.StatusCode != http.StatusOK {
return nil, fmt.Errorf("请求出错,状态码:%d", resp.StatusCode)
}
return resp, nil
}
func main() {
apiKey := "YOUR_API_KEY"
// 创建知识库
_, err := create(apiKey)
if err != nil {
fmt.Printf("请求出错: %v\n", err)
}
}
返回示例
{
"requestId": "80153dfe-3a44-448e-9076-e65321aa3cce",
"code": 200,
"data": {
"knowledgeBaseId": "1358303662ed4b63b93e1ba3d2473cb0",
"name": "知识库名称",
"description": "知识库描述"
},
"success": true
}
知识库修改
调用示例
curl --location 'https://nlp.aliyuncs.com/v2/api/knowledge_base/update' \
--header 'Expect;' \
--header 'accept: */*' \
--header 'Content-Type: application/json' \
--header 'x-fag-servicename: aca-kb-update' \
--header 'x-fag-appcode: aca' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--data '{
"knowledgeBaseId": "知识库id",
"name": "知识库名称",
"description": "知识库描述"
}'
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
/**
* API名称:知识库修改
* 环境要求:Java 17及以上
*/
public class Example {
private static final String URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/update";
private static final String API_KEY = "Bearer {YOUR_API_KEY}";
public static void main(String[] args) throws Exception {
// 修改
update();
}
private static void update() throws Exception {
System.out.println("=== 知识库修改 ===");
String jsonBody = """
{
"knowledgeBaseId": "替换knowledgeBaseId",
"name": "知识库名称修改",
"description": "知识库描述修改"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(URL))
.headers(
"Authorization", API_KEY,
// 固定servicename
"x-fag-servicename", "aca-kb-update",
"x-fag-appcode", "aca",
"Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(jsonBody))
.build();
// 同步调用
HttpResponse<String> response = client.send(
request,
HttpResponse.BodyHandlers.ofString()
);
String responseBody = response.body();
System.out.println("响应数据: " + responseBody);
}
}
import requests
URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/update"
# API名称:知识库修改
# 环境要求:python3.10及以上
# 修改
def update(api_key):
headers = {
"Content-Type": "application/json",
"x-fag-servicename": "aca-kb-update",
"x-fag-appcode": "aca",
"Authorization": f"Bearer {api_key}"
}
payload = {
"knowledgeBaseId": "YOUR_KNOW_ID",
"name": "知识库名称3",
"description": "知识库描述3"
}
response = requests.post(URL, json=payload, headers=headers)
# 逐行打印原始响应内容
for line in response.iter_lines():
if line:
print(line.decode('utf-8'))
# 检查响应状态,如有错误则抛出异常
response.raise_for_status()
return response
if __name__ == "__main__":
api_key = "YOUR_API_KEY"
model_name = "xingchen-plus-latest"
try:
# 修改知识库
response = update(api_key)
except requests.HTTPError as e:
print(f"请求出错: {e}")
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
// API名称:知识库修改
// 环境要求:go 1.20及以上
const URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/update"
// 修改知识库
func update(apiKey string) (*http.Response, error) {
payload := map[string]interface{}{
"knowledgeBaseId": "替换knowledgeBaseId",
"name": "知识库名称",
"description": "知识库描述",
}
payloadBytes, err := json.Marshal(payload)
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", URL, bytes.NewBuffer(payloadBytes))
if err != nil {
return nil, err
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-fag-servicename", "aca-kb-update")
req.Header.Set("x-fag-appcode", "aca")
req.Header.Set("Authorization", "Bearer "+apiKey)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return nil, err
}
// 逐行打印原始响应内容
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
if resp.StatusCode != http.StatusOK {
return nil, fmt.Errorf("请求出错,状态码:%d", resp.StatusCode)
}
return resp, nil
}
func main() {
// 修改知识库
_, err := update(apiKey)
if err != nil {
fmt.Printf("请求出错: %v\n", err)
}
}
返回示例
{
"requestId": "0e18df96-9f56-4cd2-8175-5d0072c3f1d7",
"code": 200,
"data": true,
"success": true
}
知识库查询
调用示例
curl --location 'https://nlp.aliyuncs.com/v2/api/knowledge_base/search' \
--header 'Expect;' \
--header 'accept: */*' \
--header 'Content-Type: application/json' \
--header 'x-fag-servicename: aca-kb-search' \
--header 'x-fag-appcode: aca' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--data '{
"pageNum": 1,
"pageSize": 10
}'
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
/**
* API名称:知识库查询
* 环境要求:Java 17及以上
*/
public class Example {
private static final String URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/search";
private static final String API_KEY = "Bearer {YOUR_API_KEY}";
public static void main(String[] args) throws Exception {
// 查询
search();
}
private static void search() throws Exception {
System.out.println("=== 知识库查询 ===");
String jsonBody = """
{
"pageNum": 1,
"pageSize": 10
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(URL))
.headers(
"Authorization", API_KEY,
// 固定servicename
"x-fag-servicename", "aca-kb-search",
"x-fag-appcode", "aca",
"Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(jsonBody))
.build();
// 同步调用
HttpResponse<String> response = client.send(
request,
HttpResponse.BodyHandlers.ofString()
);
String responseBody = response.body();
System.out.println("响应数据: " + responseBody);
}
}
import requests
URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/search"
# API名称:知识库查询
# 环境要求:python3.10及以上
# 查询
def search(api_key):
headers = {
"Content-Type": "application/json",
"x-fag-servicename":"aca-kb-search",
"x-fag-appcode": "aca",
"Authorization": f"Bearer {api_key}"
}
payload = {
"pageNum": 1,
"pageSize": 10
}
response = requests.post(URL, json=payload, headers=headers)
# 逐行打印原始响应内容
for line in response.iter_lines():
if line:
print(line.decode('utf-8'))
# 检查响应状态,如有错误则抛出异常
response.raise_for_status()
return response
if __name__ == "__main__":
api_key = "YOUR_API_KEY"
model_name = "xingchen-plus-latest"
try:
# 查询知识库
response = search(api_key)
except requests.HTTPError as e:
print(f"请求出错: {e}")
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
// API名称:知识库查询
// 环境要求:go 1.20及以上
const URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/search"
// 查询知识库
func search(apiKey string) (*http.Response, error) {
payload := map[string]interface{}{
"pageNum": 1,
"pageSize": 10,
}
payloadBytes, err := json.Marshal(payload)
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", URL, bytes.NewBuffer(payloadBytes))
if err != nil {
return nil, err
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-fag-servicename", "aca-kb-search")
req.Header.Set("x-fag-appcode", "aca")
req.Header.Set("Authorization", "Bearer "+apiKey)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return nil, err
}
// 逐行打印原始响应内容
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
if resp.StatusCode != http.StatusOK {
return nil, fmt.Errorf("请求出错,状态码:%d", resp.StatusCode)
}
return resp, nil
}
func main() {
apiKey := "YOUR_API_KEY"
// 查询知识库
_, err := search(apiKey)
if err != nil {
fmt.Printf("请求出错: %v\n", err)
}
}
返回示例
{
"requestId": "5bad2a93-9889-4a16-bccf-fd162dcc0f46",
"code": 200,
"data": {
"list": [
{
"id": 9922,
"gmtCreate": 1755828181000,
"gmtModified": 1755828229000,
"knowledgeBaseId": "538656e030d646e3bdb743bde55ee0e0",
"name": "知识库名称",
"userId": "5ed33fdb8d9d4d1489e44efb5c41312b",
"bizUserId": "",
"description": "知识库描述",
"isDeleted": 0,
"offlineConfig": {
"textVectorModel": "text-embedding-v2",
"language": "cn",
"textChunkStrategy": "clever"
},
"onlineConfig": {
"multiRoundQueryRewrite": true,
"textEmbedding": true,
"searchJudgment": true,
"rank": true
},
"knowledgeType": "text",
"count": 0
}
],
"page": 1,
"pageSize": 10,
"total": 1
},
"success": true
}
知识库删除
调用示例
curl --location 'https://nlp.aliyuncs.com/v2/api/knowledge_base/delete' \
--header 'Expect;' \
--header 'accept: */*' \
--header 'Content-Type: application/json' \
--header 'x-fag-servicename: aca-kb-delete' \
--header 'x-fag-appcode: aca' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--data '{
"knowledgeBaseId": "知识库id"
}'
/**
* API名称:知识库删除
* 环境要求:Java 17及以上
*/
public class Example {
private static final String URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/delete";
private static final String API_KEY = "Bearer {YOUR_API_KEY}";
public static void main(String[] args) throws Exception {
// 删除
delete();
}
private static void delete() throws Exception {
System.out.println("=== 知识库删除 ===");
String jsonBody = """
{
"knowledgeBaseId": "替换knowledgeBaseId"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(URL))
.headers(
"Authorization", API_KEY,
// 固定servicename
"x-fag-servicename", "aca-kb-delete",
"x-fag-appcode", "aca",
"Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(jsonBody))
.build();
// 同步调用
HttpResponse<String> response = client.send(
request,
HttpResponse.BodyHandlers.ofString()
);
String responseBody = response.body();
System.out.println("响应数据: " + responseBody);
}
}
import requests
URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/delete"
# API名称:知识库删除
# 环境要求:python3.10及以上
# 删除
def delete(api_key):
headers = {
"Content-Type": "application/json",
"x-fag-servicename": "aca-kb-delete",
"x-fag-appcode": "aca",
"Authorization": f"Bearer {api_key}"
}
payload = {
"knowledgeBaseId": "YOUR_KNOW_ID"
}
response = requests.post(URL, json=payload, headers=headers)
# 逐行打印原始响应内容
for line in response.iter_lines():
if line:
print(line.decode('utf-8'))
# 检查响应状态,如有错误则抛出异常
response.raise_for_status()
return response
if __name__ == "__main__":
api_key = "YOUR_API_KEY"
model_name = "xingchen-plus-latest"
try:
# 删除知识库
response = delete(api_key)
except requests.HTTPError as e:
print(f"请求出错: {e}")
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
// API名称:知识库删除
// 环境要求:go 1.20及以上
const URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/delete"
// 删除
func delete(apiKey string) (*http.Response, error) {
payload := map[string]interface{}{
"knowledgeBaseId": "替换knowledgeBaseId",
}
payloadBytes, err := json.Marshal(payload)
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", URL, bytes.NewBuffer(payloadBytes))
if err != nil {
return nil, err
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-fag-servicename", "aca-kb-delete")
req.Header.Set("x-fag-appcode", "aca")
req.Header.Set("Authorization", "Bearer "+apiKey)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return nil, err
}
// 逐行打印原始响应内容
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
if resp.StatusCode != http.StatusOK {
return nil, fmt.Errorf("请求出错,状态码:%d", resp.StatusCode)
}
return resp, nil
}
func main() {
apiKey := "YOUR_API_KEY"
// 删除知识库
_, err := delete(apiKey)
if err != nil {
fmt.Printf("请求出错: %v\n", err)
}
}
返回示例
{
"requestId": "a2ff0262-7c43-4537-92cd-dfa15120f7ee",
"code": 200,
"data": true,
"success": true
}
知识库文件上传
最多上传10个知识库文件,单个文件大小不超过4M。
调用示例
curl --location 'https://nlp.aliyuncs.com/v2/api/knowledge_base/detail/upload' \
--header 'Expect;' \
--header 'accept: */*' \
--header 'Content-Type: application/json' \
--header 'x-fag-servicename: aca-kb-detail-upload' \
--header 'x-fag-appcode: aca' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--data '{
"knowledgeBaseId": "知识库id",
"type": "text",
"fileInfos": [
{
"filename": "文件名.txt",
"fileUrl": "公网可访问地址"
}
]
}'
/**
* API名称:知识库文件上传
* 环境要求:Java 17及以上
*/
public class Example {
private static final String URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/detail/upload";
private static final String API_KEY = "Bearer {YOUR_API_KEY}";
public static void main(String[] args) throws Exception {
// 上传
upload();
}
private static void upload() throws Exception {
System.out.println("=== 知识库文件上传 ===");
String jsonBody = """
{
"knowledgeBaseId": "d1f5c2797e9e4e80ac7a6363c830d31a",
"type": "text",
"fileInfos": [
{
"fileUrl": "https://lang.alicdn.com/xingchen/guanyu.txt",
"filename": "guanyu.txt"
}
]
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(URL))
.headers(
"Authorization", API_KEY,
// 固定servicename
"x-fag-servicename", "aca-kb-detail-upload",
"x-fag-appcode", "aca",
"Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(jsonBody))
.build();
// 同步调用
HttpResponse<String> response = client.send(
request,
HttpResponse.BodyHandlers.ofString()
);
String responseBody = response.body();
System.out.println("响应数据: " + responseBody);
}
}
import requests
URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/detail/upload"
# API名称:知识库文件上传
# 环境要求:python3.10及以上
# 上传
def upload(api_key):
headers = {
"Content-Type": "application/json",
"x-fag-servicename": "aca-kb-detail-upload",
"x-fag-appcode": "aca",
"Authorization": f"Bearer {api_key}"
}
payload = {
"knowledgeBaseId": "替换knowledgeBaseId",
"type": "text",
"fileInfos": [
{
"fileUrl": "https://lang.alicdn.com/xingchen/guanyu.txt",
"filename": "guanyu3.txt"
}
]
}
response = requests.post(URL, json=payload, headers=headers)
# 逐行打印原始响应内容
for line in response.iter_lines():
if line:
print(line.decode('utf-8'))
# 检查响应状态,如有错误则抛出异常
response.raise_for_status()
return response
if __name__ == "__main__":
api_key = "YOUR_API_KEY"
model_name = "xingchen-plus-latest"
try:
# 上传知识库文件
response = upload(api_key)
except requests.HTTPError as e:
print(f"请求出错: {e}")
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
// API名称:知识库文件上传
// 环境要求:go 1.20及以上
const URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/detail/upload"
// 上传
func upload(apiKey string) (*http.Response, error) {
payload := map[string]interface{}{
"knowledgeBaseId": "替换knowledgeBaseId",
"type": "text",
"fileInfos": []map[string]string{
{
"fileUrl": "https://lang.alicdn.com/xingchen/guanyu.txt",
"filename": "guanyu.txt",
},
},
}
payloadBytes, err := json.Marshal(payload)
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", URL, bytes.NewBuffer(payloadBytes))
if err != nil {
return nil, err
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-fag-servicename", "aca-kb-detail-upload")
req.Header.Set("x-fag-appcode", "aca")
req.Header.Set("Authorization", "Bearer "+apiKey)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return nil, err
}
// 逐行打印原始响应内容
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
if resp.StatusCode != http.StatusOK {
return nil, fmt.Errorf("请求出错,状态码:%d", resp.StatusCode)
}
return resp, nil
}
func main() {
apiKey := "YOUR_API_KEY"
// 上传
_, err := upload(apiKey)
if err != nil {
fmt.Printf("请求出错: %v\n", err)
}
}
返回示例
{
"requestId": "3d81366f-0d6b-4ca5-9b85-f51f347c050f",
"code": 200,
"data": true,
"success": true
}
知识库文件修改
调用示例
curl --location 'https://nlp.aliyuncs.com/v2/api/knowledge_base/detail/update' \
--header 'Expect;' \
--header 'accept: */*' \
--header 'Content-Type: application/json' \
--header 'x-fag-servicename: aca-kb-detail-update' \
--header 'x-fag-appcode: aca' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--data '{
"knowledgeBaseId": "知识库id",
"name": "现在使用的名称",
"newName": "新的名称"
}'
/**
* API名称:知识库文件修改
* 环境要求:Java 17及以上
*/
public class Example {
private static final String URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/detail/update";
private static final String API_KEY = "Bearer {YOUR_API_KEY}";
public static void main(String[] args) throws Exception {
// 修改
update();
}
private static void update() throws Exception {
System.out.println("=== 知识库文件名称修改 ===");
// name 字段填写上方 filename
String jsonBody = """
{
"knowledgeBaseId": "替换knowledgeBaseId",
"name": "guanyu.txt",
"newName": "newName.txt"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(URL))
.headers(
"Authorization", API_KEY,
// 固定servicename
"x-fag-servicename", "aca-kb-detail-update",
"x-fag-appcode", "aca",
"Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(jsonBody))
.build();
// 同步调用
HttpResponse<String> response = client.send(
request,
HttpResponse.BodyHandlers.ofString()
);
String responseBody = response.body();
System.out.println("响应数据: " + responseBody);
}
}
import requests
URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/detail/update"
# API名称:知识库文件修改
# 环境要求:python3.10及以上
# 修改
def update(api_key):
headers = {
"Content-Type": "application/json",
"x-fag-servicename": "aca-kb-detail-update",
"x-fag-appcode": "aca",
"Authorization": f"Bearer {api_key}"
}
# name 填写上方filename
payload = {
"knowledgeBaseId": "替换knowledgeBaseId",
"name": "guanyu.txt",
"newName": "newName.txt"
}
response = requests.post(URL, json=payload, headers=headers)
# 逐行打印原始响应内容
for line in response.iter_lines():
if line:
print(line.decode('utf-8'))
# 检查响应状态,如有错误则抛出异常
response.raise_for_status()
return response
if __name__ == "__main__":
api_key = "YOUR_API_KEY"
model_name = "xingchen-plus-latest"
try:
# 修改知识库文件
response = update(api_key)
except requests.HTTPError as e:
print(f"请求出错: {e}")
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
// API名称:知识库文件修改
// 环境要求:go 1.20及以上
const URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/detail/update"
// 修改知识库文件
func update(apiKey string) (*http.Response, error) {
// name 填写上方filename
payload := map[string]interface{}{
"knowledgeBaseId": "替换knowledgeBaseId",
"name": "guanyu.txt",
"newName": "guanyu1.txt",
}
payloadBytes, err := json.Marshal(payload)
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", URL, bytes.NewBuffer(payloadBytes))
if err != nil {
return nil, err
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-fag-servicename", "aca-kb-detail-update")
req.Header.Set("x-fag-appcode", "aca")
req.Header.Set("Authorization", "Bearer "+apiKey)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return nil, err
}
// 逐行打印原始响应内容
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
if resp.StatusCode != http.StatusOK {
return nil, fmt.Errorf("请求出错,状态码:%d", resp.StatusCode)
}
return resp, nil
}
func main() {
apiKey := "YOUR_API_KEY"
// 修改知识库文件
_, err := update(apiKey)
if err != nil {
fmt.Printf("请求出错: %v\n", err)
}
}
返回示例
{
"requestId": "3d81366f-0d6b-4ca5-9b85-f51f347c050f",
"code": 200,
"data": true,
"success": true
}
知识库文件查询
调用示例
curl --location 'https://nlp.aliyuncs.com/v2/api/knowledge_base/detail/search' \
--header 'Expect;' \
--header 'accept: */*' \
--header 'Content-Type: application/json' \
--header 'x-fag-servicename: aca-kb-detail-search' \
--header 'x-fag-appcode: aca' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--data '{
"knowledgeBaseId": "知识库id",
"pageNum": 1,
"pageSize": 10
}'
/**
* API名称:知识库文件查询
* 环境要求:Java 17及以上
*/
public class Example {
private static final String URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/detail/search";
private static final String API_KEY = "Bearer {YOUR_API_KEY}";
public static void main(String[] args) throws Exception {
// 查询
search();
}
private static void search() throws Exception {
System.out.println("=== 知识库文件查询 ===");
String jsonBody = """
{
"knowledgeBaseId": "替换knowledgeBaseId",
"pageNum": 1,
"pageSize": 10
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(URL))
.headers(
"Authorization", API_KEY,
// 固定servicename
"x-fag-servicename", "aca-kb-detail-search",
"x-fag-appcode", "aca",
"Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(jsonBody))
.build();
// 同步调用
HttpResponse<String> response = client.send(
request,
HttpResponse.BodyHandlers.ofString()
);
String responseBody = response.body();
System.out.println("响应数据: " + responseBody);
}
}
import requests
URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/detail/search"
# API名称:知识库文件查询
# 环境要求:python3.10及以上
# 查询
def search(api_key):
headers = {
"Content-Type": "application/json",
"x-fag-servicename": "aca-kb-detail-search",
"x-fag-appcode": "aca",
"Authorization": f"Bearer {api_key}"
}
payload = {
"knowledgeBaseId": "替换knowledgeBaseId",
"pageNum": 1,
"pageSize": 10
}
response = requests.post(URL, json=payload, headers=headers)
# 逐行打印原始响应内容
for line in response.iter_lines():
if line:
print(line.decode('utf-8'))
# 检查响应状态,如有错误则抛出异常
response.raise_for_status()
return response
if __name__ == "__main__":
api_key = "YOUR_API_KEY"
model_name = "xingchen-plus-latest"
try:
# 查询知识库文件
response = search(api_key)
except requests.HTTPError as e:
print(f"请求出错: {e}")
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
// API名称:知识库文件查询
// 环境要求:go 1.20及以上
const URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/detail/search"
// 查询知识库文件
func search(apiKey string) (*http.Response, error) {
payload := map[string]interface{}{
"knowledgeBaseId": "替换knowledgeBaseId",
"pageNum": 1,
"pageSize": 10,
}
payloadBytes, err := json.Marshal(payload)
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", URL, bytes.NewBuffer(payloadBytes))
if err != nil {
return nil, err
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-fag-servicename", "aca-kb-detail-search")
req.Header.Set("x-fag-appcode", "aca")
req.Header.Set("Authorization", "Bearer "+apiKey)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return nil, err
}
// 逐行打印原始响应内容
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
if resp.StatusCode != http.StatusOK {
return nil, fmt.Errorf("请求出错,状态码:%d", resp.StatusCode)
}
return resp, nil
}
func main() {
apiKey := "YOUR_API_KEY"
//查询知识库文件
_, err := search(apiKey)
if err != nil {
fmt.Printf("请求出错: %v\n", err)
}
}
返回示例
{
"requestId": "d39b2708-527a-45b7-9343-69ee2178b6cb",
"code": 200,
"data": {
"list": [
{
"id": 34405,
"gmtCreate": 1755658488000,
"gmtModified": 1755658531000,
"knowledgeBaseId": "123b9e9ec4af4ec5bc2f9b8973417435",
"name": "guanyu3.txt",
"type": "text",
"status": "success",
"fileInfo": {
"fileSavePath": "kb/oss-5ed33fdb8d9d4d1489e44efb5c41312b-57e41178f147c2a44a48b3cf7547f259.txt",
"filename": "guanyu3.txt",
"fileUrl": "//character-ai.oss-cn-hangzhou.aliyuncs.com/kb/oss-5ed33fdb8d9d4d1489e44efb5c41312b-57e41178f147c2a44a48b3cf7547f259.txt?Expires=1787365690&OSSAccessKeyId=STS.NXoeuqCeWQmA4EtJBsw81aCHu&Signature=CS%2Bf3fg2iyVIlcH1vp4hmanhCxM%3D&security-token=CAISxgJ1q6Ft5B2yfSjIr5vaLs%2FFrrp25q%2BqNmPFrkIme7cdjobjlzz2IHhMe3lgA%2BgctPQ%2Bm29W7Pkflrp6SJtIXleCZtF94oxN9h2gb4fb4yhNH1Hh08%2FLI3OaLjKm9u2wCryLYbGwU%2FOpbE%2B%2B5U0X6LDmdDKkckW4OJmS8%2FBOZcgWWQ%2FKBlgvRq0hRG1YpdQdKGHaONu0LxfumRCwNkdzvRdmgm4NgsbWgO%2Fks0OO0AKqmrFE%2Btirecj1NPMBZskvD42Hu8VtbbfE3SJq7BxHybx7lqQs%2B02c5onCUwkLu0%2FcY7uLrYM1c1JjB6ExEutPqP%2Fhme2FZUhRDl0SofwkHZa2M0y3LOjIqKNPmNJwucXerM7kIYLL%2FNq5JKTbpcLYER3QzOuDsjfA%2B5Kd%2BNHtq8gDx2J%2BkruwAXhIM0Pui8k8N1kfkz2AlRqAAQ0r4%2FRXMmZ0RCrN8sq1Bwo3pekrHYfEZMO5ty9tNpcDP6fiznYiIoJ3vUE1FdZVjWaVapUhkscYVnrUGDILLF4tCwBXuH6Mnn5IQgf4TQXdWC9YfBvu8xwSimIehUePNDSVKIAc6GsRoziietNmQPWT4BD9Hu9WY48s5HsFmlD9IAA%3D"
}
}
],
"page": 1,
"pageSize": 10,
"total": 2
},
"success": true
}
知识库文件删除
调用示例
curl --location 'https://nlp.aliyuncs.com/v2/api/knowledge_base/detail/delete' \
--header 'Expect;' \
--header 'accept: */*' \
--header 'Content-Type: application/json' \
--header 'x-fag-servicename: aca-kb-detail-delete' \
--header 'x-fag-appcode: aca' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--data '{
"knowledgeBaseId": "知识库id",
"name": "知识库详情名称"
}'
/**
* API名称:知识库文件删除等
* 环境要求:Java 17及以上
*/
public class Example {
private static final String URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/detail/delete";
private static final String API_KEY = "Bearer {YOUR_API_KEY}";
public static void main(String[] args) throws Exception {
// 删除
delete();
}
private static void delete() throws Exception {
System.out.println("=== 知识库文件删除 ===");
String jsonBody = """
{
"knowledgeBaseId": "替换knowledgeBaseId",
"name": "newName.txt"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(URL))
.headers(
"Authorization", API_KEY,
// 固定servicename
"x-fag-servicename", "aca-kb-detail-delete",
"x-fag-appcode", "aca",
"Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(jsonBody))
.build();
// 同步调用
HttpResponse<String> response = client.send(
request,
HttpResponse.BodyHandlers.ofString()
);
String responseBody = response.body();
System.out.println("响应数据: " + responseBody);
}
}
import requests
URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/detail/delete"
# API名称:知识库文件删除
# 环境要求:python3.10及以上
# 删除
def delete(api_key):
headers = {
"Content-Type": "application/json",
"x-fag-servicename": "aca-kb-detail-delete",
"x-fag-appcode": "aca",
"Authorization": f"Bearer {api_key}"
}
payload = {
"knowledgeBaseId": "替换knowledgeBaseId",
"name": "guanyu.txt"
}
response = requests.post(URL, json=payload, headers=headers)
# 逐行打印原始响应内容
for line in response.iter_lines():
if line:
print(line.decode('utf-8'))
# 检查响应状态,如有错误则抛出异常
response.raise_for_status()
return response
if __name__ == "__main__":
api_key = "YOUR_API_KEY"
model_name = "xingchen-plus-latest"
try:
# 删除
response = delete(api_key)
except requests.HTTPError as e:
print(f"请求出错: {e}")
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
// API名称:知识库文件删除
// 环境要求:go 1.20及以上
const URL = "https://nlp.aliyuncs.com/v2/api/knowledge_base/detail/delete"
// 删除
func delete(apiKey string) (*http.Response, error) {
payload := map[string]interface{}{
"knowledgeBaseId": "替换knowledgeBaseId",
"name": "guanyu.txt",
}
payloadBytes, err := json.Marshal(payload)
if err != nil {
return nil, err
}
req, err := http.NewRequest("POST", URL, bytes.NewBuffer(payloadBytes))
if err != nil {
return nil, err
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-fag-servicename", "aca-kb-detail-delete")
req.Header.Set("x-fag-appcode", "aca")
req.Header.Set("Authorization", "Bearer "+apiKey)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return nil, err
}
// 逐行打印原始响应内容
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
if resp.StatusCode != http.StatusOK {
return nil, fmt.Errorf("请求出错,状态码:%d", resp.StatusCode)
}
return resp, nil
}
func main() {
apiKey := "YOUR_API_KEY"
// 删除
_, err := delete(apiKey)
if err != nil {
fmt.Printf("请求出错: %v\n", err)
}
}
返回示例
{
"requestId": "3d81366f-0d6b-4ca5-9b85-f51f347c050f",
"code": 200,
"data": true,
"success": true
}