白猫のメモ帳

C#とかJavaとかJavaScriptとかHTMLとか機械学習とか。

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

プロンプトの自動チューニングがしたい

こんばんは。 ようやく秋の気配がしてきましたね。 自分でチューニングしてほしい LLMを使っているとやはりプロンプトの書き方によって求める結果が得られるかどうかが大きく変わってくることがわかります。 もちろん自分で試行錯誤しながらチューニングする…

プロセスは成果に入りますか?

こんばんは。 遠足のおやつの金額制限って今もある文化なんでしょうか。 プロセスは大切なのか 「プロセスが大切か、成果が大切か」という議論はときどき見かけるような気がします。 どちらも重要な要素であり、だからこそ議論されるテーマであるとは思うの…

スキーマファイルで設定ファイルを管理しやすくする(JSON Schema / XML Schema)

こんばんは。 気がつけばいろいろな果物が並んでいて秋を感じます。さて、package.jsonなどの設定ファイルをVS Codeなどで編集していると補完が効いたり、エラーチェックをしてくれたりと便利です。 JSONでこの仕組みを提供しているのがJSON Schemaという機…

yieldのおさらい (C#/TypeScript)

こんばんは。 天気がすぐ変わるので、いつも傘を持っている気がします。 雨傘って風の方向に向ければ雨も風も防げますが、日傘は風の方向と日の方向が連動しないのでひっくり返しがちです。今回はyieldについて見ていこうと思います。 (いつも綴りが「yield…

レイヤードでヘキサゴナルでオニオンでクリーンなアーキテクチャ

こんばんは。 気がつけばもうすぐお盆ですね。 ずっと暑すぎて逆に季節感がおかしくなってきました。さて、アーキテクチャを考えるときによく話題に出てくるレイヤードアーキテクチャ、ヘキサゴナルアーキテクチャ、オニオンアーキテクチャ、クリーンアーキ…

GitHub Actionsのself-hosted runnersをDockerで作ってみる

こんばんは。 ずっと暑いですね。外に出ると溶けそうになります。さて、最近はCI/CDといえばGitHub Actionsが結構有力な選択肢ですが、そういえば自分で構築したことがなかったなと思って試してみます。 前半はポチポチ触っていますが、後半に最終的なDocker…

2024年上半期に読んだ本からおすすめを紹介

こんばんは。 気づけばもう6月も終わり、なんと1年の半分が終わってしまいました。この半年で読んだ本のうち、良かったものを簡単な感想とともに紹介します。 まとめてじゃなくて読むたびに書いた方がいいんだろうなと思ったり…せめて2か月くらいペースしよ…

Remix+Prisma+Storybookでお手軽Webアプリ

こんにちは。 まだ梅雨入りもしていないですが、そろそろ夏が来たって感じがしますね。さて、せっかくRemixのチュートリアルをやったので試しにWebアプリを作ってみます。 今回はORMとしてPrismaを、UIコンポーネントの確認ツールとしてStorybookを使います…

Remixのチュートリアルをやってみる

こんばんは。App Routerが出るくらいの頃からNext.jsをちらほら使っていたのですが、今回はRemixのチュートリアルをやります。 Next.jsがちょっと重たいなと思うのと(処理がではなくフレームワークの規模的に)、微妙に融通が効かないと思うことがあるので…

ベクトル検索に思う学びとの付き合い方

はじめに キーワード検索に替わる、もしくは補うセマンティック検索としてベクトル検索が登場してしばらく経ちますが、最近の生成AIの盛り上がり、特にRAGパターンの流行によってその知名度は一気に上がったように思います。あらゆる「モノ」「コト」が数値…

TSKaigi2024レポ

こんばんは。TSKaigi2024にオンライン参加したのでちょっとだけ感想を。 カンファレンス的なものの参加ってめちゃくちゃ久しぶりなのですが、イベント参加したら何か書けと偉い人も言ってる気がするので簡単な感想と聞きながら書いてたメモで。 変に矢印とか…

AIのビジネスアイデアを考えてもらおうぜAIに

こんばんは。 衣替えをしたんですが、そういえばスプリングコートとか一回も着ていないことに気付きました。日々生成AIの新しいモデルが公開されて群雄割拠の時代という感じですが、なんかすごいことができそうな気がする割にアイデアが思いつきません。 じ…

デフォルト引数があってもシグネチャが変わるから互換性はないよ

C#

こんばんは。 暑いです…四月なのに…。さて、すごく久しぶりにC#のネタです。 ライブラリってバージョンアップするよね C#のパッケージマネージャといえばNuGetですが、1.0.0のようにx.y.z形式でバージョニングします。 後方互換のないバージョンアップはメジ…

構造的型付けとValueObject

こんにちは。 急に春を通り越して夏なんですが、いったいどうしたんでしょうか。 桜はいつ見ればいいですか?さて、ちょっとコードを書いてて「ん?」ってなったので。 ValueObjectを作ろう オブジェクト指向ではValueObjectという概念がときどき使われます…

Facadeパターンはファサードなんだろうか

こんにちは。 ぼちぼち、新年度の足音が聞こえてきますね。さて、タイトルなんですが、前からずっともやもやしてることです。 別にFacadeパターンをやめろとか名前を変えろとかそういう話じゃないんですが、なんか自分の思うファサードとちょっと違うんだよ…

TypeScriptでLangChainを使ってみる その3 RAGパターン編

こんばんは。 最近Alexaの耳が遠くなってる気がするんですが、気のせいでしょうか。前回は検索編でしたが、今回は応用としてRAGパターン編です。 shironeko.hateblo.jp引き続きコードはGitHubにあるので良かったらご覧ください。 github.com データの収集と…

TypeScriptでLangChainを使ってみる その2 検索編

こんばんは。 無印で売り切れになってたカレンダーが復活してたので、買って帰ったら4月始まりでした。前回は基礎編でしたが、今回は検索編です。 shironeko.hateblo.jpRAGパターンもそうですが、結局どこかからデータを集めたりLLMに渡したりしないと独自デ…

未使用のラベル(unused label)と返ってこない値

こんにちは。 最近の太巻きはだんだん豪華になって太くなっていますが、切らずに無言で食べるにはもはや苦行なんじゃないかなと思います。さて、罠を踏んだので備忘録。 わかるひとはタイトル見たら「あー、あれね」ってわかりそう。 先に結論 おそらくこう…

TypeScriptでLangChainを使ってみる その1 基礎編

こんばんは。 リボンライトの接触がおかしくなって部屋の片隅が妖しく赤く光っています。私です。今回から何回かに渡ってLangChainを触っていこうかと思います。 LangChainはPython版とJavaScript(TypeScript)版があるのですが、Pythonの方が開発が先行し…

ChromaDB+Dockerでお手軽にベクトルDBを使ってみよう

こんばんは。 本が読みたいけど首が痛いです。 RAGが作りたい ChatGPTなどのLLMを利用して何かを作っているとRAG(Retrieval-Augmented Generation)という仕組みが作りたくなってきます。 RAGとは簡単に説明すると外部のデータを使ってLLMに情報を与えるパ…

GPT BuilderのプレイグラウンドでもGPT-4の利用制限にひっかかるよ

小ネタ。 タイトル以上の情報は特にないです。GPT Storeが今週中にリリースされるらしいですね。 せっかくなのでGPT Builderを使ってGPTsを作ってみようかなと思ったのですが、なかなかチューニングが難しいです。 で、プレイグラウンドで試しながら調整して…

あけました

こんばんは。新年最初の記事ということで、2023年を振り返ってみたり、2024年に思いを馳せたりしてみようかと思います。 思い付きで徒然と書いていく感じなのでまとまりはないですがご了承くださいませ。 寝ても覚めても生成AI 2023年はやはり何といってもCh…