皆さん、こんにちは。
ホストされている Discourse/CDCK を使用してサイトをセットアップしています。現在、Slack エクスポートから会話を取り込み、テキストの前処理を少し行い、Hugging Face Transformer を使用してタイトルを生成し、API を介して Discourse に追加しています。
https://tabular.discourse.group/t/why-would-n-t-we-commit-a-snapshot-that-has-made-no-changes/42
別のフォーラム(すみません、見つけられません)で、API をバルク操作に使用するのはベストプラクティスではないと見かけました。また、設定を変更しようとしても、レート制限やその他の問題に繰り返し遭遇し、最終的には無駄にレート制限に達してしまいます。Slack メッセージから生成できるあらゆる種類のファイルをバルクインポートする方法について、何か提案はありますか?
処理済みの(Discourse フレンドリーな)Slack メッセージはデータベースにあり、それらを取得して Discourse API にプッシュするスクリプトがあります。これを、Discourse が取り込んでトピックをバルク生成できるファイルを作成するように簡単に変更できます。
ありがとうございます。
「いいね!」 1
pfaffman
(Jay Pfaffman)
2
通常、管理しているサーバーまたは開発インスタンスでインポートスクリプトを使用します。サイトを読み取り専用モードにし、ホストされているインスタンスからバックアップをダウンロードし、作業を行い、バックアップを作成し、ホストされているインスタンスにアップロードして、バックアップの復元を依頼する必要があります。サイトが公開されていて、1日程度の読み取り専用時間で問題ない場合は、この方法で行ってください。
読み取り専用時間が非常に問題で、投稿が数千件しかない場合は、呼び出し間に遅延を設け、拒否された場合に再試行するようにスクリプトを記述する必要があります。
投稿が数万件ある場合は、1日程度の読み取り専用時間が「非常に問題ではない」と自分自身と他の人に納得させる必要があります。
例については、ソースコードの scripts/import_scripts を参照してください。
「いいね!」 1
一度に数百件しか取得しないので、ローカルインスタンスをダウンさせないように遅延を設定するだけだと思います。Slackでは検索できなくなった価値のある会話を大量にDiscourseサイトにシードするために、特定のユーザーとの長い会話をゆっくりと移行しています。
CDCKは、これらのバルクインポートスクリプトを呼び出す方法や、API経由でバルクインポート機能を利用できるようにする可能性はありますか?
pfaffman
(Jay Pfaffman)
4
非常にニッチなリクエストであり、潜在的に非常に危険であるため、おそらくサポートされないでしょう。偶然ですが、カテゴリ、ユーザー、トピック、投稿のスプレッドシートの URL を受け入れてインポートするプラグインの開発を開始する予定ですが、これはセルフホストおよびエンタープライズ顧客のみが利用できると予想されます。
「いいね!」 1
なるほど、例外処理を追加して、外部IDが既に存在する場合はスキップします。このワークフローは、一度に数百件しかインポートせず、その後手動で修正するため、問題なく動作します。悪い状態に陥る可能性のあることをしていないか確認したかっただけです。
とはいえ、そのプラグインは素晴らしい代替案のようです!1か月間有効にするための料金を支払い、その後チームプランに戻るという形になることを願っています。
pfaffman
(Jay Pfaffman)
6
APIを使用している場合、Railsが提供する多くの保護機能により、非常にまずい状態になることを防ぐことができます。
「いいね!」 3
ジェイさん、ありがとうございます!
500件アップロードしました。時間がかかりましたが、投稿とトピックの待ち時間を1秒に短縮し、各作成呼び出しの後に1秒スリープを追加しただけで解決しました。約500件のメッセージをアップロードするのに約4時間かかりました。
これは間違いなく良い方法です。これでしばらくの間、十分に検討し、モデレーションすることができます。
ちなみに、これはすべて現在プライベートなDiscourseで行われているため、公開する前に見栄えを良くします。
改めて、ご協力ありがとうございました!新しいプラグインを楽しみにしています!
「いいね!」 1
system
(system)
クローズされました:
9
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.