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

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

久々にopenaiパッケージを用いたコードをいじったら「but this is no longer supported in openai>=1.0.0」が発生したので備忘録

Pythonのopenaiパッケージの話です。

バージョンは「openai==1.47.0」で指定していた時の話です。

発生したエラー

“`
You tried to access openai.Embedding, but this is no longer supported in openai>=1.0.0 – see the README at https://github.com/openai/openai-python for the API.

You can run `openai migrate` to automatically upgrade your codebase to use the 1.0.0 interface.

Alternatively, you can pin your installation to the old version, e.g. `pip install openai==0.28`

A detailed migration guide is available here: https://github.com/op

元記事を表示

Cloud Runに環境変数を設定しながらデプロイする

## はじめに
Google Cloudの[Cloud Run](https://cloud.google.com/run/docs/overview/what-is-cloud-run?hl=ja)では、開発したアプリケーションをgcloudコマンドで簡単にデプロイすることができます。
今回はDockerfileを作成せず、[ソースコードから直接デプロイする](https://cloud.google.com/run/docs/deploying-source-code?hl=ja)際に環境変数を設定しながらデプロイする方法を紹介します。アプリケーションはPythonのフレームワーク(Django,Flask,FastAPI)で試してみたいと思います。

## 前提
Google Cloud,gcloud CLIの準備として以下の「始める前に」を実行済みとします。

https://cloud.google.com/run/docs/quickstarts/build-and-deploy/deploy-python-service?hl=ja#before-you-begin

P

元記事を表示

【Django】404エラー発生時の対処について

# はじめに
「PythonDjango4 超入門」の学習中、404エラーが発生してハマってしまいました・・・
解決してみれば単純なケアレスミスなんですが、書籍の通りに構築すると絶対に発生するようになっているので、備忘録&情報共有のために記事にします。

# 前提条件
以下の条件でURLを開くと、404エラーが発生します。
※書籍の記述通り。

①「http://localhost:8000/hello/create 」にアクセス。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/665882/31b079b7-573d-d7b7-ef20-7da6f4f06a33.png)

②ルーティングは以下設定で実装。
~~~python:<プロジェクト>\urls.py
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
path(‘admin/’, admin.s

元記事を表示

Figmaのファイルを一括でバックアップする

* 前提
* 保険の意味で、Figmaのチーム内のデータをローカルにバックアップしたいと思いました
* ファイル数が300以上あるため、バックアップするたびに、1ファイルずつ取得するのは手間がかかる
* 私は、非プログラマーです
* 下記のコードは、生成AIにて取得したものです
* 環境情報は現在の私の現在のものです
* 同様の環境であれば実行できると思います
* 環境(参考)
* 端末
* macOS
* 13.6.8
* ライブラリ
* Python
* 3.12.6
* requests
* 2.32.3

* 準備
* Figma APIのアクセストークンを発行
* 参考
* https://qiita.com/_lemoo_/items/89cc34003847bdcf53e5
* FigmaのチームIDを用意

元記事を表示

FastAPIインストール🔰

# 前提
Python 3.11.7

# インストール
ターミナル上で実行
“`
pip install “fastapi[standard]”
“`

## 確認
“`
fastapi –version
“`

## ソースコード
main.pyをアプリのファイル内に入れて以下のコードをコピペ

“`main.py

from fastapi import FastAPI

app = FastAPI()

@app.get(“/”)
async def root():
return {“message”: “Hello World”}
“`

## サーバー起動

“`
fastapi dev main.py
“`
こんな感じのが出たら成功
FastAPI CLI – Development mode

Serving at:にあるURLで(この場合は`http://127.0.0.1:8000`)
{“message”:”Hello World”}
が出る。

