2024/09/27 –, 20F Track1
FastAPIはPythonでREST APIを実装するときに使用するライブラリです。リクエスト・レスポンスのバリデーションや認証など様々な機能を備えており、便利なライブラリなので広く使われています。
そのFastAPIですが、パスオペレーションを定義するときに、async をつけることができます。昨今ChatGPTライクなストリームのようにChat表示できるアプリで使用されることもありますが、このasyncにはどのような効果があるのか、どのように使うのかは実は曖昧な人が多いのではないでしょうか。
いくつかのコードをサンプルにasyncを使う場合、使わない場合に分けて負荷試験などを見ながら違いについて発表します。
このセッションでは、async defはどのようなものかを簡単に説明し、使ったらよい場合と、使ってはいけない場合をそれぞれ説明します。
それぞれ、使った場合と使ってない場合にどのようなことになるか負荷試験結果などを見ながらasync defのベストプラクティスを学んでいきます
- Pythonにおける並行処理・並列処理・非同期処理
- マルチスレッドと非同期処理
2.1. GILとは何か
2.2 async/awaitの実装 - FastAPIにおけるasync defとdefの違い
3.1 async def+同期処理を書いてはいけない - async def+同期処理でどうなるのか実験してみる
FastAPIは広く使用されていますが、世の中にある様々なサンプルでasync defの機能は何となく使われていることが多いように思えます。そのため、この発表で開発者が自分でasyncを正しく使用できることは重要だと考えたからです。
オーディエンスが持って帰れる具体的な知識やノウハウ –FastAPIのasync defとはどのような機能か。
どのような場合に使用するべきか。
FastAPIの基礎知識
オーディエンスの経験レベル –Beginner
発表の言語 –日本語
発表資料の言語 –日本語
Acroquest Technology株式会社所属。
NLP・検索を専門に、今はRAGソリューションの開発を担当。