まるっとワーク

データ分析・電子工作など気になることを残していきます

Python

langChainを用いた簡単チャットアプリの作成

LangChainは、Large Language Models(LLM)を使ったアプリケーション開発を容易にするためのフレームワークです。LLMと会話をする際に会話履歴の保管しておく機能や、Agentと呼ばれる機能等、自身で色々と書かないと実現できなかったことが簡単にできる所が…

できるだけPythonだけでWEBアプリを作る④(Streamlit, Gradio, Dash, Reflex)

「できるだけPythonだけでWEBアプリを作る第4弾」として複数のPython ライブラリの比較を行っていきたいと思います。 各ライブラリの使い方はそれぞれまとめている方がいらっしゃるので、比較結果についてのみをまとめます。 第1弾, 第2弾, 第3弾記事は以下…

できるだけPythonだけでWEBアプリを作る③(Python Streamlit)

できるだけPythonだけで・・・と進めてきましたが、画期的なフレームワークの存在最近まで知らず・・・ 「できるだけPythonだけでWEBアプリを作る第3弾」としてPython ライブラリのStreamlitとStreamlit Cloudを使用した方法をまとめていきます。 この方法は…

できるだけPythonだけでWEBアプリを作る②(Python flask/zappa + AWS)

「できるだけPythonだけでWEBアプリを作る第2弾」は、第1弾から少し構成を変えて、拡張性を考慮したやり方で作っていきます。 今回はZappaというフレームワークを使っており、様々なAWSの設定が簡単になる反面、裏で何をやっているのかが完全に理解できなか…

できるだけPythonだけでWEBアプリを作る①(Python + AWS + HTML/Java)

最近は生成AIを応用して色々と作ってみたりしていたのですが、著作権問題など色々な問題が話題になっているので、少し様子見で他のことを一度やってみようと思います。 今回は「WEBアプリを作ろう」ということで、作るまでの過程をまとめます。 ちなみに、私…

LINEの質問(Text)に対して音声で返してもらう(ChatGPT + AWS Polly + LINE)

AWSサービス(Lambda + API Gateway + AWS Polly)とLINE、ChatGPTとを連携させて、LINEで質問した内容の返信を音声で受け取るシステムを作った時のメモを残します。 最終目標として、RVC(Retrieval-based-Voice-Conversion)やbark(以下)といった技術を使用し…

Python(BeautifulSoup4):ネットのページから必要情報を取得する(野球の試合状況を取得する)

特定の(最新)情報を入手して、何かをしたい場合、情報入手先にアクセスして、情報を取得する作業が必要となります。その方法をこのページではまとめます。 今回はその例として野球試合情報を入手するコードを紹介します。 目次 使用環境 手順 必要モジュール…

ChatGPTを使った自動レシピジェネレーターの紹介(ChatGPT API + AWS + LINE)

ChatGPTを使った自動レシピジェネレーター サービスの作成方法を紹介します。 このサービスは、食材を入力するだけでレシピを考案し、提供するサービスです。システムの構成には、ChatGPT API + AWSサービス(Lambda + API Gateway)とLINEを使用し、連携させ…

AWSを活用してLINEのチャットボットを作る

AWSサービス(Lambda + API Gateway)とLINEを連携させて、チャットボットを作成した時のメモを残します。 最終目標として、LINEで尋ねたワードをChatGPTに投げて、返答結果をLINEに返すといったシステムを作ることを想定しており、 その前段階として、まずはA…

フィルタの設計_メモ