“`
INFO Using path main.py
INFO

元記事を表示

Pyramidを使ってPythonでAPIサーバーを構築しよう

## はじめに

Pythonでウェブアプリケーションを開発する際、様々なフレームワークの選択肢があります。DjangoやFlaskなど有名なものもありますが、今回は比較的新しいフレームワークであるPyramidに注目します。Pyramidは軽量でありながら拡張性に優れ、小規模なプロジェクトから大規模なアプリケーションまで対応できる柔軟性を持っています。

この記事では、Pyramidを使用してシンプルなAPIサーバーを構築する方法をステップバイステップで解説します。Pyramidの基本的な概念から、ルーティング、ビュー関数の作成、データベース連携まで、APIサーバー開発に必要な要素を網羅的に学んでいきましょう。Pythonウェブ開発の新たな可能性を探る良い機会となるはずです。

## 1. Pyramidとは

Pyramidは、Pythonで開発された柔軟で拡張性の高いウェブフレームワークです。小規模なプロジェクトから大規模なアプリケーションまで対応できる設計になっています。Pyramidの特徴は、最小限の機能から始めて、必要に応じて機能を追加できる「pay only for wh

元記事を表示

「しかのこのこのここしたんたん」のマルコフ連鎖を ROS2 StateMachine で実装する

# 「しかのこのこのここしたんたん」とは




 **「しかのこのこのここしたんたん」** とはアニメの題名です。ここではこのアニメの内容については語りませんが、**なかなかぶっ飛んだアニメです。**面白いので是非視聴してみてください。

# マルコフ連鎖とは
 マルコフ連鎖とは簡単に説明すると、ある状態から次の状態に遷移する確率が現在の状態のみに依存する確率過程です。過去の状態は考慮されず、各遷移は定められた確率で行われる状態遷移過程を示します。
 現在の状態から次の状態へそれぞれの確率で遷移することを示す状態遷移図を用いて図式することができます。

## 「しかのこ」におけるマルコフ連鎖
 「しかのこのこのここしたんたん」が長いので以降「しかのこ」と表記します。しかのこにおけるマルコフ連鎖

元記事を表示

Juliaにてpipenv仮想環境利用でPyPlot描画できず、結果的にpythonのtkinterインストールの罠に・・・

## 1\. 問題の核心部分(Pythonしか使わない場合、こちらのみ閲覧で十分)
* ***Windowsで複数Pythonを切り替えて使う場合、Python仮想環境を利用します***。私の場合Pipenvを使っていますが、Windows標準のインストールに頼る場合
* **主たるPython(最新版)インストール時にはフルセットでインストールしても、バージョンの古い版の追加インストール時には「Python本体だけで良くね?」と最小版にしたくなる。**
で、嵌りました。
* ***TkinterはPythonで「標準ライブラリ」に分類*** されており、普通に入っていると思ってチェックを怠っていました。
* ***追加インストール時には、必ず下記のように「td/tk and IDLE」にチェック入れないと、「標準ライブラリ」としては使えません。後からPipなどでインストールしようとすると、怪しげなソフトや、全く異なるライブラリを入れる羽目に陥ります。***
Lambda で Lex Bot のDRAFT バージョンビルド処理を実装する

# はじめに
本記事では、AWS Lambda のスクリプトからLex Bot のビルド処理を実装していきます。

# 環境
– Python:3.12
– Lex:v2

# ゴール
– Lambda 関数を実行し Lex Bot の DRAFT バージョンをビルドする
– ビルド後にBotが使用可能な状態になっている事を確認する

# 前提
– Lexのボットは作成されてる事

# Lambdaの作成

– `get_draft_status`:describe_bot_locale API を使用して、Bot の現在のステータスを取得します。
– `wait_for_build_completion`:ビルドが完了するまで5秒ごとにステータスを確認し、”Built” または “Failed” になるまで待機します。

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/lexv2-models/client/describe_bot_locale.html

“`python:l

元記事を表示

タイタニックの欠損値のある変数を削除した結果

ふと思ったのです、昔は欠損値の補完やらずに78%出していたなと。
そこで欠損値のある変数をすべて削除して予測してみようと。

