Python関連のことを調べてみた

Python関連のことを調べてみた

GPT4 Turbo with Vision で様々な画像データの分析

本記事は日本オラクルが運営する下記Meetupで発表予定の内容になります。発表までに今後、内容は予告なく変更される可能性があることをあらかじめご了承ください。

https://oracle-code-tokyo-dev.connpass.com/event/307174/

本記事は下記記事の補足記事となります。

https://qiita.com/ksonoda/items/28586434904c26ec465b

# GPT4 Turbo with Vision
OpenAIの新しいマルチモーダル大規模言語モデル GPT4-Vを様々な画像データとプロンプトで試してみる。マルチモーダルAIとしては、下図の通り、

– 入力:テキストデータ、画像データ
– 出力:テキストデータ

となるパターンで、使っているモデルはGPT4 Turbo with Vision(gpt-4-vision-preview)。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109260/6272

元記事を表示

PythonでPDFをHTMLに変換する

## はじめに
特定の目的により、PDFをHTML形式に変換する必要が出てくる場合もあります。これは、内容物を直接Webページに埋めめ込むことができ、アクセシビリティを向上させる助けになります。また、PDFをHTMLに変換することで、簡単に編集や内容の更新が行えるようになります。具体的な方法は以下の通りです。
## ツール
* Python 3.12.0
* [Spire.PDF for Python](https://www.e-iceblue.com/Introduce/pdf-for-python.html)

このライブラリは購入する必要がありますが、30 日間の無料試用版も提供されています。
もっと多いサンプルコードについて、[Spire.PDF for Python](https://www.e-iceblue.com/Download/Spire-PDF-Python.html)をダウンロードして参照してください。

## インストール
まず、Spire.PDF for Pythonと plum-dispatch v1.7.4を VS Code にインポートしください。

元記事を表示

2024東大理系数学第3問をsympyで解く

# 2024東大理系数学第3問

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41739/c34be986-5c38-de2e-e9be-3ce983aa2db0.png)

# 連立漸化式を行列表示する

(1)で答える,とりうる点を反時計回りに点$\mathrm{C}_0, \mathrm{C}_1, \ldots, \mathrm{C}_7$とおきます。

そして,$n$秒後に点$\mathrm{P}$ が $C_k$ にいる確率を $p_{n,k}$ とおくと,$n$秒後から$n+1$秒後への推移は次の行列で表されます。

“`math
\begin{pmatrix}
p_{n+1,0}\\
p_{n

元記事を表示

urlparseのparamsとは何者か

# 初めに
https://docs.python.org/ja/3/library/urllib.parse.html

urlparseの結果には以下のようにparamsという値があります
“`
ParseResult(scheme=’scheme’, netloc=’netloc’, path=’/path;parameters’, params=”,
query=’query’, fragment=’fragment’)
“`
ドキュメントの説明を見ると**最後のパス要素に対するパラメータ**とありますがイミフです
さらにサンプルを見ても全て空になっており、どういう場合に入るのかわからなかったため調べました

# 結論
以下のようなURLの場合に入ります
https://hoge/users;id=123
“`Python
from urllib.parse import urlparse

url = ‘https://hoge/users;id=123’
print(urlparse(url))
“`
“`
ParseResult(sc

元記事を表示

[日本語訳] LlamaIndex を使用した RAG パイプラインでの Stripe Docs の使用

:::note
この記事は、[dev.to](https://dev.to/stripe)に公開されている[Anthony Morris氏](https://twitter.com/amorriscode)によって書かれた英語記事の日本語訳です。

![スクリーンショット 2024-02-16 16.56.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/ea0b2080-b8b8-67c2-1d6b-48812e771751.png)
元記事: [Using Stripe Docs in your RAG pipeline with LlamaIndex](https://dev.to/stripe/using-stripe-docs-in-your-rag-pipeline-with-llamaindex-2j23)
:::

最新の、特定分野の、あるいはプライベートなデータを用いて生成型AI(Generative AI)のアプリケーションを強化すると、その能力は飛躍的に向上しま

元記事を表示

venvで仮想環境構築

## はじめに
venv(ブイエンブ)を使って仮想環境を構築する方法の備忘録

## venvは導入が簡単!
pythonの標準機能なのでソフトウェアのインストールが不要!
dockerなどと比較しても軽量なので気軽に仮想環境を構築したい時にはGood

## venvによる仮想環境構築方法
### 環境
・Windows11
・Powershell

### 1. 仮想環境の構築

まず仮想環境を置いておくディレクトリを作成する.
そして,そのディレクトリ内で以下のコードを実行.
“`
python -m venv env
“`
末尾の”env”は仮想環境の名前で,ここは任意で良い.
例えば,pytorchを使いたいのであれば
“`
python -m venv pytorch
“`
とすれば”pytorch”という名前の仮想環境が構築できる.

### 2. 仮想環境への入り方
“`
.\env\Scripts\activate
“`
を実行すれば入れる.
その後はpipで必要なライブラリを入れるなりして環境を構築していこう.
### 3. 仮想環境の終了
“`
de

元記事を表示

Pandasによるデータ整理の基本

## はじめに
Pandasによるデータ整理の基本に関しての備忘録です。
コードを書き始めて1年以内の若輩者です😅
もし間違いがあれば、ご指摘いただけると助かります🙇

## 🦁**結論**🦁
データ操作の基本のきの字になるもの。
整理することで正しく行う事で分析につながる。

:::note info
押さえておくべき点
* 列や行の操作時のinplaceパラメータの意識的な使用が必要。
:::
***

:::note alert
注意点
* データを変更する操作を行う前には必ずバックアップを取る必要がある。
:::

***

## **基本のデータ整理コード一覧**

## **.rename()**
列名を変更することができる。
辞書型で古い名前をキー、新しい名前を値として指定できる。

inplace=True を指定すると、元のDataFrameが直接変更される。
列だけでなく、インデックス名の変更にも使用できる。
“`py
df.rename(columns={‘old_name

元記事を表示

GitHub Actions で一つのシークレットに複数の環境変数を定義して利用する

# 背景
– GitHub Actions で複数の環境変数を参照するスクリプトを実行したい
– リポジトリシークレットで変数を定義し、ワークフローからも参照して利用可能だが量が増えると手間になる
– できるだけ楽に管理したい

# 想定環境
– pipenv を使って python スクリプトを実行する
– 環境変数は `.env` ファイルで定義

# 手順
1. リポジトリシークレットで一つの変数に複数の環境変数を定義
“`
VAR1=value1
VAR2=value2
VAR3=value3
VAR4=value4
VAR5=value5
VAR6=value6
VAR7=value7
VAR8=value8
VAR9=value9
“`
1. ワークフローでシークレットを `.env` ファイルに書き出す
“`yaml
– name: setup environments
run: |
echo “${{ secrets.EN

元記事を表示

AWS BedrockでストリーミングRAG

## はじめに
AWS BedrockでKnowledgeBaseを使う場合、retrieve_and_generateメソッドを利用すると思いますが、ストリーミングに対応していなさそうだったので、やり方を考えてみました。

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/bedrock-agent-runtime/client/retrieve_and_generate.html#

※こんな感じになります。(KnowledgeBaseには先日OpenAIが発表した動画生成AI「sora」の紹介記事を登録しています。)

![streamlit-app-2024-02-27-21-02-42-_online-video-cutter.com_-_1_.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649608/4ece6639-0adb-7216-d5c4-1b0ec2b2e242.gif)

#

元記事を表示

RAGで使用する検索対象データのベクトル化についての検証メモ

## 概要
– RAGにおいて、質問文に関連するデータをベクトルDBなどから検索する場合、元となるドキュメントを分割しただけの場合、何かしらの加工(要約、タイトル付けなど)をした場合で質問文とのコサイン類似度がどのように変わるか?を検証してみました。せっかくなのでメモとして残しておきます。![image.jpg]!
– RAGや生成AIを実務で使った経験はないため、知識・経験不足などによる誤りがあるかもしれません。何か不備がありましたらご指摘ください。

## 環境
– OS Ubuntu 22.04
– Python 3.10.12
– 元となるドキュメントとしてWikipediaの記事を使用。[unstructured](https://github.com/Unstructured-IO/unstructured)でテキスト抽出。
– OpenAIの[text-embedding-3-small](https://platform.openai.com/docs/models/embeddings)でベクトル作成
– テキストの要約、タイトル付けはOpenAIの[gpt-3.5

元記事を表示

初中級者向け:MacOS用IDE“CodeRunner 4 (4.3)”でPython仮想環境内でコードを実行する方法

# はじめに
## CodeRunner 4とは?
MacOSには“CodeRunner 4”という非常に軽い実行環境があります。VSCodeにも“CodeRunner”という拡張機能がありますが、これとは別の独立実行型のアプリケーションです。詳細は
https://coderunnerapp.com
をご覧ください。
## CodeRunner 4の注意点
Apple App Storeでも“CodeRunner 4”が購入できますが、App Storeのアプリケーションは(本来はそうあるべきだとは思いますが)サンドボックスの制約が厳しいために、思うように機能を拡張できないという不利な点があります。これはTexifier(旧名Texpad)というLaTeX用のIDEにも言えることです。
そのため、利用して課金することを決めた場合は、サイトから直接、ライセンスを購入することをお勧めします。
# Python 3.12にバージョンアップして困ったこと
## pipでインストールできないモジュールがある
Python 3.12をHomebrewでインストールした場合、Apple App S

元記事を表示

WindowsでDockerを使ってみた3(on AWS)

内容
◉趣旨目標
◉前回の記事からの続き。
◉現状の構成
◉作りたい構成
◉作りたい構成の細部
・VPCの作成
・セキュリティグループの設定
・ECRにイメージをプッシュ。
・ECS(クラスター)作成
・タスク定義
・サービスの作成
・【参考】タスクの実行

## 趣旨目標
前回の記事のアップデート。WindowsでDockerを構築し、MySQLを連携させてデータベースにレコードを追加することができたので、今回は、コンテナをAWS上のEC2,ECSを使用し、コンテナを設置、データベースにレコードを追加するところまで行う。

## 前回の記事からの続き。
前回の記事:
https://qiita.com/nikorasu277/items/18faba6be13a92628644

## 現状の構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3518951/593e867f-6038-9230-948c-37e168ba0a0e.png)

## 作りたい構成
![image.p

元記事を表示

asdfでWSL+Ubuntuにpythonをインストール

# はじめに

以前インストールしたプログラミング言語管理ツールのasdfを使って、WSL Ubuntuにpythonをインストールします。

(目的は、DockerCompose + Django環境を構築するにあたり、pythonやpipをいじるためです。)

https://qiita.com/perilla/items/69bc6f89001dbceb0cde

https://qiita.com/perilla/items/ef73cf57ade24bc94f19

# asdf更新

asdfを更新します。

“`sh:Ubuntu
asdf update
“`

# pythonの存在確認

“`sh:Ubuntu
asdf plugin list all | grep -e python
# python https://github.com/danhper/asdf-python.git
“`

https://github.com/danhper/asdf-python.git

# asdfにpythonを追加

元記事を表示

Pythonで関数の型定義を行う方法

## はじめに
Pythonで関数(`Callable`)の型定義(Type Hint)をどうやるのが良いか悩んだのでまとめておきたいと思います。

## 前提
* Python 3.8以降(確認は3.12で行っています)
* VSCode + Pylance(standard mode) + Error Lens
* mypy 1.8.0

## パターン
1. 型定義(Type Hint)なし
2. `Callable`のみ
3. `Callable`に引数と返り値の型を付与
4. 3.をエイリアスにしたもの
5. `Protocol`を使用

これらのパターンで、ソースコード、エディタ上でどうチェックされるか、mypyでどうチェックされるかの結果を見ていきたいと思います。

## 詳細

### 1. 型定義(Type Hint)なし

#### ソースコード
“`python: func_no_type.py
def some_func_1_OK(func, value1, value2):
return func(value1, value2)

def som

元記事を表示

Python初心者の備忘録 #11 ~統計学入門編01~

# はじめに
今回私は最近はやりのchatGPTに興味を持ち、深層学習について学んでみたいと思い立ちました!
深層学習といえばPythonということなので、最終的にはPythonを使って深層学習ができるとこまでコツコツと学習していくことにしました。
ただ、勉強するだけではなく少しでもアウトプットをしようということで、備忘録として学習した内容をまとめていこうと思います。
この記事が少しでも誰かの糧になることを願っております!
**※投稿主の環境はWindowsなのでMacの方は多少違う部分が出てくると思いますが、ご了承ください。**
最初の記事:[Python初心者の備忘録 #01](https://qiita.com/Yushin-Tati/items/961dc47d6163f944f7e9)
前の記事:[Python初心者の備忘録 #10 ~DSに使われるライブラリ編05~](https://qiita.com/Yushin-Tati/items/372b9d48f0c357aa24cd)
次の記事:まだ

今回からPythonを使用した**統計学**についてまとめてい

元記事を表示

未経験から医者辞めてエンジニアになった話

## はじめに
どうも医者やめ太郎のikoraです

もうすぐ医者辞めて1年になるので記事をしたためることにしました

## 簡単な自己紹介

医者です

今は生成AIエンジニア?やってます

![2024-01-25_13-41-10_2822.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/584851/1edc7b38-3986-5e06-cfed-b810af8ba371.png)

**専門は画像生成**です

他もBackendやちょこっとインフラ周りなどぼちぼちやってます

余暇にLangChain × Elasticsearch(Vector store)で医療版ChatGPT(RAG)とか作ったりしてLLMにも興味あります

## 結論

なんか画像生成のモデル作ってたら日本でも指折り?の性能だったらしく、X(当時はまだTwitter)でヘッドハンティングされました

小生、医者だからやだー、まだキャリア積みたいのー。と若干の駄々をこねましたが相手がガチだったので面白そうで医者やめてき

元記事を表示

【2024年】ITエンジニア本大賞まとめ

# [アジャイルプラクティスガイドブック チームで成果を出すための開発技術の実践知](https://amzn.to/3HA29NY)

[![画像タイトル](https://m.media-amazon.com/images/W/MEDIAX_849526-T1/images/I/81RMFL5D0sL._SL1500_.jpg)](https://amzn.to/3HA29NY)

**チーム・組織にプラクティスを導入し、根付かせるために!
116の手法を一冊にまとめた“実践”の手引き**

チームでのアジャイル開発には、開発技術やツールなどの「技術プラクティス」の活用が重要です。

プラクティスはそれぞれの目的や役割を意識することで効果を発揮します。しかし、目まぐるしく状況が変化する開発では、当初の目的を忘れて、プラクティスに取り組むこと自体が目的化してしまうチームも少なくありません。

本書は、チーム・組織でアジャイル開発に取り組んできた著者が、プラクティスの効果的な選択・活用のしかたについて、自らの実践経験に基づいてまとめたガイドブックです。

架空の開発現場を舞台にしたマン

元記事を表示

Pythonで「Pythonの引数における参照渡しと値渡しについて」の動作を確認してみた

# 概要

Pythonで「Pythonの引数における参照渡しと値渡しについて」の動作を確認してみました。以下のページを参考にしました。

https://www.javadrive.jp/python/userfunc/index3.html

# 実装

以下のファイルを作成しました。
“`sample.py
def myfunc(n):
print(n)
n[1] = 15
print(n)

x = [10, 20]
print(x)

myfunc(x)

print(x)
“`

以下のコマンドを実行しました。
“`
$ python3 sample.py
[10, 20]
[10, 20]
[10, 15]
[10, 15]
“`

# まとめ
なにかの役に立てばと。

元記事を表示

tqdmで進捗確認(プログレスバー)

## はじめに
tqdmで進捗確認(プログレスバー)に関しての備忘録です。
コードを書き始めて1年以内の若輩者です😅
もし間違いがあれば、ご指摘いただけると助かります🙇

## 🦁**結論**🦁
ループ処理や大きなデータを読み込んだりする際に進捗を簡単に確認できるようにするためのツール。
並列処理、非同期処理などにも使える。

:::note info
押さえておくべき点
* forループで直接使用できる。
* 表示のフォーマットや速度の単位を変更できる。
* スレッドやプロセスでの使用もサポートされてる。
:::
***

:::note warn
利用シーン
* ループ処理。
* 大量のデータ処理
* ファイルダウンロードしてるとき
:::
***

:::note alert
注意点
* tqdmを使用するとわずかに処理が遅くなる場合がある。
* 複数の進捗バーを同時に使うと出力が乱れることがある。
* エラーが発生しても進捗バーが残る場合があるので適切に処理する必要ある。
:::

***

## **使用方法一覧**

元記事を表示

約数の問題「北海道大学2024年前期文系第1問 」をChatGPTとsympyでやってみたい。

**パイソニスタの方へ**
・ChatGPT-3.5先生の、どこが間違っているのかわかりませんでした。
・sumの使い方を教えて下さい。

# オリジナル
問題解答解説

https://mathmathmass.exblog.jp/33697399/

>2024年解答速報 数学入試問題 様
未登録(2024/02/27)

上と同じです。大学入試数学問題集成 様>テキスト
未登録(2024/02/27)

公式ホームページ
未登録(2024/02/27)

# sympyで(オリジナル 様の方法で)
・勉強中

# ChatGPT-3.5先生が自己採点されました。
**???私は、どこが間違っているのかわかりませんでした。**
**???繰り返すと、先生の回答が変わります。**

「約数の総和を計算」と、ChatGPT-3.5先生が判断されました。
“`
(1)自然数m,nについて、2^m・3^nの正の約数の個数を求めよ.`
(2)6912の正の約数のうち、12で割り切れないものの総和を求めよ.
“`
??? 返信:間違っていますが、ステキです。一部省略。
“`
(1)..

元記事を表示

OTHERカテゴリの最新記事