nikkie-ftnextの日記

イベントレポートや読書メモを発信

2025-01-01から1年間の記事一覧

Google AIのGemini APIで出力をJSON形式で構造化するには(google-generativeai、google-genai)

LLM

はじめに メダリスト「一番上手になりたい」、泣いた nikkieです。 OpenAIのGPTではおなじみのJSON形式出力1。 「Geminiでどうやるんだろう」と手を動かしました。 今回はGoogle AI篇です(Vertex AIは登場しません)2 目次 はじめに 目次 ドキュメントより …

HatchでPythonプロジェクト開発体験記(テスト篇)

はじめに 東ルビ、ありがとうございました!1 nikkieです。 先日emi-reをリリースしました。 この開発でHatchを使っての雑感を綴ります。 今回はテストに関するものになります 目次 はじめに 目次 HatchでPythonプロジェクト開発 Hatchでテスト実行 ランダム…

Pythonライブラリ MainContentExtractor で、HTMLからメイン部分を取り出す(マークダウン変換もサポート!)

はじめに こんなに寒いのにもう8月か〜、nikkieです。 Today(※最近) I learned な小ネタです。 目次 はじめに 目次 MainContentExtractorでHTMLからメインの部分を取り出す 知ったきっかけ MainContentExtractorのドキュメントより 似たツール 終わりに Ma…

GoogleのGeminiの叩きかた 〜2つのAPI・3つのSDK〜

LLM

はじめに あんた、またSDK増やして! nikkieです。 Google製のLLM、Geminiについて、整理のために知っていることを書き出します 目次 はじめに 目次 APIは2つのサービスで提供される 3つの公式SDK google-generativeai(Google AI向け) google-cloud-aiplat…

nikkieが数年前から購読しているPythonのメルマガ📚

はじめに 母上「あんた、"積んでる"の間違いでしょ」 ちょ、勝手に出ていかないで! (言い合う声) ...nikkieです。 数年前から購読しているPythonのメルマガについて1本書きます。 目次 はじめに 目次 きっかけの質問:あなたのPython情報収集はどこから?…

Rustプログラムから作ったバイナリは、maturinでPythonパッケージにできる!!

はじめに 君はヒーローになれる nikkieです。 最近 I Learned です。 興奮覚めやりません! 目次 はじめに 目次 maturinのチュートリアル Rustプログラムから作ったバイナリを、maturinでPythonパッケージにする! bindingsとしてバイナリを指定 終わりに ma…

Microsoft製OSS Prompt flowをローカルで動かし、GoogleのGeminiのOpenAI互換エンドポイントにリクエストを送る

LLM

はじめに 人の夢は!!!終わらねェ!!!! nikkieです。 Prompt flowはAzure発なのでGeminiはサポートしていないのですが、触っている中で「私が知ってる範囲の情報を組み合わせたらできるよな?」と思っちゃったので手を動かしました。 内容が内容なので、後日Mi…

Prompt flowをローカルで動かす 〜OpenAIのGPTにリクエスト〜

LLM

はじめに スタロー1〜3幕リリイベ、ありがとうございました! nikkieです。 世はまさに大LLM時代! 日々新しいツールがどんどん登場しています。 その中から(最近出てきたツールではないですが)MicrosoftによるPrompt flowを触りました。 目次 はじめに 目…

Flake8はどのようにしてF401「Module imported but unused」を指摘するんだろう?

はじめに メダリスト、めっちゃよかった、よく言った! nikkieです。 Flake8は(高速なRuffへの乗り換えが進んでいますが)歴史あるリンターです。 自分の知的好奇心を満たすためだけに、Flake8のリント機能の実装を覗きました。 目次 はじめに 目次 Flake8…

RuffはFlake8の全ての要素を含んでいる、のでしょうか?