“`Python3
import pandas as pd
train = pd.read_csv(“train.csv”)
test = pd.read_csv(“test.csv”)
“`
では欠損のある項目と数値でない項目(性別除く)を削除します。
“`Python3
train.index = train[“PassengerId”]
train = train.drop([“PassengerId”, “Name”, “Age”, “Ticket”, “Fare”, “Cabin”, “Embarked”], axis=1)
test.index = test[“PassengerId”]
test = test.drop([“PassengerId”, “Name”, “Age”, “Ticket”, “Fare”, “Cabin”, “Embarked”], axis=1)
“`
性別を片方削除します(多重共線性回避)
“`Python3

元記事を表示

PythonとLLMで作る!カレー好きのための知識グラフQAシステム

## はじめに

![napkin-selection (21).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/12dd5f85-d877-3a16-6811-104b4901c43e.png)

こんにちは、カレー愛好家の皆さん!今回は、Pythonと大規模言語モデル(LLM)を使って、カレーに関する知識を管理し、質問に答えるシステムを作ってみました。このシステムでは、カレー好きの人々のネットワークや、お気に入りのカレー店、新しいメニューなどの情報をグラフ構造で表現し、それをベースに質問応答を行います。

## システムの概要

![napkin-selection (23).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/b16f7dff-6e08-edfa-5bed-8cf8b7e035d9.png)

このシステムは以下の主要な機能を持っています:

1. カレー関連の知識をグラフ構

元記事を表示

複数の英語音声ファイルを一括で文字起こし&日本語翻訳する方法【Whisper × Google Colab】

# 複数の英語音声ファイルを一括で文字起こし&日本語翻訳する方法【Whisper × Google Colab】

こんにちは!今回は、**OpenAIのWhisperモデル**と**Google Colab**を活用して、**英語の音声ファイルを一括で文字起こしし、日本語に翻訳**する方法を詳しく解説します。

例えば、英語で行われた打ち合わせや会議を録音した複数の音声ファイルを、一度に文字起こしして日本語に翻訳できたら便利ですよね。このブログでは、その具体的な手順とコードをステップバイステップで紹介します。

***

## 目次

1. [はじめに](#はじめに)
2. [必要な準備](#必要な準備)
* [Google Colabの設定](#google-colabの設定)
* [必要なライブラリのインストール](#必要なライブラリのインストール)
3. [コードの詳細解説](#コードの詳細解説)
* [ライブラリのインポート](#ライブラリのインポート)
* [文章の分割関数の定義](#文章の分割関数の定義)
*

元記事を表示

Pythonで〇×ゲームのAIを一から作成する その118 最善手の優劣を考慮したゲーム木を利用する AI

# 目次と前回の記事

https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0

https://qiita.com/ysgeso/items/6d1430a88e251279d77a

## これまでに作成したモジュール

以下のリンクから、これまでに作成したモジュールを見ることができます。

| リンク | 説明 |
|:–|:–|
| [marubatsu.py](https://github.com/ysgeso/marubatsu/blob/master/118/marubatsu.py) | Marubatsu、Marubatsu_GUI クラスの定義|
| [ai.py](https://github.com/ysgeso/marubatsu/blob/master/118/ai.py) | AI に関する関数 |
| [test.py](https://github.com/ysgeso/marubatsu/blob/master/118/test.py) | テストに関する関数 |
| [util.py]

元記事を表示

AI要約の7つの手法と特徴を解説【サンプルコード付】

# 課題と解決方法

2024年現在、文章を要約する方法にはさまざまな種類がある。方法論はもちろんモジュールも多く存在している。ただ、それらの手法を理解した上で使えていない方もいと思う。

そこでこの記事では文章要約の「抽出的要約」と「抽象的要約」で使われる手法とロジックの解説、コードの提示までを行う。

今回はwikipediaのデータセットにある以下の文章を要約に使う。

2010-03-02T19:00:00+0900 友を失うその前に!? ビジネススキルの意外なる盲点 『あの人と一緒に仕事がしたい』 ビジネスパーソンとして、周囲からそう思われる人間になれ! ベストセラー作家・エッセイスト・役者等さまざまな顔をもち、アタッカーズ・ビジネススクールの講師も勤める中谷彰宏氏は言います。

『こんな企画を一緒にやろう!そう言ってプロジェクトを始め、ふと気が付けば全然違うことをやっていた。そんな時が、一番上手くいく。 なぜなら、最初に決めた方向性にまっすぐ進む仕事なんて、ほとんど無いのだから。“気付けば全然違うことをやっていた”それは、チームが臨機応変に荒波を乗り越えてきたという、優れ

元記事を表示

AI屋さんの gradioと200万トークン全文入力 追加学習済み LLMの gradioでWebアプリをクラウドデプロイ

AI屋さんの 追加学習済み LLMの gradioでWebアプリをクラウドデプロイ

streamlitができるのだから
gradioでも お手軽に、
サーバーレスでWebアプリをデプロイしてみましょう。
自分で作れれば、ただ同然です。

追加学習済みのLLMを安価に共有する方法です。
完成ずみのwebapiを使って、
既にある、皆様のポータルサイトで呼び出したり
別途、独立サイトで運用したり 色々できます。

完成イメージ

![スクリーンショット 2024-09-22 21.43.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/237930/c0047eee-e58e-8ef2-347a-baa6e71a378d.png)

作成したアプリが無事に動けば OSまるごと
dockerのイメージで固めて デプロイするので
結構何でも気軽に クラウドのサーバーレスで運用できます。

しかも、LLMのプロンプトに 案件毎、資料毎に固定で
200万トークン目一杯 追加学習の資料を 全文入れて固

元記事を表示

Firebase Cloud Functions のデコレータ設定(Python) memory編

## 本記事の内容

Firebase Cloud FunctionsをPythonで実装する際に設定するデコレータの**Memory**の解説を行います。
Firebaseが公開している公式ドキュメントと、実際のソースコードを見ながら解説をしていきます。

## 背景
ファイルの生成やなどを行う関数をデプロイしようとしました。
ところがデフォルトのメモリの設定ではオーバーフローしてしまい、メモリの量を増やす必要がありました。

## 目次

– [1. デコレータとは](#1-デコレータとは)
– [2. Memoryの設定](#2-memoryの設定)
– [3. 実装](#3-実装)
– [4. まとめ](#4-まとめ)

## 1. デコレータとは
デコレータとは**関数やクラスの前後に特定の処理を追加出来る機能**です。
Pythonでは、関数やクラスの定義する前に`@`をつけることで設定出来ます。

“`Python sample.py
@https_fn.on_request()
def fetch_data(req: https_fn.Request) -> ht

