Webアプリ

【FastAPI】開始時と終了時に処理を管理するlifespanについて【備忘録】

お疲れ様です。 FastAPIでlifespanという機能を使う機会があったのでメモ。 lifespanの公式ドキュメントはこちら。 fastapi.tiangolo.com 機能の内容をざっくりというとAPIの起動時と終了時の処理を管理するというものです。 コードは以下のようになり、yiel…

【FastAPI】APIから別のAPIをリダイレクトで呼び出し(RedirectResponse)【備忘録】

お疲れ様です。 今回はAPIから別のAPIをリダイレクトで直接呼び出すような実装をしたので、その復習も兼ねてメモを書いておきます。 以前requestsモジュールを使ってAPIの処理の中で別のAPIを呼び出してその結果を処理の中で使うということもやったのですが…

【Streamlit】クエリパラメータを扱うst.query_params

お疲れ様です。 Streamlitでクエリパラメータを扱うことができるということを知ったので試してみました。 これを使って、これまでに作成したガントチャートアプリに閲覧専用のモードを実装するところまでやってみます。 クエリパラメータについて クエリパラ…

【FastAPI】API間で共通の変数を扱うapp.state【備忘録】

お疲れ様です。 FastAPIで作成したAPI間で共通で使える変数を定義する方法のメモです。 最近の実装で必要になり調べたところFastAPIの機能として元からあることを知りました。 fastapi.tiangolo.com FastAPIでAPIを作成する際app = FastAPI()と最初に定義す…

【チャットボット】話題のMCPサーバをLangChainで使う

お疲れ様です。 最近話題のMCPサーバ、LangChainで使えるということをこれまた最近知りました。 会社でやっている技術系の勉強会でも最近触れたこともあり興味があったので、今回はこちらを実装してみました。 メモ勉強会でmcpに触れたのでチャットボット組…

【ガントチャートアプリ】タスクの追加・更新・削除の機能実装【Streamlit+Plotly】

お疲れ様です。 今回はガントチャートアプリの追加機能実装についてです。 前回の記事はこちら↓ fallpoke-tech.hatenadiary.jp 実装したのはタスク内容の追加・更新・削除の機能です。 csvファイルを読み込んだDataFrameで管理していますが、それを操作して…

Streamlit+Plotlyでガントチャート付きのタスク管理アプリ

お疲れ様です。 Streamlitを使ってガントチャート付きのタスク管理アプリを作ったので紹介。 図の表示にはPlotlyを使用して動的なガントチャートにしています。(Plotlyの勉強も兼ねています。) 職場のタスク管理用のツールがExcelシートのままなのでゆくゆ…

Windowsのローカル環境にNext.jsの開発環境を構築するメモ【備忘録】

お疲れ様です。 業務でNext.jsを使うことになり環境構築から対応が必要になったので試しに個人PCに環境構築したメモです。(自分用) もともとNext.jsを使った開発は経験があるのですが、Dockerでdevcontainerを作成して開発をしていました。 今回作成する環…

「pfnet/plamo-embedding-1b」をChromaDBのEmbeddingで使ってみた

お疲れ様です。 今日の昼頃Preferred Networks(PFN)からPLaMoをベースにしたテキスト埋め込みモデル(Embeddingモデル)が公開されていました! tech.preferred.jp この公開された「plamo-embedding-1b」ですが、他の日本語テキスト埋め込みモデルと比較し…

Streamlitで実行中のプロセスを終了できない問題【備忘録】

お疲れ様です。 WindowsでStreamlitのWebアプリを開発する際、プロセスを終了できないことがあったので調べてみた備忘録です。大した問題ではないですが気になったので…。 ※この状態でCtrl+Cを押しても終了できないという状態↓ 発生する条件 「実行したまま…

Streamlitでログイン画面とユーザ登録画面を作る

お疲れ様です。 PythonのWebアプリフレームワークであるStreamlitを使ってログイン画面とユーザ登録画面を作ってみたのでその紹介。 以前作成していたチャットボットのアプリに実装していたものをデモ用に機能だけを取り出した感じです。↓ github.com 今回作…

自作APIとの通信をするPythonコードのメモ(requestsモジュール)

お疲れ様です。 今回はFastAPIで作成したAPIにPythonコードからリクエストをかけてデータ取得するコードをざっくりとまとめました。 コード解説 コードは下記に残してありますので詳細を確認したい場合はご確認を。実際にGitHubに挙げているコードを見てもら…

アップロードされたファイルのデータをFastAPIで処理するコードのメモ

お疲れ様です。 以前FastAPIでファイルダウンロードをするAPIを作成しました。 fallpoke-tech.hatenadiary.jp 逆にフロントエンドからアップロードしたものをFastAPIでデータとして受け取るというのも使いどころが多そうに感じたので、今回はそのAPIを作成し…

FastAPIでファイルダウンロードのAPIを作成するコードのメモ

お疲れ様です。 業務内でFastAPIを使ってcsvファイルやexcelファイルをダウンロードするAPIを作成したので、忘れないうちにメモ。 最近はWeb系のコード作成も増えていて使いどころも多くなってくるのかなと思っています。 作成コード(GitHub) 実装 FileRes…

GeminiAPI + LangChainでRAGを実装する

お疲れ様です。 最近の会社の勉強会でチャットボットのWebアプリを作成しています。(何故か教える側で…。) やっている中で返答を返してくれる生成AIでRAG(検索拡張生成)を実装してみたいと思い、実際に作成してみたのでそれをまとめておきます。 やった…