LIFULL社内で開発されたAI基盤プロジェクト「keelai」は、社内リソースのURLを変換してAPIを通じて開く機能を提供しています。
その中でもGoogle Workspaceが広く使われているツールの一つなのですが、keelaiでは特に重要なGoogle Docs, Google Sheets, Google Slidesの読み込みをサポートしています。その際にAPIで実装してます。
従来Google Docsは text/plain
のmime typeを利用して読み取っていたのですが、実は text/markdown
で構造化した形で読み込めるようです。以下のドキュメントにも書いています。
というわけで、plain textでの読み込みではなくmarkdownの読み込みに切り替えてみました。特に表形式が崩れないのが嬉しいかもしれません。
経緯
社内でMarkItDownの話が出たときに、「実はGoogle WorkspaceのAPIのいくつかにはMarkdown出力のオプションがありそうだ」という話が出てきて調べたところ、Docsは対応してました。
ちなみに、Google Docs系にMarkdownで出力ボタンがいつのまにかついてるんだけど、APIも生えてたりしないかな。
調べてみると、おそらく去年の7月ごろに対応していたようです。
おそらく特に生成AIとの相性を狙ったものではなく、単にユーザーがMarkdownで入力できると便利だからって理由みたいですね。
更に欲を言うと、Google SheetsやSlidesも同じようにMarkItDownを使って変換できるようなきれいなmarkdownで出力できればと思ったのですが対応していませんでした。そのため一旦別のファイル形式で出力してUnstructuredで文字列に変換しています。
まだ欲を言うとPythonのgoogleapiclientはasync対応してほしいのもあります🙏