フィルタ設計について、関連用語等を簡単にまとめます。目次 フィルタ設計について 周波数特性(フィルタ種類) 設計仕様(フィルタ仕様) ノイズ除去等、入力データの処理 フィルタ設計について フィルタ設計は、以下項目を検討します。 周波数特性(フィルタ種…

Python: lambda式を使う

Pythonプログラムにおいて、複数回同じ作業を実施したいときは関数を定義して実行しますが、関数に名前を付けずに簡潔に宣言するlambda式を使った書き方をまとめます。 開発環境について $wmic os get caption >Microsoft Windows 10 Pro $wmic os get osarc…

Python: mapやapply、applymapメソッドを使う

Pythonプログラムにおいて、DataFrameの各カラムに対してforループで処理をする際、非常に時間がかかる場合があります。 今回は、処理時間低減にも有効なmapメソッド/applyメソッドの使い方についてまとめます。 開発環境について $wmic os get caption >Mic…

機械学習について(言葉の定義など、はじめの一歩)

機械学習について学習を始めたので、理解した内容についてまとめて説明していきたいと思います。目次 機械学習とは? 機械学習の手法 精度の高いモデル構築に向けて AutoML(Automated Machine Learning)とは? 代表的なAutoML まとめ 機械学習とは? コンピ…

matplotlibとseabornの日本語の文字化けを修正する

Pythonから利用できる可視化ライブラリ、matplotlibやseabornにて可視化を行った際の日本語の文字化けを防ぐ方法をまとめていきます。 目次 開発環境について 問題事例 対応方法 japanize-matplotlibモジュールをインストール 対応結果 まとめ 開発環境につ…

Python:ディジタルフィルタの設計② Butterworth/Chebyshev/Bessel

Pythonから利用できる数学処理ライブラリ、Scipyを使ったディジタルフィルタの設計・評価方法の続きをまとめていきます。 前回同様、数学的な話やディジタルフィルタについての概要は飛ばし、フィルタ設計・評価に使えるサンプルプログラムを載せただけです…

Python:SciPy窓関数の作成

時系列データの周波数解析を実施する際のフーリエ変換で使用する窓関数の処理についてまとめます。 開発環境について $wmic os get caption >Microsoft Windows 10 Pro $wmic os get osarchitecture >64ビット $python -V Python 3.7.6 $pip list -V scipy 1…

Python:ディジタルフィルタの設計① 移動平均フィルタ

Pythonから利用できる数学処理ライブラリ、Scipyを使ったディジタルフィルタの設計・評価方法をまとめました。 と言っても数学的な話やディジタルフィルタについての概要は飛ばし、フィルタ設計・評価に使えるサンプルプログラムを載せただけですが、何かに…

Rasberry PiとSORACOMサービスとで異常検知システムを作成 2/2 (機能の実装編)

続いては、「機能の実装」 についてまとめていきます。 目次 実施したいこと(再掲) 機能の実装に向けて 1. 異常検知の実装 1.1 人物検知について 1.2 動体検知について 1.3 異常検知について 1.4 おまけ機能について 2. 通知機能の実装 2.1 Amazon Echoで音…

Rasberry PiとSORACOMサービスとで異常検知システムを作成 1/2 (システム概要とセットアップ編)

会社での作業員異常通報に関する改善が図れそうだったので、試作をしてみました。 ここでは、Rasberry PiとSORACOMサービスとを組み合わせた作業員の異常状態検知 監視システムについてご紹介します。 目次 背景 作業員異常通報装置の運用 実施したいこと 使…

Python:LINEに通知をする

PythonでLINEにメッセージや画像を送りたい時に、毎回検索しているのでここにまとめておきます。 プログラムの完了通知をLINEに送りたい/センサーの値を監視していて、特定の値になったらその通知をLINEに送りたいなどで使えるかと思います。 開発環境につい…

Python:seabornを使ったグラフ作成まとめ

Pythonから利用できる可視化ライブラリ、Seabornのグラフの細かい設定を まとめました。 Seabornライブラリは、他の可視化ライブラリ Matplotlibと設定の仕方が違う所もあるので、たまに誤ってイライラしてしまいます・・ 完全に自分用な感じもありますが記…

Python:Plotlyを使って描画後に自由に動かせるグラフを作成する

Pythonから利用できる可視化ライブラリ、Plotlyの初歩的な使い方と細かい設定をまとめました。 Plotlyで作成したグラフは、描画後にグラフの軸を動かしたり拡大したり、プロットした点の座標(値)も示してくれるので、何回も描画し直す必要がないところが利点…