Knowledge Base は Profound アプリで作成する必要があります。API から Knowledge Base を作成することはできません。
your_api_key、your_knowledge_base_id、your_organization_id は実際の値に置き換えてください。ドキュメント同期の手順
外部システムのドキュメントやフォルダをミラーリングするには、次の流れで操作します。- List Knowledge Bases を使用して Knowledge Base の ID を確認します。
- 必要に応じて Add Folder を使用して、ソースのフォルダをミラーリングします。
- Add Document を使用して、各ソースドキュメントをアップロードします。
- 冪等な再同期には Update Document を使用します。
- ソースシステムからコンテンツが削除された場合は、Delete Document または Delete Folder を使用します。
1. Knowledge Base の一覧を取得する
まず、同期先の Knowledge Base の ID を取得します。ここで返されるid は、その他すべての Knowledge Base リクエストで knowledge_base_id パスパラメータとして必要になります。
organization_id を指定します。
2. フォルダを追加する
フォルダは作成時点では空です。ドキュメントの格納先フォルダはあらかじめ存在している必要があるため、ドキュメントをアップロードする前にソースの階層を作成し、Engineering/API のようなフォルダパスを使用して Guru の階層をミラーリングしてください。ネストされたフォルダより先に親フォルダを作成します。既に存在するフォルダを作成しようとすると 409 Conflict が返されます。
3. ドキュメントを追加する
ドキュメントを JSON で追加するには、テキストをtext フィールドで送信します。folder は省略可能で、指定した場合はドキュメントを格納するフォルダパスになります。
409 Conflict を返します。パスが既に存在する場合は、代わりに更新を使用してください。
4. ドキュメントを更新する
更新は、対象パスにある既存のドキュメントを上書きします。JSON リクエストには、追加時と同じname、text、および省略可能な folder フィールドを指定します。
name と省略可能な folder フィールドを使用し、text の代わりに file を指定します。
404 Not Found が返されます。
5. ドキュメントを削除する
ドキュメントを削除するには、JSON リクエストボディでその名前を送信します。ネストされたドキュメントを削除する場合は、名前にfolder を含めてください。
6. フォルダを削除する
空のフォルダを削除するには、recursive を false (デフォルト) に設定します。
409 Conflict を返し、何も削除されません。フォルダとその中身をすべて削除するには、recursive を true に設定します。
7. Knowledge Base を検索する
必須のquery と、1 から 100 までの top_k を指定して検索します。スニペットではなくページ全体のコンテンツを取得するには、return_full_page を true に設定します。
filters.tags は、指定したタグのいずれかを持つドキュメントに一致します。filters.folders は検索対象をフォルダパスに限定するもので、現在は 1 つのフォルダのみ指定できます。
各結果には、id、関連度を示す score、metadata、および一致した content が含まれます。