まるっとワーク

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

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

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

WEBアプリをクラウドでデプロイ(Cloud Run + Streamlit or Flask)

WEBアプリを色々な方に使って貰うようにするには、クラウド等にアプリをデプロイする必要があります。 過去 AWSのサービスを使って、アプリのデプロイを試みてみましたが、Google CloudのCloud Runというサービスが、非常に良いなぁと思ったので、こちらを使…

ChatGPT My GPTsを作って気になったこと

LLM

個人のニーズに合わせてカスタマイズ可能なChatGPTであるGPTs(ジーピーティーズ)、かなり簡単に作成できるのですが、制御は結構難しい・・ 色々と作成して気になったこと、気を付けるべきポイントについて、この記事でまとめます。 目次 GPTsの作り方/共有…

できるだけ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を使用した方法をまとめていきます。 この方法は…

Amazon API Gatewayを理解する

Amazon API Gatewayは、AWS Lambdaと組み合わせて使用することが一般的で、サーバーレスアーキテクチャを構築するための基盤として利用されています。WEBアプリを色々と作ろうとしている段階で、このAmazon API Gatewayを避けて通ることはないと思うので、こ…

オリジン間リソース共有 (CORS)設定について

WEBアプリ(以下)を作成した時に、ブラウザのCORSというポリシーによるエラーが発生し、エラー解除に苦戦をしたので、COR2の関連知識についてまとめていきます。 dango-study.hatenablog.jp 目次 CORSのエラーについて Origin(オリジン)とは 同一オリジンポリ…

できるだけ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…

フィルタの設計_メモ

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

畳み込み型 ニューラルネットワーク

続いて、畳み込み型のディープラーニングのアルゴリズムをまとめていきます。 このアルゴリズムは画像処理において広く使われており、計算負荷を軽減する仕組みが多く導入されています。 目次 Convolutional Neural Network(CNN)の概要 畳み込み処理 padding…

回帰結合型 ニューラルネットワーク

続いて、回帰結合型のディープラーニングのアルゴリズムをまとめていきます。 目次 Recurrent, Recursive Neural Network(RNN)の概要 RNNのアルゴリズム RNNの学習について RNNの課題 スキップ接続 RNNの応用 Bi-directional RNN Long-Short Term Memory(LST…

ディープラーニング設計について

前回の記事までで、ディープラーニングのアルゴリズムや構造について記載しました。 続いては、設計時に必要な考え方についてまとめます。目次 学習の円滑化1(パラメータ(重み)の初期値について) Xavierの初期値 Heの初期化 学習の円滑化2(BatchNormalizatio…

誤差逆伝播法

前回はニューラルネットワークの構造について説明をしました。 続いては、モデル構築に必要な学習に関する技術を説明します。目次 ニューラルネットワークの学習 勾配降下法 誤差逆伝播法 勾配消失 確率的勾配降下法(Stochastic Gradient Descent :SGD) ミニ…

ニューラルネットワークについて②

前回の続きで、書ききれなかった部分について説明していきます。 目次 損失関数とは ディープラーニングでの損失関数の特徴 目指すべき損失について 損失関数関数の種類(Loss Function) ニューラルネットワークの普遍性定理について まとめ 損失関数とは 前…

ニューラルネットワークについて①

前回はニューロン及び人工ニューロンの説明をしました。 今回は、ニューラルネットワークについて説明していきたいと思います。目次 ニューラルネットワークとは ニューラルネットワークの例 活性化関数の導入 活性化関数を含めた人工ニューロンの動作 活性…

人工ニューロンについて

ディープラーニングについて学習を始めたので、関連するアルゴリズムであるパーセプトロンについて説明していきたいと思います。目次 ニューロンと人工ニューロンとは 人工ニューロンの仕組み 人工ニューロンの構造 人工ニューロンの動作 単純な論理回路の設…

ディープラーニングについて(言葉の定義など、はじめの一歩)

ディープラーニングについて学習を始めたので、理解した内容についてまとめて説明していきたいと思います。目次 Deep Learningとは? なぜDeep Learningが使われるのか 層を深くする意味とは Deep Learningの種類 まとめ Deep Learningとは? 【解析手法とい…

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が使えるように環境を整える

最近PCを買い替えたので、新しいPCにてPythonが使えるように対応した内容を残しておきます。 目次 開発環境について Pythonインストール Pythonがインストールされたフォルダパスを確認 環境変数を編集 コマンドプロンプトでpythonを実行するとMicrosoft Sto…

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を使ったディジタルフィルタの設計・評価方法をまとめました。 と言っても数学的な話やディジタルフィルタについての概要は飛ばし、フィルタ設計・評価に使えるサンプルプログラムを載せただけですが、何かに…