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

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

【Python】飛行機の運動をシミュレートするプログラムをつくる その3 「Q学習」

# はじめに

今回は以下の記事の続きです。

https://qiita.com/yuki_2020/items/95d928a800db970df408

本プログラムは**飛行機をQ-learningにより自動で操縦することを目指したプログラム**です。

飛行のモデリングは『航空機力学入門 (加藤寛一郎・大屋昭男・柄沢研治 著 東京大学出版会)』の3章「微小擾乱の運動方程式」をベースに作成しています。

そしてQ-lerningの実装は東京大学松尾研究室の「サマースクール2024 深層強化学習」をベースにしております。

Q学習について理解済みを想定しているため、詳しい説明はほかのサイトをご利用ください。

水平旋回を目指して学習させた結果が以下の感じです。

![paper_plane.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/993303/37b2075c-e901-2f7c-0538-8a2a6638c545.gif)

プログラムはgooglecolabで実行できるように公

元記事を表示

【Python】最低限の覚えておきたい基礎知識

はじめに

Pythonについて基礎知識をまとめました。
詳細な説明と具体例を記載しています。

インタプリタ

`対話モード`: コマンドラインでpythonまたはpython3と入力すると起動。
コードを1行ずつ入力して実行できる。

`スクリプトモード`: .pyファイルにコードを書き、コマンドラインでpython script.pyと実行する。

データ型

“`
# 整数
x = 5
# 浮動小数点
y = 3.14
# 文字列
name = “Alice”
# ブール値
is_valid = True
“`

演算子

“`
# 算術演算
sum = 5 + 3 # 8
division = 10 / 2 # 5.0
integer_div = 10 // 3 # 3
exponent = 2 ** 3 # 8

# 比較演算
a = 5
b = 3
result = a > b # True

# 論理演算
logical_result = (a > b) and (b > 0) # True
“`

リスト

元記事を表示

段階的に情報を洗練するAIチャットプロンプトの実装方法

# はじめに
この記事では、ユーザーからの質問に対して段階的に情報を洗練し、最終的な回答を導くAIチャットプロンプトの実装方法について紹介します。具体的には、大阪府の行政サービスに関する質問を取り上げ、そのプロセスを詳しく説明します。

# AIチャットプロンプトとは
AIチャットプロンプトとは、ユーザーから入力された質問や要求に対して適切な回答やアクションを提供するためのガイドラインやテンプレートです。これによって、より正確で有用な応答が可能になります。

# 段階的な情報洗練の必要性
一度にすべての情報を提供することは難しい場合があります。例えば、大阪府の行政サービスについて質問された場合、一度で全ての詳細情報(担当サービス、区分、具体的なサービス名など)を提供することは難しいです。そこで段階的なアプローチが有効です。

## 具体例:大阪府の行政サービスに関する質問
### ステップ1:初回プロンプトとクエリキーワード生成

### ステップ1: 初回プロンプト
最初に、ユーザーからの質問を受け取り、それに基づいてクエリキーワードを生成します。

**ユーザー入力(最初の入力):

元記事を表示

Pythonのf-stringは書式指定文字列にも式を書ける

