設定の移行を取得
ナレッジベース設定を更新 が 202 を返したときに開始した移行の進捗を返します。run_state が succeeded、failed、canceled のいずれかになるまでポーリングしてください。
succeeded になったら、ナレッジベース設定を取得 で新しい設定とその revision を読み取ってください。
更新とポーリングの流れについては、モデルと検索設定の変更 を参照してください。
curl --request GET \
--url https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/settings/migrations/{migration_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/settings/migrations/{migration_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/settings/migrations/{migration_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/settings/migrations/{migration_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/settings/migrations/{migration_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/settings/migrations/{migration_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/settings/migrations/{migration_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyAuthorizations
すべてのリクエストは API キーで認証します:Authorization: Bearer {API_KEY}。アプリのエンドポイントにはアプリの API キーを、ナレッジのエンドポイントにはナレッジベースの API キーを使用します(Dify API クイックスタート)。
キーはサーバーサイドで保管し、クライアントコードには決して埋め込まないでください。キーが欠落または無効なリクエストは HTTP 401(unauthorized)で失敗します。
Path Parameters
ナレッジベース ID です。ナレッジベースの API アクセス ダイアログに表示されるサービス API エンドポイントの最後のセグメント(…/knowledge-fs/spaces/<knowledge base ID>)です。アドレスバーでは /datasets/new/ の後のセグメントです。
移行 ID です。ナレッジベース設定を更新 の 202 レスポンスに含まれる migration.id です。他の操作では返されません。
Response
移行です。
内部用です。移行の追跡には不要です。
変更の対象で、embedding または retrieval です。
到達した最後のステップで、queued、candidate-built、evaluated、activated のいずれかです。
移行が succeeded、failed、canceled のいずれかで終了した日時(ISO 8601)です。実行中は null です。
移行の開始日時(ISO 8601)です。
直近の失敗のコードです(例:PROFILE_MIGRATION_ATTEMPTS_EXHAUSTED、VECTOR_SPACE_QUOTA_EXCEEDED)。失敗がない場合は null です。
再構築されたインデックスについて記録された評価結果の、フラットなマップです。記録されていない場合は null です。
ナレッジベースの内部 ID です。パスのナレッジベース ID とは異なります。
移行で再構築される範囲です:
full-vector-space:埋め込みモデルの変更により、すべてのドキュメントを埋め込み直します。full-page-index-summary-outline:推論モデルの変更により、ページインデックス、要約、アウトラインを再構築します。clone-publication:そのほかの検索設定の変更では、現在のインデックスを再利用します。
移行の進行状況です:
queued、running:処理中です。succeeded:新しい設定が適用されています。failed:停止しました。理由はerror_codeに示されます。変更を再度試す前に、ナレッジベース設定を取得 でモデルを確認してください。canceled:完了前に、同じ種類の新しい変更によってこの移行が置き換えられました。新しい移行を追跡してください。
移行が最後に変更された日時(ISO 8601)です。
Was this page helpful?
curl --request GET \
--url https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/settings/migrations/{migration_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/settings/migrations/{migration_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/settings/migrations/{migration_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/settings/migrations/{migration_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/settings/migrations/{migration_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/settings/migrations/{migration_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{api_base_url}/knowledge-fs/spaces/{knowledge_base_id}/settings/migrations/{migration_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body