元記事を表示

Firebase Cloud Functions のデコレータ設定(Python) Region編

## 内容

Firebase Cloud FunctionsをPythonで実装する際に設定するデコレータの**Region**の解説を行います。
Firebaseが公開している公式ドキュメントと、実際のソースコードを見ながら解説をしていきます。

## 目次

– [1. デコレータとは](#1-デコレータとは)
– [2. Regionの設定](#2-regionの設定)
– [3. 実装](#3-実装)
– [4. まとめ](#4-まとめ)

## 1. デコレータとは
デコレータとは**関数やクラスの前後に特定の処理を追加出来る機能**です。
Pythonでは、関数やクラスの定義する前に`@`をつけることで設定出来ます。

“`Python sample.py
@https_fn.on_request()
def fetch_data(req: https_fn.Request) -> https_fn.Response:
#省略
“`

今回のFirebaseのデコレータは`@https_fn.on_request()`になります。

## 2. Regio

元記事を表示

Pandas利用者はassignメソッドを使いこなそう

# 対象読者
– 日々のデータ分析でpythonを活用している人
– データ分析や機械学習の初学者
– データの前処理に時間がかかっている人

# 記事を書いたきっかけ
皆さんはテーブルデータの分析や前処理をどのような方法で行っていますか?

Pythonを使ったデータ分析の3種の神器として、
numpy/pandas/matplotlib を思い浮かべる方も多いのではないでしょうか?

実務でもPandasはテーブルデータの処理で非常によく使います。Pandasを使っていて感じるのが「コードが冗長になりがち」だということ。

近年ではPolarsというよりPandasより高性能のライブラリが登場しているものの、
他のライブラリとの依存関係や学び直しのコストなどを考えるとまだまだPandasから離れられない方が多いのではないでしょうか?

そんなPandsについて、できるだけ見やすく、冗長になりにくくいコードを書くコツに関してお話を聴く機会があったので一番重要なassignメソッドに関してまとめました。

# assignメソッドを使いこなそう
Pandasでは、行列を持つテーブ

元記事を表示

JupyterNotebookのフォントを変更する方法

# JupyterNotebookのインストール
venv環境でインストールすることを前提とします。
方法は以下の通りです。

“`bash:venvで仮想環境を作成した上でJupyterNotebookをインストール・起動
pythn -m venv jupyter
cd jupyter
source bin/activate
pip install jupyter
jupyter notebook
“`

# デフォルトのフォント
デフォルトのフォントはこのような感じです。

![スクリーンショット 2024-09-22 19.18.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119732/58c618d4-4a71-97a5-0f1d-40f1ca2f5c82.png)

# フォントをMonacoに変更

手順は以下の通りです。

1. JupyterNotebookを開きます。
2. ツールバーで「Settings」をクリックします。
3. 「Settings Editor」を選択

元記事を表示

AtCoder ABC372 振り返り感想戦(ほぼ緑コーダーがPythonでA〜D問題まで)

## ABC372 感想まとめ

[ユニークビジョンプログラミングコンテスト2024 秋(AtCoder Beginner Contest 372) – AtCoder](https://atcoder.jp/contests/abc372)

今回は久々にRated参加で、C問題まで3問解答(1ペナ)でした。パフォーマンス 774 で、レーティングは 776 → 775(-1) でした。

C問題までは比較的早く解けたのですが、その後の70分はD問題で詰まってしまい…。D問題は終了10分前に優先度つきキュー(heapq)を使う解法を思いつき、なんとか提出までは出来たのですが、残念ながらテストケース1つだけWAで通らずでした。

コンテスト終了4分後にD問題を通せたので、もう少し解法に気付いれいれば…。惜しい。

## [A – delete .](https://atcoder.jp/contests/abc372/tasks/abc372_a)

配列 “`answers“` に “.” 以外の文字を貯めていき、最後に配列を文字列に変換しています。

“` pytho

元記事を表示

OTHERカテゴリの最新記事