Pythonの文字列をフォーマットする際には、コンパクトに書ける[f-string](https://docs.python.org/ja/3.12/tutorial/inputoutput.html#tut-f-strings)をよく使います。例として、下記は整数を5桁右詰め0埋めで表示する方法です。

“`python
>>> value = 198
>>> print(f'{value:0>5d}’)
00198
“`

とても便利ですが、場合によっては桁数を実行時に決めたい場合があるかと思います。例えば複数の整数を表示するときに桁数を揃えて右詰めで出力したいとか。

“`python
>>> value_list = [1, 11, 121, 1331]
“`

こんなときには、出力する桁数を動的に決めて、書式指定文字列に反映させなければなりません。f-stringの式の中に式がネストすることになるので、動くのかどうか不安でしたが、これが**動きます**。

“`python
>>> num_digit = len(str(max(value_list)))
>>>

元記事を表示

国産LLMのPLaMoをPythonエージェントとして使ってみる

はじめに謝っとくけど、雑な記事でごめん

現在無料お試し期間中のPLaMoをエージェントとして使えるかColabで試してみたので、ご紹介。

以下の記事を参考にした。

事前準備は多分こんなもんだったと思う。

!pip install langchain-openai
!pip install langchain-experimental
!pip install -qU duckduckgo-search langchain-community

あと、API_KEYとAPI_HOSTをColabのシークレットに追加する。

以下がコード。

“`python
import os
from langchain_openai import ChatOpenAI
from google.colab import userdata
from langchain.agents import initialize_agent

元記事を表示

【今更聞けない!?】✨ Azure OpenAIとLangChainで始める!RAG入門!AIチャットボット構築ハンズオン 🚀

## はじめに

**最新情報に対応できる賢いAIチャットボットを、Azure OpenAIを使って作ってみませんか?**

この記事では、Azure OpenAIとLangChainを活用したRAG (Retrieval-Augmented Generation) の基本と、実践的なチャットボットの構築方法を、分かりやすく解説します。
LangChainは、LLMと外部データソースを統合するための強力なライブラリで、複雑なフローを簡単に構築できる点が魅力です。特にRAGの実装において、LangChainは重要な役割を果たします。
これからAIを活用したいと考えている方、Azure OpenAIとLangChainの基本的な使い方を**手を動かして**学びたい方、RAGに興味がある方に向けて、丁寧に解説していきます。

**✅ 対象読者**

* 生成AIやRAGに興味がある方
* 噂のAzure OpenAIとLangChainを使ってAIチャットボットを作ってみたい方
* AIチャットボットの最新技術を学びたい方

**この記事を読めば、RAGの基礎を理解し、実際に動くAIチャット

元記事を表示

CMOS OPアンプ回路 実務設計の基礎

https://www.amazon.co.jp/CMOS-OP%E3%82%A2%E3%83%B3%E3%83%97%E5%9B%9E%E8%B7%AF%E5%AE%9F%E5%8B%99%E8%A8%AD%E8%A8%88%E3%81%AE%E5%9F%BA%E7%A4%8E%E2%80%95%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89%E3%82%A2%E3%83%8A%E3%83%AD%E3%82%B0IC%E8%A8%AD%E8%A8%88%E3%82%92%E5%AD%A6%E3%81%B6%E4%BA%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE-%E5%8D%8A%E5%B0%8E%E4%BD%93%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E5%90%89%E6%BE%A4-%E6%B5%A9%E5%92%8C/dp/4789830276

P19
単位面積あたりのゲート容量
P22
(√((1/2)μCox×(W/L)))×(VGS-Vth)

P32
“`
impor

元記事を表示

全国銀行協会から統計資料を一括取得する

全国銀行協会月次統計データページから、各年の月末ごとの統計情報PDFリンクを自動的に抽出するPythonスクリプトを紹介します。以下のスクリプトは、BeautifulSoupとrequestsライブラリを使用して、メインページからリンクを取得し、それぞれのリンク先からPDFファイルのURLを収集する2つのステップで構成されています。

https://www.zenginkyo.or.jp/stats/month1-01/

## ステップ1: メインページの内容を取得
まず、指定されたベースURL(https://www.zenginkyo.or.jp/stats/month1-01/)から、年ごとの統計データセクションを抽出します。

“`python
import requests
from bs4 import BeautifulSoup
import re

def extract_pdf_links_from_years(base_url):
# ベースURLのページを取得
response = requests.get(base_url)
re

元記事を表示

pythonでgnuradio その25

# 概要
pythonでgnuradioやってみた。
USBトングル、つけてみた。

# 環境
windows11

# USBトングル
DVB-T+DVB+FMと、書いてある水色のやつ。

# ドライバー
zadig-2.9.exe

ユニバーサルシリアルバスデバイス
Bulk-in,interface

以上。

元記事を表示

Macでpygraphvizをインストールするのに「graphviz/cgraph.hがない」と怒られる問題

# はじめに
LangGraphでグラフの画像を出力するときに`pygraphviz`が必要になったので、`homebrew`で`graphviz`をインストールしてから`pygraphviz`をインストールしようとするとエラーが出ました。

# エラー
`graphviz/cgraph.h`が見つからないというエラーがでました。

# 解決策

まず以下の記事を見つけました。

https://qiita.com/ryoppippi/items/f484eb995ff1e913dd44

`–install-option`で適切に`–include-path`と`–library-path`を設定すれば良いとのことでした。しかし、自分はパッケージマネージャーの`uv`を使用しており、`–install-option`がありませんでした。

さらに調べて見つけた[このサイト](https://iriusrisk.github.io/startleft/Troubleshooting/#cannot-open-include-file-graphvizcgraphh)の通りにやっ

元記事を表示

GPT-4oファインチューニングモデルの追加:最新情報と成功事例の紹介

## 1. はじめに
皆さんおはようございます♪

詳しくは [https://note.com/kii_genai/n/nf5767cd49c1e](https://note.com/kii_genai/n/nf5767cd49c1e)もご覧くださいね♪

2024年8月に新たに登場したGPT-4oファインチューニングモデルは、OpenAIの技術にさらなる柔軟性と適応力を提供しています。これにより、ユーザーは自身の特定のニーズに合わせたモデルを簡単にカスタマイズでき、ドメイン特化型のAIシステムを構築することが可能になりました。特に、GPT-4oは、従来のファインチューニングに比べて高い精度を誇り、開発者にとっては特定のユースケースに最適化されたモデルを迅速に作成できるツールとなっています。

本記事では、GPT-4oのファインチューニングモデルに関する最新情報を深く掘り下げ、その特徴、料金体系、成功事例、ファインチューニングの具体的な手順などを詳しく解説します。

次の章では、まずGPT-4oのファインチューニングモデルが持つ具体的な特徴について詳しく見ていきます。

## 2.

元記事を表示

streamlitのLLMアプリをEC2+ALB+Route53で公開する方法

ChatGPTやClaudeのWebサイトは[React](https://ja.react.dev/)で作られているが、そこまでしたくなくサクッと作って、サクッと公開したいとき、[streamlit](https://streamlit.io/)は非常に楽。
ただ、streamlitは静的ビルドができず、S3+CloudFrontでは公開できない。今回は、プライベートVPC内のEC2+ALBで公開する方法を紹介する。
※パブリックVPC内であれば、EC2+Elastic IPだけでも公開できます。

## Streamlitの簡易LLMアプリケーション作成

streamlitのインストール
“`
pip3 install streamlit
“`

下記にAmazon BedrockのClaude3のWebアプリを立ち上げるstreamlitのプログラムを載せる。

:::note warn
BedrockのClaudeを使用するには、Bedrockのコンソール画面->モデルアクセスからモデルアクセスをリクエストする必要がある。
:::

:::note warn
下記コマ

元記事を表示

【Python】input関数

# はじめに
Pythonのinput関数は、ユーザーからの入力を受け取るための基本的な関数です。この記事では、input関数とは何か、何ができるか、そしてその基本的な使い方について説明します。

# input関数とは
input関数は、プログラムの実行中にユーザーからの入力を受け取り、その入力をプログラム内で利用できるようにする関数です。基本的な構文は次の通りです。

“`python:python
input(“メッセージ”)
“`

# input関数でできること
### ユーザーからの入力を受け取る
input関数を使用すると、ユーザーにプロンプトを表示して、その入力を取得できます。取得した入力は文字列として変数に格納されます。

“`python:python
name = input(“What is your name? “)
# What is your name? Taro

print(“Hello, ” + name + “!”)
# Hello, Taro!
“`

### 数値入力を扱う
input関数の入力はすべて文字列として扱われます。そのため、

元記事を表示

Pythonでのデータクレンジング手法: 20の実践的テクニック

## はじめに

こんにちは!今回は、Pythonを使ったデータクレンジングの手法について、20の章に分けて詳しく解説していきます。データ分析や機械学習の前処理として欠かせないデータクレンジング。ぜひ、この記事を参考に、より効率的なデータ処理を目指しましょう!

まず、この記事全体で使用するサンプルデータを以下に示します。

“`python
import pandas as pd
import numpy as np

# サンプルデータの作成
data = {
‘ID’: [1, 2, 3, 4, 5],
‘名前’: [‘山田太郎’, ‘佐藤花子’, ‘鈴木一郎’, ‘田中美咲’, ‘高橋健太’],
‘年齢’: [28, 35, np.nan, 42, 31],
‘性別’: [‘男’, ‘女’, ‘男’, ‘女’, ‘男’],
‘売上’: [100000, 150000, 120000, np.nan, 200000],
‘部門’: [‘営業’, ‘管理’, ‘営業’, ‘企画’, ‘営業’],
‘入社日’: [‘2020-

元記事を表示

テキストをエンベディングして得られる行列でのより詳細で精密な類似度測定計算。

![91871fe7-d00c-4737-b533-3c01a8eabe5b.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/c6e771a5-c7fc-3676-65ab-26d89625f5b1.png)

#### ショートストーリー: 「コードの中の共鳴」
東京の高層ビルが立ち並ぶ夜の街で、彼の部屋には薄暗い光が差し込んでいた。画面に映し出されたコードと、幾つかの行列が交互に切り替わる中、主人公の田中は深く考え込んでいた。彼は東京の企業でプログラマーとして働いており、今日もまた一つの難題に直面していた。

田中はテキストのエンベディングを使って、文書の類似度を精密に測る方法を模索していた。彼の目の前には、テキストを行列として表現し、それぞれの行と列のコサイン類似度を計算するというアイディアがあった。それは単なる理論ではなく、彼が現実のデータで検証しようとしているものだった。

「行列として表現されたテキスト同士の類似度を、どれだけ詳細に測れるか?」彼は呟いた。コードを実

元記事を表示

GPUメモリーはまるで四次元ライフゲームのよう

![スクリーンショット 2024-08-23 043711.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/58090a56-06a7-3427-fed7-15c9899ba6e2.png)

![スクリーンショット 2024-08-23 043342.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/98a5bd7a-a674-a0d0-b33e-a505257668ee.png)

![スクリーンショット 2024-08-23 043447.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/a0002990-c3a2-2734-fdd8-6474ac0cc763.png)

#### ショートストーリー: 「GPUメモリーはまるで四次元ライフゲームのよう」

東京の夜は静かで

元記事を表示

画面いっぱいに広がる銀河シミュレーションのゲーム。

![スクリーンショット 2024-08-23 043150.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/ae7c6e6f-b81d-39b6-9966-288a8d316e5a.png)

![スクリーンショット 2024-08-23 043159.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/c676c902-1349-cacd-dd6a-e705598805a1.png)

### 中央に重力源がある銀河シミュレーションを表しています。各パーティクルはランダムな位置と速度で始まり、重力源に引かれて回転します。

“`python
import os
import webbrowser
from http.server import SimpleHTTPRequestHandler, HTTPServer
import threading

# HTMLコードを生

元記事を表示

ダイナミック ローレンツアトラクター が描かれた空間内を飛び回るゲーム。

![スクリーンショット 2024-08-23 042931.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/e863fa1d-d326-c64a-5e77-39472c2cf20c.png)

![スクリーンショット 2024-08-23 042953.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/4d94c23d-6ff9-81c2-7c36-2f7724866e47.png)

### ローレンツ・アトラクターを3Dでプロットし、その空間内をカメラが飛び回る視点でアニメーションを行ってます。

“`python
import os
import webbrowser
from http.server import SimpleHTTPRequestHandler, HTTPServer
import threading

# HTMLコードを生成
html_content =

元記事を表示

Pythonで〇×ゲームのAIを一から作成する その109 強解決の AI であるかの判定

# 目次と前回の記事

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

https://qiita.com/ysgeso/items/d2c309058e2c60d2e476

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

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

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

元記事を表示

WARNING: The Python tkinter extension was not compiled and GUI subsystem has been detected. Missing the Tk toolkit?の対処法

# 事の起こり

pyenvで最新版のPython(Python 3.12.1)をインストールしようとした時に以下の警告が表示されました。

**WARNING: The Python tkinter extension was not compiled and GUI subsystem has been detected. Missing the Tk toolkit?**

# 対処法
Homebrewでpython-tkをインストールします。

“`bash
brew install python-tk
“`

再度pyenvでPython 3.12.1をインストールします。今度は成功しました。

“`bash
$ pyenv install 3.12.1
python-build: use openssl@3 from homebrew
python-build: use readline from homebrew
Downloading Python-3.12.1.tar.xz…
-> https://www.python.org/ftp/python/3.12

元記事を表示

OTHERカテゴリの最新記事