はじめに 雛様言ったあああああ!!(今週のアオのハコ感想) nikkieです。 タイトルへの私の答え(2025年1月時点)は、否です。 RuffはFlake8の要素を全て含んでいません。 ただこの点はPythonコミュニティには膾炙しておらず、Ruffを高く評価する声が多い…

#エンジニアニメ で知った #ラーメン赤猫 、温かさが身体中にしみわたる至福の一杯

はじめに にゃー!! nikkieです。 年末年始休みのおともになったアニメ「ラーメン赤猫」についてです。 当エントリに技術要素はございません! 目次 はじめに 目次 ラーメン赤猫 温かさがしみわたる くぎゅうううううううううううううううううううう 終わり…

これまで出会った正規表現を集めたPythonライブラリ emi-re 0.1.0 を公開しました! #エミリー生誕祭2025

この記事は、エミリー・スチュアートちゃんのお誕生日を、怪文書ならぬ怪パッケージでお祝いするものです。 はじめに エミリー・スチュアートさん、お誕生日おめでとうございます! nikkieでしゅ これまでに出会った印象深い正規表現を集めたPythonライブラ…

PythonのAST(抽象構文木)をRustのプログラムからもdumpしたい!

はじめに 久石奏さん、お誕生日おめでとうございます。さいごのソリスト、胸を打つ... nikkieです。 RustでPythonのASTを扱う、小さな小さな一歩の素振りをしました。 目次 はじめに 目次 PythonでASTをdumpする rustpython-parser crate Ruffのリポジトリに…

browser-useをGeminiで動かすまで(langchain-google-genai 2.0.8がPyPIにリリースされるまでは暫定的にリポジトリからインストール)

LLM

はじめに 自分もまだ正月いけます! nikkieです。 注目されているbrowser-use。 リポジトリのREADMEにあるQuick startをGeminiを指定して動かしました。 https://github.com/browser-use/browser-use/tree/0.1.17?tab=readme-ov-file#quick-start 目次 はじ…

pydantic-settingsで作るCLI、LogfireでPydanticによるパース結果を収集できるじゃん!

はじめに さいごのソリスト、ううう...(ユーフォ3期一挙放送見た) nikkieです。 むふふ、すごいことに気づいちゃいました〜。 Pydantic社が構想するLogfire、こいつはやべーぞ! 目次 はじめに 目次 pydantic-settingsでCLIが作れる! Logfire pydantic-se…

python-build-standaloneのAstral社移管に思うこと

はじめに Astral、あんたまた管理するリポジトリ増やして!1 nikkieです。 Pythonコミュニティにとってよいニュースではあると思うのですが、(意見の偏りがあると自覚しつつも)私の目から見たAstral社にはモヤッとするポイントもあり、1本書くことにしまし…

Python環境構築DASH村。python-build-standaloneのおかげで、curlかwgetだけあれば余裕です✌️

はじめに 「「「「けど」」」」 nikkieです。 知的好奇心を満たすための手作り、再び開催です!1 ※これは学習用途なので、実際にはHatchやuvなどpython-build-standaloneを中で使っているツールを使ってください! 目次 はじめに 目次 python-build-standalo…

pydantic-settingsで環境変数からもオプション引数を指定できるCLIを作る 〜サブコマンド篇〜

はじめに 幕が上がる 瞬間が好き♪ nikkieです。 pydantic-settingsでCLIの素振りの続き、今回はサブコマンドまわりを触ります。 目次 はじめに 目次 pydantic-settingsでCLIが作れる! サブコマンド 終わりに pydantic-settingsでCLIが作れる! パースライブ…

え! PydanticのdataclassデコレータとBaseModel継承は同じ、じゃないんですか!?

はじめに 明けましておめでとうニョロ〜 nikkieです。 私はPydanticのdataclassesをBaseModelと同じ(つまり交換可能)だと誤解していました... 目次 はじめに 目次 きっかけ 結論:dataclassデコレータとBaseModel継承には違いがあります 1️⃣可変なデフォル…