from os import remove from os.path import exists # 選択肢1 if exists('test.txt'): remove('test.txt') # 選択肢2 try: remove('test.txt') except FileNotFoundError: print('File Not Found')
![[Pythonクイズ]if文 vs. try文、ファイル削除で“Python風”なのは? あなたはドッチ派?](https://cdn-ak-scissors.b.st-hatena.com/image/square/06d7db839ade60594cac32980fb11a7cbf071301/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fait%2Farticles%2F2507%2F22%2Fcover_news019.jpg)
mixedbread-ai/ Alibaba-NLP / OpenAI GPTによるリランキング【実装サンプル付き】 はじめに RAGをはじめとする現代の情報検索システムでは、「リランカー(Reranker)」と呼ばれる仕組みが使われることがあります。 検索候補を単にキーワードマッチやベクトル検索でピックアップするだけでなく、さらに高精度なモデル(=リランカー)で再スコアリング(再ランキング)することで、ユーザーが本当に求めている情報を上位に表示できます。 本記事では、筆者が実際に業務中の検証作業で利用した次の3つのモデル: mixedbread-ai/mxbai-rerank-v2 Alibaba-NLP/gte-multilingual OpenAIのGPT(Chatモデルをリランカーとして活用) を題材に、特徴や実装例を紹介します。 mixedbread-ai/ Alibaba-NL
Claude Codeで開発していると、こんな問題に遭遇しませんか? CLAUDE.mdに「uvを使って」や「uvの具体的な環境構築ガイド」を書いても、ルールを無視してpipを使われてしまう 仮想環境をアクティベートするのを忘れ、Python実行でエラーが頻発する。そして別のActivateされていた環境が汚される 長いやり取りの途中で、AIがプロジェクトのルールを忘れてしまう CLAUDE.mdに詳細な環境構築手順やuvパッケージマネージャーの使用を記載していても、Claude Codeが一貫してそのルールを守ってくれることはなかったです。 しかし、Claude Code Hooksを使うことで、指示忘れの問題を解決できました! この記事では、実際にPython環境のパッケージマネージャーを強制的にuvに統一するためのHooksスクリプトを公開し、Hooksのメリット等を解説します。 例
オープンソースの音声認識モデルのWhisperを使うと、手軽に高品質な音声認識(文字起こし)が可能となる。今回は、Whisperを利用して簡単に使えるリアルタイム音声認識ツールを作ってみよう。 リアルタイム音声認識ツールを実行しているところ 音声認識モデルのWhisperとは 「Whisper」は、ChatGPTで有名なOpenAIが公開しているオープンソースの音声認識モデルだ。高精度な音声認識モデルで、英語だけでなく日本語を含めた多言語の音声をテキストに変換できる。ノイズの多い環境でも高い認識精度を誇り、議事録作成や字幕生成、自動文字起こしなどに活用されている。 Pythonから簡単に扱える点も魅力で、柔軟な応用が可能となっている。そこで、今回は、Pythonでリアルタイムの音声認識ツールを作ってみよう。 音声認識モデルのWhisperを公開しているWebサイト 音声認識に使うライブラリ
uvとは何か、なぜ今注目されているのか 従来のPython環境構築の問題点 Pythonの環境構築には、長年にわたって解決されない問題がありました。まず速度の問題として、pip installが遅く、依存関係解決に時間がかかります。特にcondaは、環境解決に数分かかることも珍しくありません。 次に再現性の問題として、環境差異でエラーが発生し、バージョン固定が面倒です。pipとcondaを混在させると、さらに複雑な問題が発生することもあります。 さらに管理の複雑さとして、venv、pyenv、pipenv、conda、Anacondaなど、ツールが乱立し、どれを使うべきか迷ってしまいます。activateを忘れるといった問題も頻発します。 Python環境管理ツールの変遷 ここで、Python環境管理ツールの歴史を振り返ってみましょう。 2007年頃 - virtualenvの登場。初めて
【問題】 以下は3つのリストa、b、cを1つのリストにまとめようとするコードだ。ただし、1から4のコードの中で例外を発生させるものがある。例外を発生させるコードを全て選択せよ(上の画像とは変数a、b、cへの代入が1行と3行の差があるが、振る舞いは同じなので気にしないでほしい)。 from itertools import chain a = [0, 1, 2] b = [3, 4, 5] c = [6, 7, 8] # 選択肢1 result = a + b + c # 選択肢2 result = a.extend(b.extend(c)) # 選択肢3 result = list(chain(a, b, c)) # 選択肢4 result = sum([a, b, c], [])
私は現場でAWS CloudWatch に出力されるエラーログの定期的な確認と集計を担当しています。 手動でのログ確認は手間がかかるので、作業を効率化するためにCloudWatch Logs InsightsでエクスポートしたJSONを元に、エラー内容と発生箇所(path)ごとにログをグループ化し、件数を集計する Pythonスクリプトを作成しました。 ログ分析を効率化したい方の参考になれば幸いです! 準備 まずは CloudWatch Logs Insights を使って、必要なログを検索します。 ロググループを選択し、クエリを実行した後に、右上の 「結果をエクスポート」ボタンをクリック → 「テーブルをダウンロード(JSON)」を選択 すると、検索結果を JSON 形式でエクスポートできます。 保存されたファイルは通常 logs-insights-results.json というファイ
追記 pip 9.0.0 2系とのお別れの日が近づいている 更新点一覧 所感 追記 2016/11/08 訳されていなかった文章を訳しました。(pip downloadの追加オプションについての項) pip 9.0.0 pyenvで新しい仮想環境作ってpip使った時に教えてくれました。 興味あったしどういう変更があったか調べました。 2系とのお別れの日が近づいている [Distutils] Released: pip v9.0.0 どうやら9.x系がPython2.6に対応する最後のバージョンになるらしいです。 The 9.x series will be the last pip versions to support Python 2.6. 更新点一覧 Release Notes — pip 9.0.1 documentation このバージョンより前には後方互換性がなくなります。 自
PSSH ( Pararell-ssh ) は、Linux 上で複数のサーバに対して同時に SSH ログインし、コマンドを実行するだけのシンプルなツール。様々なデプロイ用のツールがある中で、古くから、純粋にコマンドを叩くことに特化しているツールが pssh 。シンプルながら、必要十分な機能を備えています。Verion 2.x 系の情報はまとまっていないようなので、自分のメモがてら、簡単なセットアップ方法と、簡易チュートリアルを掲載しました。 ■ PSSH とは何ぞ? PSSH は Parerll-ssh (並列 ssh) の名前の通り、複数のサーバに対して同時に ssh を走らせることが出来るツールです。例えば、手許に複数のサーバがあるとして、同時に uptime コマンドを走らせたい時や、十数台の httpd.conf を一斉に書き換えて apache 再起動することも、手軽です。 PS
Flask 0.11 がリリースされた。 Flask 0.11 Released | The Pallets Projects # ちなみにどうでもいいけど、Flask のコードネームは酒の名前 後方互換がいくつかなくなってるので、まとめてみる。 # 漏れがあったら追記する予定 とりあえず自分のプロジェクト生成ツールで作成した Flask project を起動して試してみただけ。 flask.ext.* が非推奨に /tmp/virtualenvs/flask_011/lib/python3.5/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.cache is deprecated, use flask_cache instead. .format(x=modname), ExtD
Ansible には標準で多数のモジュールが用意されているけど、オリジナルのモジュールを自作することもできて、その方法は公式ドキュメントに詳しく書かれている。 http://docs.ansible.com/ansible/developing_modules.html モジュールは基本的に実行ファイルとして作ることになるが、パラメータの入力と結果の出力の仕方には幾つか異なるやり方がある。 これは、Ansible のバージョン毎にやり方がそれぞれ違っていてややこしい。 特に、これからリリースされる予定の v2.0 系では、これまで一般的だった引数でパラメータの内容が書かれたファイルをやり取りする方法がどうやら使えなくなるようで混迷が深まりそうな雰囲気だ。 ただ、Python が書ける場合には上記をさほど悲観する必要はない。 Python のユーティリティ API を使ってモジュールを書いて
CentOS に pyenv をインストールする方法をまとめました。ここでは使用方法については触れていません。 pyenvのインストール yyuu/pyenv · GitHub 初めに依存ライブラリのインストールをします。 # yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel Common build problems · yyuu/pyenv Wiki · GitHub Git がインストールされてない場合はしてください。また、大体入ってると思いますが G++ コンパイラも必要になると思うのでインストールしておきます。 # yum install git gcc-c++ CentOSに最新版のGitをインストール・アップデートする方法 - TASK NOTES
pythonのpropertyについて頭を整理しようと思ったのでまとめてみる。 agenda propertyって何? 困ったこと(propertyって読み込み専用の属性を定義するための機能なの?) propertyの使い方 propertyの利用例 getterを定義する場合 setterを定義する場合 deleterを定義する場合 まとめ と書く予定だったけれど、途中で力尽きてしまった。利用例をまったく書いていない。でも、propertyとは何かということについて分かれば、利用例なんてすぐに思いつけると思う。 propertyって何? pythonで自分で定義したオブジェクトに、独自のアクセサを持った属性を追加できる機能のこと。 アクセサというのは、オブジェクトの状態に触るために用意された機能のこと。 具体的には、状態の取得、状態の設定(更新)、状態の削除の機能を持つものを指すことが多
B! 20 0 0 0 Pythonでcallbackを使う時に引数を取り扱う方法について。 Pythonでcallback callbackに引数を渡す callbackへ渡す引数に変数を使う時の注意 Pythonでcallback Pythonでcallbackを使う方法として最も簡単な形としては以下の様な感じ。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 >>> class CallbackExecutor(): ... ... def __init__(self, callback): ... self.callback = callback ... ... def execute(self): ... self.callback('execute') ... ... def echo(v): ... print 'echo: %s' % v ... >>>
I am trying to run a program to make some system calls inside Python code using subprocess.call() which throws the following error: Traceback (most recent call last): File "<console>", line 1, in <module> File "/usr/lib/python2.7/subprocess.py", line 493, in call return Popen(*popenargs, **kwargs).wait() File "/usr/lib/python2.7/subprocess.py", line 679, in __init__ errread, errwrite) File "/usr/l
いきなり 3 系に移行するのはちょっと心配…という場合、まず2 系 + __future__ モジュールを使うのが良さそう。__future__ モジュールは Python 2 系用のモジュール。Python 3 系に実装されている Python 2 系 と互換性の無い機能をPython 2 系で使用できるようにする。 以下、__future__ モジュールに実装されている機能を利用しつつ、Python 3 系での大きな変更点を確認してゆく。 print_function 3系では print は文から関数 print()になった。また予約語からも削除された。 >>> from __future__ import print_function from __future__ import print_function >>> print('abc') print('abc') abc >>
はじめに 研究室に配属されて以来Emacsを使い続けて,そろそろ3年になる.研究室のPCもそろそろ返却しないといけないので,自宅のPCにEmacsをインストールしつつ,今やってる設定をまとめてみようと思う.3年使っているけれど,lispはさっぱりなので,色々な方のブログ等を頼りに.だいたいはコピペしているだけなので,参考元のページを参照してほしい.使っている言語はpython,C++,TeXが主なので,そのあたりの設定だけしかしていない. 環境 GNU Emacs 24.4.1 Ubuntu 14.04 LTS Mac OSX 10.9.5 Emacs24.4は普通にやると入らなかった覚えがある.特にMacは,こちらをみてパッチを当てるなどした. [追記] 1年たって、helmを導入したり色々変わった。 特にpythonの設定について、こっちに書きなおした。 ksknw.hatenablo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く