- 1. [ABC375] ABC 375(Atcoder Beginner Contest)のA~D,F(A,B,C,D,F)問題をPythonで解説(復習)
- 2. Mac 上の Python で unable to get local issuer certificate エラーが出る
- 3. レンタルサーバー(Xserver)でFastAPIを動かす
- 4. GoogleCloudのSpeech-to-Textを動かしてみる
- 5. StreamlitでOpenAI APIキーを安全に設定する方法
- 6. Cython(Cpythnon)で出力されるライブラリ(ファイル)を1つにする
- 7. Module ‘cv2’ has no ‘****’ memberとpylintちゃんに叱られる!
- 8. 効率の良いディスカッションとは?
- 9. paizaラーニング問題集「【条件判定 2】視力検査」を解いてみた
- 10. paizaラーニング問題集「【条件判定 1】郵便料金」を解いてみた
- 11. 🔰AIエンジニアに必要なスキル
- 12. Python リスト内包表記とは
- 13. いつの間にかPythonが軟派な言語ではなくなっていた~ロバストPython~
- 14. ポモドーロタイマーを作成しました
- 15. Pythonで簡単に実装するブラックホール連星Cygnus X-1の軌道位相計算
- 16. AI技術を支える数学
- 17. AI屋さんの LLMに200万トークン全文入力と「ずんだもん」とサーバーレスと私 実践編
- 18. Google Cloud SDKの認証情報を安全に管理する
- 19. ぷよぷよsteam版でAIを動かしたい
- 20. OpenAI Swarm : トリアージエージェントの実装
[ABC375] ABC 375(Atcoder Beginner Contest)のA~D,F(A,B,C,D,F)問題をPythonで解説(復習)
# [ABC375] ABC 375(Atcoder Beginner Contest)のA~D,F(A,B,C,D,F)問題をPythonで解説(復習)
# A問題
– 席が両隣座っていて,真ん中は空いているケースを隈なく探す.
– `index(0-indexed)` は `1~N-1` にみれば良い.
“`A.py
“””
<方針>
– 席が両隣座っていて,真ん中は空いているケースを隈なく探す.
– `index(0-indexed)` は `1~N-1` にみれば良い.
“””
# 入力
N = int(input())
S = input()ans = 0
# 1~N-1をシミュレーションする.
for i in range(1, N-1):
# 両隣が座っていて,真ん中が空いているケース
if(S[i-1] == S[i+1] == “#” and S[i] == “.”):
ans += 1
# 出力
print(ans)
“`# B問題
– 高橋くんを実際に歩かせてみよう!!“`B.py
“””
<方針>
– 高橋くんを実際に歩かせて
Mac 上の Python で unable to get local issuer certificate エラーが出る
検索して色々試したけど以下で解決した
“`
ln -s /etc/ssl/* /Library/Frameworks/Python.framework/Versions/3.12/etc/openssl
“`
レンタルサーバー(Xserver)でFastAPIを動かす
# はじめに
今までWordpressを使うことが多く
そうなるとサーバーに関してもクラウドではなく
レンタルサーバーを利用してきました。
今回のそのいつも使っているレンタルサーバーで
FastAPIを使って作ってみたいアプリがあり
とりあえず動くところまでできたのでその備忘録です。## Xserverに関して
XserverではWSGIは使用することができず
CGIもしくはFaskCGIでPythonのWebアプリを動作させることができます。
ただ、Xserverに導入されているPythonは追加でモジュールをインストールできない
(pipが使えない)ため、ssh接続を行いminiconda等を用いて
仮想環境の作成が必要です。
その辺りはいくつも分かりやすい記事があったので
そちらで確認できます。
例として以下の記事はすごく分かりやすくてよかったです## アプリを作成したいディレクトリに移動
Xserverではssh接続をしたとき
ルートディレクトリにいるのでそこから公開できる
ディレクトに移動する必要
GoogleCloudのSpeech-to-Textを動かしてみる
:::note warn
この記事は2024年6月7日に弊社ブログにて公開されたものを移植したものです。
古い情報が含まれている可能性がありますのでご注意ください。
:::
本記事ではGoogle Cloud のSpeech-to-Textを、GoogleColaboratoryで実行します。基本動作をさせた後、モデル適応機能も使ってみます。Speech-to-TextのAPIをPythonで叩いてみたい方や、追加機能を試したい方は是非ご覧ください。## Speech-to-Textを始める前に
Google CloudのSpeech-to-Textを利用するにはGoogleアカウントが必要です。また新規でSpeech-to-Text V1 APIを利用する際、[無料クレジット $300 分と 1 か月あたり 60 分間まで](https://cloud.google.com/speech-to-text/?utm_source=google&utm_medium=cpc&utm_campaign=japac-JP-all-ja-dr-BKWS-all-pkws-trial-PHR
StreamlitでOpenAI APIキーを安全に設定する方法
## はじめに
Streamlitは、インタラクティブなウェブアプリケーションを簡単に作成できる便利なフレームワークです。APIを使ったプロジェクトでシークレットキー(APIキーなど)を使用することが多いですが、GitHubにコードを公開する際、シークレットキーを誤ってハードコーディングしてしまうと非常に危険です。
この記事では、**OpenAIのAPIキーをStreamlitで設定し、GitHubのパブリックリポジトリでも安全にプロジェクトを管理する方法**を解説します。## Step 1: OpenAIのAPIキーを取得
まず、OpenAIのサイトからAPIキーを取得します。OpenAIのAPIを利用するにはアカウントを作成し、APIキーを生成する必要があります。1. OpenAIにサインアップまたはログイン
1. [APIキーのページ](https://platform.openai.com/api-keys)にアクセスし、新しいキーを生成
1. 生成されたAPIキーをコピー## Step 2: `.streamlit/secrets.toml` ファイルでAPIキー
Cython(Cpythnon)で出力されるライブラリ(ファイル)を1つにする
# 経緯
pythonの自作SDKを配布する必要があり、出来るだけ配布物をシンプルにする必要があった。
普通にCythonでコンパイルすると、作成したファイル1つずつバイナリが吐き出されてしまい配布しづらかった。# どうやったか
下記setup.pyを使ってコンパイル実行
※Mac用なのでWinでコンパイルする場合はWin用のsetup.pyが必要になります。必要ならLLMに聞いてください。“`
from setuptools import setup, Extension
from Cython.Build import cythonizeext_modules = [
Extension(
“hogehoge”, # モジュール名
[ # 対象ファイル群
“lib/hogehoge.pyx”,
“lib/piyopiyo.pyx”,
“lib/piyopiyo_data.pyx”,
“lib/fugafuga.pyx”,
Module ‘cv2’ has no ‘****’ memberとpylintちゃんに叱られる!
# AIちゃんとのお話
俺「AIちゃん、なんかVSCodeで警告が出てるんだけど」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423236/2e17ac95-50fd-4a70-7a6b-257b46efaab9.png)
AI「パッケージインストールしてないだけなんじゃねーの?」
俺「いや流石に頭の悪い僕でもそれはないと思うんだけど」
AI「一人称が安定しない奴は信用できないvenvに入れ」
俺「あるっぽいよpylintちゃんだけが情緒不安定で激おこぷんぷん丸だけっぽい、ぽい、ぽい」
AI「そしたらこんな感じで書けばいいんじゃね?」
“`
asset = cv2.imread(asset_path) # noqa
“`
俺「いやーこんな感じでめっちゃ怒られてるんだよ、一々そんなの書くのめんどくさくない?」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423236/56662
効率の良いディスカッションとは?
**発表会手順書**
今回、教室でおこなっているチームでのディスカッションの流れなどを共有します。
### 1. 発表会の概要
– **実施日**:毎週水曜日と金曜日
– **時間**:発表時間はチームごとにフィードバックを含めて1人5分程度
– **形式**:3〜4人のチームで発表を行う### 2. 発表会の目的
– **理解を深めること**:学んだことを他の人に説明することで、自分の理解を深めること。
– **コミュニケーションスキルの向上**:技術的な内容を簡単で分かりやすく説明する力をつけること。
– **チームワークの強化**:チームでの発表を通じて、お互いに協力することの大切さを学び、連携を深めること。### 3. 発表内容
各チームメンバーは次の内容に沿って発表を行います:
– **学んだこと**:その週に学んだ内容を簡単にまとめること。
– **活用例**:学んだことがどのように役立つか、どんなふうに使えるかを具体的に説明すること。
– **難しかったこと**:学んでいて難しいと感じたことを共有し、その解決方法を説明すること。
– **質問やフィード
paizaラーニング問題集「【条件判定 2】視力検査」を解いてみた
https://paiza.jp/works/mondai/b_rank_new_level_up_problems/b_rank_new_level_up_problems__vision_test
▼考え方
ポイントになる考え方1.~2.を以下に示します。
1.テストの結果はすべて、辞書TJを用いて管理します。keyはテストの記号(TA,TB,TC,TD)で、valueはリスト形式です。valueの1要素目はテストの成功回数、2要素目はテストの失敗回数、3要素目はテストに合格ならば1とします。いずれの要素も初期値は0です。以下に例を示します。
例1)テストTAを初めて実施し結果が成功だった場合、以下のkey,valueをTJに追加します。
TJ[“TA”] = [1,0,0]例2)テストTAを初めて実施し結果が失敗だった場合、以下のkey,valueをTJに追加します。
TJ[“TA”] = [0,1,0]例3)2回目のテストTAに失敗した場合、すでに存在するkey:”TA”のvalueの2要素目を更新します。
TJ[“TA”] = [<任意>,2,0]例4)テ
paizaラーニング問題集「【条件判定 1】郵便料金」を解いてみた
https://paiza.jp/works/mondai/b_rank_new_level_up_problems/b_rank_new_level_up_problems__posting_fee
▼考え方
題意の通りコードを書けば問題ないと思います。
1.縦と横の長い方の長さを判定するために、max(y,x)を使用しました。
2.縦と横と高さのうち最も長いものを判定するために、max(y,x,h)を使用しました。
▼コード
“`py
########## 処理0(準備) インプット,リスト定義 ###########y,x,h = map(int,input().split())
l_1,l_2,l_3,l_4,l_5 = map(int,input().split())
m_1,m_2,m_3,m_4,m_5,m_6 = map(int,input().split())
########## 処理1 郵便料金を求め、出力する処理 ###########
if h <= l_1: # 考え方1. if max(y,x) <= l_2:
🔰AIエンジニアに必要なスキル
# はじめに
AIは現在、技術業界で最も注目されている分野の一つです。データエンジニアリングと同様に、AIエンジニアリングもAI製品の需要が高まるにつれて人気が高まっています。しかし、AIエンジニアになるためには、どのようなスキルとツールが必要なのでしょうか?
この記事では、AIエンジニアが知っておくべき必須のスキルとツールについて解説します。# AIエンジニアとは?
AIエンジニアとは、AIシステムやアプリケーションを構築、保守、最適化する専門家のことです。AIエンジニアは、ソフトウェア開発と機械学習を統合し、人間のようなタスクを遂行するインテリジェントシステムを構築します。予測モデルの設計や自律システムの開発には、理論的な知識だけでなく、実世界の問題に適用できる実践的なスキルも必要です。# プログラミングの知識
AIエンジニアにとって強力なプログラミングの知識は必須です。特に、以下の主要なプログラミング言語に精通していることが重要です。### Python
Pythonは、TensorFlowやPyTorchといった動的ライブラリが充実しており、AIモデルのトレーニング
Python リスト内包表記とは
## 問題の発生
いままで、「リストの内包表記って結局、forやらifが続いているコードをちぢめただけでしょ?学ぶのはあとでいいや」と敬遠してきた。しかし、プログラミングやpythonの学習で自作のプログラムを組んでいくと、コードがだらだらと長くなってしまい、あとから見返すと自分ですらわかりにくいことがあった。そこで、もっと簡潔にわかりやすく書きたいと感じるようになったので学習してみることにした。## 基本的な形
### for文でリストに格納する
“`python
my_list = [変数 for 変数 in 繰り返すもの]
“`
例)
“`python
my_list = [i for i in range(5)]
print(list)#結果
#[0, 1, 2, 3, 4]
“`### forとif
条件に一致するものだけリストに格納される
“`python
my_list = [変数 for 変数 in 繰り返すもの if 条件]
“`
例)
“`python
my_list = [i for i in range(5) if i % 2 == 0
いつの間にかPythonが軟派な言語ではなくなっていた~ロバストPython~
こんにちは NSS江口 です。
最近事業部内の勉強会グループで [ロバストPython](https://www.oreilly.co.jp/books/9784814400171/) の読書会を行っております。# Pythonの思い出
私がPythonを一番ヘビーに利用していたのは、5年前くらいにサーバレスアプリケーションを構築していた時でした。その時のPythonのバージョンは**3.6**だったと思います。
私は金融システムに携わる人間で、ファーストチョイスは何かとJavaでしたが、当時利用していた AWS Lambda ではJavaを利用するとクラスロードにかかる初回起動のオーバーヘッドがバカにならず、軽量に利用できるということでPythonを選択したとかだったと思います。なお、Javaの記事も書いておりますので、参考までに。* [Javaのいいところ](https://qiita.com/NSS_FS_ENG/items/4bc1b17080bd82ace104)
* [JITコンパイラ](https://qiita.com/NSS_FS_ENG/items/c9b
ポモドーロタイマーを作成しました
今まで使っていたios版ポモドーロタイマーに不満があったので自分で作ってみました。
下のzipファイルを解凍してご使用ください。m(_ _”m)ポモドーロテクニックを使って素敵な勉強ライフを!🍅
https://github.com/shouzou-nozaki/PomodoroTimer/tree/main/app
Pythonで簡単に実装するブラックホール連星Cygnus X-1の軌道位相計算
# はじめに
連星系の軌道位相の計算は重要です。この記事では、ブラックホール連星 はくちょう座 X-1 (Cygnus X-1)の計算方法を例にとって、簡単に実行できるPythonのコードも紹介しておきます。
:::note warn
軌道位相を計算する際、**時間の単位を揃えること**が非常に重要です。例えば、MJD(修正ユリウス日)を使う場合は、すべての計算をMJDで統一しましょう。
:::## Cyg X-1 の軌道情報
参考にする文献は [Brocksopp et al. (1999b)](https://ui.adsabs.harvard.edu/abs/1999A%26A…343..861B/abstract) です。この文献では以下の値が使用されています:
– **軌道周期 (Porb)**: 5.599829 ± 0.000016 日
– **基準時刻 (T0)**: 41874.207 ± 0.009 MJD(O型星が inferior conjunction のとき)https://ui.adsabs.harvard.edu/abs/1999A%
AI技術を支える数学
“`
import re
from bs4 import BeautifulSoup
import MeCab
from sklearn.feature_extraction.text import CountVectorizer# 1. HTMLタグを削除し、不要なスペースを除去する関数
def clean_text(text):
# BeautifulSoupを使ってHTMLタグを削除
text = BeautifulSoup(text, “html.parser”).get_text()
# 正規表現を使って不要なスペースを削除
text = re.sub(r’\s+’, ‘ ‘, text).strip()
return text# 2. MeCabを用いて日本語テキストを単語に分割
def tokenize_with_mecab(text):
mecab = MeCab.Tagger(‘-Owakati’)
# MeCabで形態素解析し、単語に分割された文字列を返す
tokenized_text
AI屋さんの LLMに200万トークン全文入力と「ずんだもん」とサーバーレスと私 実践編
AI屋さんの LLMに200万トークン全文入力と「ずんだもん」とサーバーレスと私 実践編
LLMとvoicevoxとstreamlitとdockerとcloud runで
LLMに200万トークン全文入力 追加学習ずみの専門分野特化のLLMの作り方完成イメージ
お喋り ずんだもん先生 の「吾輩は猫」なのだ。https://zunda-ghc4uieygq-an.a.run.app
https://
zunda-ghc4uieygq-an.a.run.appずんだもん先生 のためにvoicevoxのサーバーを サーバーレスに dockerイメージをデプロイしてみましょう。
簡単です。dockerイメージを指定してあげます。
ポートは 50021 です。
メモリは 2ギガ以上 推奨です。![スクリーンショット 2024-10-13 21.55.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/237930/7dbb9924-116c-67f8-2030-755d52cd23c
Google Cloud SDKの認証情報を安全に管理する
# はじめに
ある現場で私はBigQueryを中心としたデータ集計基盤を設計・構築することになったのですが、その現場ではISMSの取得に向けてセキュリティ要件が強化され、安全な認証情報の管理を求められることになりました。この記事ではそんな現場の設計・構築の中で学んだGoogle Cloudにおける認証情報の管理に関する知見をまとめてみようと思います。
# 前提知識
なお、記事の内容を認証情報の管理に絞り込むため、この記事の読者は少なくとも以下の概念を理解されている方を対象とさせてください。
### プロジェクトとリソース
AWSなどのクラウドサービスではアカウントの配下にRedshiftなどのリソースが置かれますが、Google Cloudではプロジェクトの配下にBigQueryなどのリソースが作成・管理されます。
これはGoogle Cloudの大きな特徴の1つのため、この世界観を飲み込めていない方は記事の内容についていくのが難しい可能性があります…
### リソースとCloud IAM
Google Cloudではプロジェクトの配下にリソースが置かれ、そのリ
ぷよぷよsteam版でAIを動かしたい
![スクリーンショット 2024-10-09 22.05.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3900427/8ce41d48-9b49-f992-e0a7-e85bd2cf3976.png)
![puyopuyo.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3900427/1fdf8221-96c5-fcfa-3a52-383422a6fdc3.gif)
ぷよぷよプログラミングAI学習システムは、中高生の自己調整学習に向けて開発されました。
どうやって、Chromebookで、10分で、素敵な人工知能を作れるのでしょうか?
秘密は、3つ。
1 jupyter liteで、webクライアントがpythonコードを実行
2 超軽量な機械学習フレームワークdezeroを採用
3 ぷよぷよのstageとactionがコンパクトama氏のように、ぷよぷよeスポーツsteam版で作ったAIが
OpenAI Swarm : トリアージエージェントの実装
このプロジェクトは、ユーザーの入力を適切なエージェントに振り分けるトリアージエージェントを含むSwarmの実装例です。主に3つのエージェント(トリアージ、販売、返金)が相互に連携して動作します。
https://hamaruki.com/swarm-experimental-sample/
## プロジェクトの構成
プロジェクトは以下のファイルで構成されています:
1. `agents.py`: エージェントとその機能を定義
2. `evals.py`: テストケースと評価関数を定義
3. `evals_util.py`: LLMを使用した会話評価のユーティリティ関数
4. `run.py`: メインのデモループを実行## 主要なコードの解説
### agents.py
このファイルでは、トリアージ、販売、返金の各エージェントとその機能を定義しています。
“`python
from swarm import Agent
from loguru import logger# エージェントの定義
triage_agent = Agent(
name=”トリア