Data Transmission Service (DTS) の RAGFlow ナレッジベースに、Lark からデータを転送できます。サポートされるデータの型には、Lark Docs、Sheets、Bitable、Wiki が含まれます。
前提条件
DTS で RAGFlow ナレッジベースを作成済み であり、IP ホワイトリストを構成済み である必要があります。
背景情報
サポートされるデータの型
DTS RAGFlow は、Lark Docs、Sheets、Bitable、Wiki からのデータをサポートします。
アクセス方法
Lark のデータには、アプリケーションアクセストークン (tenant_access_token) またはユーザーアクセストークン (user_access_token) のいずれかを使用してアクセスできます。
|
メソッド |
権限の種類 |
メリット |
デメリット |
|
|
アプリケーション ID |
|
認可がより複雑です。ドライブと Wiki に対して別々にアクセス権限を構成する必要があります。 |
|
|
ユーザー ID |
認可がシンプルです。ドライブと Wiki に対して別々の権限を設定することなく、すべてのフォルダにアクセスできます。 |
|
事前準備
-
Lark Open Platform にログインし、Developer Console に移動します。
-
アプリを作成します。
Create Enterprise-developed Application をクリックし、名前 や Application Description などの関連情報を構成してから、作成 をクリックします。
-
アプリカードをクリックして、その構成ページを開きます。
デフォルトでは、 ページが表示されます。
-
Credentials and Basic Information ページの Application Credentials セクションで、App ID および App Secret を記録します。
操作手順
ステップ 1:アクセス権限の構成
アプリケーションアクセストークン
-
Lark Open Platform にログインし、Developer Console に移動します。
-
事前準備 セクションで作成したアプリをクリックします。
-
ボットを追加してアプリをリリースします。
-
左側のナビゲーションバーで、 を選択します。
-
Add by Capability タブで、bot のカードにある 追加 をクリックします。
-
ページ上部の Create Version をクリックします。
説明または、左側のナビゲーションバーで を選択し、Create Version をクリックします。
-
バージョンの詳細 ページで、Application Version および Update Description を入力します。
説明default mobile client capabilities および default desktop client capabilities には、デフォルトの bot を使用できます。
-
保存 をクリックします。
-
表示されたダイアログボックスで、Confirm Publish をクリックします。
-
-
API 権限を構成します。
-
左側のナビゲーションバーで、 を選択します。
-
Batch Import/Export Permissions をクリックします。
-
[輸入] タブの [JSON] テキストボックスで、アプリケーションの以下のユーザー ID の権限を設定します。
{ "scopes": { "tenant": [ "docs:document:export", "drive:drive", "wiki:wiki" ], "user": [] } } -
[新しい権限を確認して次へ] をクリックしてください。
-
今すぐ有効化 をクリックします。
-
-
Lark クライアントにログインし、新しいグループを作成して、事前準備セクションで作成したアプリケーション を グループボット として追加します。
-
ドライブおよび Wiki のアクセス権限を構成します。
ドライブの権限
-
ドライブで対象のフォルダに移動します。
-
ページ右側の 共有 をクリックします。
-
Invite collaborators で、ステップ 5 で作成したグループを追加します。
この目的には、デフォルトの Read 権限で十分です。
-
送信 をクリックします。
Wiki の権限
-
All Wikis ページに移動します。
-
対象のナレッジベースにポインターを合わせて、Knowledge Base Settings をクリックします。
-
Member Settings タブをクリックし、Roles and Permissions エリアの Administrator タブで、Add Administrator をクリックします。
-
表示されたダイアログボックスで、ステップ 5 で作成したグループを追加し、次へ をクリックします。
-
送信 をクリックします。
-
ユーザーアクセストークン
-
Lark Open Platform にログインし、Developer Console に移動します。
-
事前準備 セクションで作成したアプリをクリックします。
-
API 権限を構成します。
-
左側のナビゲーションバーで、 を選択します。
-
Batch Import/Export Permissions をクリックします。
-
次の JSON を貼り付けて、作成したアプリ に必要なユーザー ID 権限を付与します。
{ "scopes": { "tenant": [], "user": [ "offline_access", "docs:document:export", "drive:drive", "wiki:wiki" ] } } -
Next, Confirm New Permissions をクリックします。
-
今すぐ有効化 をクリックします。
-
-
リダイレクト URL を構成します。
-
左側のナビゲーションバーで、 を選択します。
-
Redirect URL テキストボックスに、
https://www.aliyun.comを入力します。 -
テキストボックスの右側にある 追加 をクリックします。
-
Refresh user_access_token スイッチをオンにします。
説明このスイッチが表示されない場合は、この機能はデフォルトで有効になっています。
-
-
認証コードを取得します。
-
Lark 認証ページの URL を構築します。
説明URL 内の
YOUR_FEISHU_CLIENT_IDは、事前準備 で記録した App ID に置き換える必要があります。https://accounts.feishu.cn/open-apis/authen/v1/authorize?client_id=YOUR_FEISHU_CLIENT_ID&redirect_uri=https://www.aliyun.com&scope=drive:drive offline_access docs:document:export wiki:wiki -
ブラウザで認証ページを開きます。
-
権限付与 をクリックします。
-
リダイレクト URL から認証コード (
code) を取得します。説明認証コードには、code=、&、および & 記号以降の情報は含まれません。
-
ステップ 2:Lark フォルダトークンおよび Wiki ID の取得
-
Lark クライアントにログインします。
-
Lark Docs フォルダのフォルダトークンを取得します。
-
対象のフォルダに移動します。
-
ブラウザのアドレスバーから、フォルダの URL をコピーします。
-
URL からトークン(
folder/以降の情報)を取得します。説明トークンには、? およびそれ以降の情報は含まれません。
-
-
Wiki の ID を取得します。
-
All Wikis ページに移動します。
-
対象のナレッジベースにポインターを合わせて、Knowledge Base Settings をクリックします。
-
ブラウザのアドレスバーから、対象 Wiki の URL をコピーします。
-
URL からナレッジベース ID(
settings/以降の文字列)を取得します。説明ナレッジベース ID は数値のみで構成されており、# 記号およびそれ以降の情報は含まれません。
-
ステップ 3:KBSync プログラムの実行
-
KBSync ファイルを取得します。
説明DingTalk グループ(ID:79690034672)に参加し、テクニカルサポートに連絡して KBSync ファイルを取得できます。
-
KBSync プログラムの実行環境を準備します。
説明KBSync プログラムには、Lark Open Platform および RAGFlow にアクセス可能な Linux 環境が必要です。
-
config ファイルを準備します。
-
config という名前の Linux システムファイルを作成します。
-
次のコードを config ファイルにコピーします。
whiteList= blackList= sinkType=RagFlow sourceType=FeiShu ragflowUrl=http://XX.XX.XX.XX ragflowApiKey=Bearer RAGFlow-BmND******MDI0Mm ragflowDatasetId=928d061******2ac120006 feishuAppId=cli_a8a******d00d feishuAppSecret=pMp73Si******UDrWXBSOa feishuUserAccessCode=bGzpx6******B9KFCdzdCDHG feishuCloudSpaceDirToken=ESJm*******CRdn002cii3bnAc feishuWikiSpaceId=7504968******8674 -
config ファイル内のパラメーターを置き換えます。
重要-
構成不要なパラメーターは、値を空のままにしてください。
-
feishuCloudSpaceDirTokenパラメーターとfeishuWikiSpaceIdパラメーターの両方に値を指定した場合、feishuCloudSpaceDirTokenパラメーターのみが有効となるため、Lark Docs およびその親フォルダのみが転送されます。 -
blackListパラメーターは、whiteListパラメーターよりも優先度が高くなります。
パラメーター
必須
説明
取得方法
whiteListいいえ
転送対象のファイルパス(ホワイトリスト)および除外対象のファイルパス(ブラックリスト)。これらのパスには、Lark Docs のフォルダパスおよびナレッジベース内のドキュメントパスが含まれます。
説明正規表現がサポートされています。複数のパスをスペースで区切ってください。
Lark クライアントからパスを取得します。
blackListいいえ
sinkTypeはい
送信先のタイプ。
このパラメーターを
RagFlowに設定します。sourceTypeはい
ソースのタイプ。
このパラメーターを
Feishuに設定します。ragflowUrlはい
RAGFlow のアドレス(API サーバー)。
ragflowApiKeyはい
RAGFlow ナレッジベースの API キー。
ragflowDatasetIdはい
RAGFlow ナレッジベースの ID。
feishuAppIdはい
Lark のアプリケーション ID(App ID)。
feishuAppSecretはい
Lark のアプリケーションシークレット(App Secret)。
feishuUserAccessCodeいいえ
説明このパラメーターは、user_access_token メソッドを使用して Lark データにアクセスする場合にのみ必要です。
Lark の認証コード。
feishuCloudSpaceDirTokenいいえ
説明これらのパラメーターのいずれか一方にのみ値を渡してください。
Lark Docs を含むフォルダのトークン。
feishuWikiSpaceIdLark ナレッジベースの ID。
-
-
-
Linux 環境内で、KBSync ファイルと config 設定ファイルを同じディレクトリに配置します。
-
Linux 環境で、
./KBSync --config configコマンドを実行して、KBSync プログラムを起動します。次の出力が表示された場合、KBSync が正常に実行されています。
./KBSync --config config INFO config whiteList=, blackList= INFO config ragflowUrl=http://XX.XX.XX.XX/, ragflowApiKey=Bearer RAGFlow-BmND******MDI0Mm INFO config ragflowDatasetId=928d061******2ac120006 INFO config feishuAppId=cli_a8a******d00d, feishuAppSecret=pMp73Si******UDrWXBSOa INFO Response from https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal: 200, headers: {'Server': 'Tengine', 'Content-Type': 'application/json', 'Content-Length': '102', 'Connection': 'keep-alive', 'Date': 'Tue, 08 Jul 2025 02:49:01 GMT', 'Request-Id': '25bf****-d386-4a86-****-f440f070****', 'Tt_st****': '1', 'X-Lgw-Dst-Svc': 'jbpiSR****OiA0J3d****-Oz0xugYAH9otZIFg4x****', 'X-Request-Id': '25bf****-d386-4a86-b9f4-f440f070****', 'X-Tt-Logid': '202507081049012933B870245850D****', 'server-timing': 'inner; dur=73, cdn-cache;desc=MISS,edge;dur=0,origin;dur=129', 'x-tt-trace-host': '****', 'x-tt-trace-tag': '****', 'x-tt-trace-id': '00-****', 'X-Timestamp': '175194****.952', 'Via': 'cache8.cn6540[129,0]', 'Timing-Allow-Origin': '*', 'EagleId': '6ae3651c1751942941849****'}, body: b'{"code":0,"expire":4340,"msg":"ok","tenant_access_token":"t-g10478a*******CSC3YVY"}' INFO set feishu tenant access token expires in: 4340
付録
RAGFlow API サーバーアドレスの取得
-
RAGFlow ページにログインします。
-
左側のナビゲーションウィンドウで、API をクリックします。
-
API サーバー を取得します。
RAGFlow API キーの取得
-
RAGFlow ページにログインします。
-
左側のナビゲーションウィンドウで、API をクリックします。
-
RAGFlow API の右側にある API KEY をクリックします。
-
API KEY ダイアログボックスで、Create New Key をクリックします。
-
をクリックしてキーをコピーし、安全な場所に保存します。
RAGFlow ナレッジベース ID の取得
-
RAGFlow ページにログインします。
-
ナレッジベース ページで、対象のナレッジベースをクリックします。
-
ブラウザのアドレスバーの URL から、ナレッジベース ID をコピーします。
説明ナレッジベース ID は、
id=以降の文字列です。