サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
qiita.com/suzuki_sh
環境 Python 3.10 Streamlit 1.21.0 openai 0.27.4 Colab (Jupyter) Colabなどを用いてChatGPTのstream=Trueにした時にストリームで表示するにはいくつか方法が考えられますが、print(end='')などで連結しながら出力するのが手軽だと思います。 import openai completion = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "昔々あるところに"}], stream=True, ) for chunk in completion: next = chunk['choices'][0]['delta'].get('content', '') print(next,
GPT-3.5世代のオープンな言語モデルを調べてみました。 本稿では以下の特徴をもって「GPT-3.5世代」の言語モデルと定義しました。 ChatGPT等(text-davinci-003、gpt-3.5-turbo)の登場した2022年11月以降に登場 GPT-3と同様にテキスト生成ができる言語モデル GPT-3(text-davinci-003等)を主なベンチマークにしたり、学習に利用したりしている 「オープンな言語モデル」としていますが、本稿では以下いずれかを満たしていればオープンな言語モデルとします。一般的なオープンソース・ソフトウェアの定義等とは少し異なります。 学習済モデルが公開されている 学習データと学習用ソースコードが公開されており、学習済モデルの再現が可能である GPT-3.5世代のオープンな言語モデルの特徴 本稿で紹介するGPT-3.5世代のモデルには、以下のような特徴
BLEU は、正解テキスト(参照文、reference)と生成された文章(生成文、hypothesis)が、どれくらい一致しているかを示す値です。本来は機械翻訳の自動評価手法だと思いますが、文章生成系の様々なタスクで応用されています。 $$ \text{BLEU}=\text{BP}(\prod_{i=1}^{N}precision_i)^{1/N} $$ $precision_i$ にあたる部分は、$i$-Gramでの文章の一致割合になります。 たとえば「This is a pen」と「This is an apple」は、1gramで2/4一致、2gramで1/3一致なので、$precision_1=\frac{2}{4}$, $precision_2=\frac{1}{3}$です。 Nはよく4が用いられるようですので、1gramから4gramまでの$precision_i$を計算して
下記のようなスプレッドシートを読み込んで、 下記のように表示するようなNext.jsアプリを作ってみます。 環境 ChromeOS Crostini (Linux) Debian 10.10 Docker version 20.10.7 Next.js 11.0.1 GCPでサービスアカウントの準備 Node.jsでスプレッドシートに接続する方法はいくつかありますが、今回はGCPのサービスアカウントを使います。OAuth2等その他の方法については、google-api-nodejs-clientのドキュメントを読んでください。 下記手順でサービスアカウントを用意します。 GCPプロジェクトを作成 「APIとサービス」→「APIとサービスを有効化」→「Google Sheets API」を有効化 「サービスアカウント」→「サービスアカウントを作成」→適当な名前(next-spreadshee
概要 2021年3月下旬、Ruby on Railsの依存していたmimemagicの0.3.5以下がyank(削除)されました。そのため以前はbundle installができていたのに急にできなくなった、といった事が起こります。 Fetching gem metadata from https://rubygems.org/........ Your bundle is locked to mimemagic (0.3.5), but that version could not be found in any of the sources listed in your Gemfile. If you haven't changed sources, that means the author of mimemagic (0.3.5) has removed it. You'll ne
家にいてインターホンが鳴っても気付かない時があったので、インターホンが鳴ったらスマホ宛にプッシュ通知を飛ばすようにしました。賃貸住宅なので勝手にインターホンをハックしたりはできないので、工事等が不要な方法を使います。 概ね下記記事と同様にRaspberry PiでGroveの光センサーを使ってインターホンの画面が付くのを検知し、SlackのIncoming Webhookを叩きました。 環境 ハードウェア面 Raspberry Pi 4 Model B メモリ2GB OSインストール済SDカード同梱の物を購入 GrovePi+ Grove - Light Sensor Grove - LED 本来不要ですが、Grove自体の動作確認等のためにあったほうが便利です 特に私の場合「デジタル入出力のLEDは動くがアナログ入出力であるLight Sensorは動かない」という事象が起きたため、問題
Rubyの使い方をよく忘れるので、リハビリ用にRubyで簡単なWebアプリを作りました。また忘れた時のために、作る方法を書き残しておきます。 つくるのはNopochatというクソチャットアプリです。 投稿に「~も」というかわいらしい語尾が付くことで、言いづらい内容も心理的安全性を保ったまま送ることができる画期的なチャットですも。 なお本稿で紹介する内容はあくまでプログラムを書く練習のためのものであり、本番環境で運用することは想定していません。 環境 Dockerを利用します。Rubyのインストールは必要ありません。 Docker version 19.03.12 docker-compose version 1.26.2 Sinatraの立ち上げ まず適当なディレクトリを切って、開発を始めます。
Docker内Pythonで、JupyterやFlaskを使う開発環境の構築(VSCode/code-server両対応)PythonDockerVSCodeVisualStudioCodecode-server Pythonを少し使ってみようと思ったのですが、環境構築するために色々インストールするのは嫌でした。なのでDockerを使って環境を構築してみました。 インタラクティブな環境およびWebの両方を利用できて、VSCode(またはcode-server)で開発できる環境を目指します。特にVSCodeのPython拡張機能からDocker内Pythonで動作するJupyterへの接続にはハマる所がありましたので、環境構築手順を本稿にメモとして残します。 要件 CLIでPythonプログラムが実行できる Jupyterを利用して、インタラクティブにPythonが実行できる Flaskを利
ChromeOSでLinuxアプリが使える機能「Project Crostini」でLinuxの開発環境を構築したときの、セットアップの手順を記してます。 基本的に個人用のメモです。 Windows版は下記です: Windowsを購入したら最初にすること|s2terminal|note ASUS Chromebook Flip C436FA Core i7 / 16GB RAMモデル (C436FA-E10162) Intel Core i7-10510U ChromeOS Version 86.0 Debian 10.4 Google Pixelbookなど、AMDアーキテクチャで最近発売されたChromebookならば、本稿の手順はほぼ同様に適用できると思います。 一方、ASUS C101PA (OP1)やLenovo IdeaPad Duet (MediaTek Helio P60T
まず結論から書くと、下記の図のような事ができます。 上側に表示しているTypeScriptで書いたプログラムを、下側のPythonプログラムから実行している例です。 これは、jsiiというライブラリを使って、TypeScriptプログラムをPythonで実行可能なライブラリに変換しています。公式ドキュメントにthe magic happensと書いてあるとおり、魔法のような技術です。 jsiiはPythonの他にもJavaなどの言語で利用できますが、本稿ではTypeScriptで書いたプログラムをPythonで実行します。 実際にやってみましょう。 本稿の実行環境 TypeScript 3.6.4 Python 3.7.5 Node.js 13.1.0 jsiiを使ってみる jsiiは大まかに、下記のような流れで利用できます。 TypeScriptでプログラムを記述 jsiiを使って他言語
自分のプロジェクトで Code Climate を使ってみた時の話をします。 Code Climate とは? コードの品質とかを測れるサービス OSS なら無料で利用可能 使ってみた結果 私のコードに対して、下記のような指摘が来ました。 Function toCommandSections has 29 lines of code (exceeds 25 allowed). (toCommandSectionsメソッドが29行あるから、25行以下にしてくれ) About 1 hr to fix (1時間あれば直せる) こちらは分かりやすい指摘です。 ただ"1時間で直せる"とは誰がどういう見解で言っているのか納得行きません。 Function read has a Cognitive Complexity of 8 (exceeds 5 allowed). (readメソッドの Cogni
AutoML Tables を使うなら Google Cloud 公式ドキュメントのAutoML Tables 初心者向けガイドがとても親切なのでこれを読めば良いです。 ...が、適合率と再現率の詳細が解説へのリンク貼ってあるだけでちょっと突き放した感があるので、この辺について自分用に調べた時のメモです。 具体的には、↓この画面の見方についてです。 なお本稿のスクリーンショットにはAutoML Tables のクイックスタートにあるBank marketing Dataset の deposit の予測結果を使っています。実際に試してみると似たような結果が出ると思いますが、AutoMLは結果にブレがあるので必ずしもスクリーンショット通りの結果が出るとは限りません。 GCP AutoML Tablesとは何か 機械学習モデルをほとんど自動で作ってくれるクラウドサービスです。 「モデル」が何な
本稿ではDockerを使って、MySQLのレプリケーションを手軽に試すことができる環境を構築します。そしてレプリケーション遅延と不整合を実際に起こしてみて、どのような状態になるかを確認していきます。 具体的にはSHOW SLAVE STATUSクエリの下記の値を確認することで、レプリケーションの状態がどうなっているかを見ていきます。 Slave_IO_Running、Slave_SQL_Running Last_Error Seconds_Behind_Master ここ数年でクラウドサービスのフルマネージドデータベースが主流になってきており、そこでは特にレプリケーションの知識が無くても簡単にレプリカを作成することができます。手動でMySQLレプリケーションを構築しなければいけない機会は減ってきているかもしれません。しかし裏側で動いている仕組みを知っておくと、何かの役に立つかもしれません。
こんな感じになります。 Surface GoにUbuntuいれてみた。タッチパネルとかキーボードカバーとか普通にそのまま使える。 あまりに何事も無かったかのように動くのでちょっとびっくりしたんだけど、こういうのは対応していて当たり前な感じなのかな。ドライバの中身とか知らないからどういう事なのかあまり想像がつかない pic.twitter.com/IpBkgG4Mwy — s2terminal /suzuki.sh (@suzukiterminal) September 18, 2019 環境 Surface Go 128 GB / 8 GB RAM / WiFi モデル Windows 10 Home 1903 Ubuntu 18.04.3 LTS そのほか細かいものとして、インストール用メディアにUSBメモリが必要になります。 また、最初は無線LANに繋がらないため有線LAN接続用USB
Visual Studio Onlineで、ブラウザ上からVS Codeを使う【Public Preview】 2019年11月4日(米国時間)、Microsoft Ignite 2019にてVisual Studio Onlineがパブリックプレビューになりました。 Announcing Visual Studio Online Public Preview | Visual Studio Blog Just announced! Including a browser-based editor that’s powered by @code. https://t.co/5OvvEbKCXK — Visual Studio Code (@code) November 4, 2019 つまりこのように、ブラウザ上でVS Codeを使って開発をすることができます。 コード内容もエディタ設定も
なぜ脱 TSLint するのか いままで TypeScript の Linter として TSLint を使っていました。 ですが、TSLint は開発コミュニティが活発とはいえないことが以前から指摘されていました。 TSLint is dead - Klaus Meinhardt - Medium そんな中で、TSLint 開発チームは ESLint のプラグインとして TSLint の機能を統合していく typescript-eslint プロジェクトを開始し、TSLint は 2019年中に非推奨となる予定である ことが発表されました。 Roadmap: TSLint -> ESLint · Issue #4534 · palantir/tslint typescript-eslint/typescript-eslint: Monorepo for all the tooling w
Remote Development with Visual Studio Code という機能のプレビュー版がリリースされました。 VSCode公式リモート開発機能。 サーバにはSSHでアクセスするが、リモートサーバー上でVSCode拡張機能を動かすので、リモート上のソースコード静的解析とかが効く。VSCode本体とUI関連の拡張はローカルにあるので、エディタとしては軽快に動く、という事らしい。これ最強ではhttps://t.co/qFcDKBdmOE — s2terminal /suzuki.sh (@suzukiterminal) May 3, 2019 ※以下、本稿の内容は2019年5月3日現在 Insiders版 (要するにベータ版みたいなの)であり、通常バージョンのVSCodeでは動作しません。 VSCode Remote 機能の概要 ローカルマシンでは通常通り、VScode本
README内部のコマンドを読み込んで実行するツール「I Read U」で、READMEをメンテする習慣を作ったnpmTypeScriptアドベントカレンダー2018 この記事はTypeScript Advent Calendar 2018の7日目です。 作ったもの README.mdファイル内部に記載されたコマンドを読み込んで実行するツールです。 こんなふうに動きます。 経緯 READMEを書く習慣を作りたい とあるRuby on Rails(以下Rails)のプロジェクトを開発しようとした時の事でした。 Railsでは、必要なパッケージをインストールするbundle installや、データベーススキーマを適用するrails db:migrateといったコマンドを打ったあと、最終的にbundle exec rails serverというコマンドを実行すると、だいたいサーバが立ち上がりま
分析といえばRやPythonが有名ですが、JavaScriptにも統計解析に強いライブラリが無いか探していたところ、 SimpleStatisticsというものがありました。 https://simplestatistics.org/ GitHub: https://github.com/simple-statistics/simple-statistics Documents: https://simplestatistics.org/docs/ 分散や標準偏差といった記述統計、ベイズ分類器、線形回帰などが使えるようです。 .d.ts型定義が同梱されており、TypeScriptでそのまま使うことができます。 こちらを使って回帰分析をしてみましょう。 完成品はこんな感じです。 https://s2terminal.github.io/regression_js_sample/ 環境 Win
環境 node 9.4.0 TypeScript 2.9.2 npm 6.1.0 webpack 4.16.3 Visual Studio Code 1.25.1 予めtj/n: Node version management等を使って、Node.jsをインストールしておきましょう。 実践 適当な名前でプロジェクトディレクトリを作っておきます。ココではts-sampleとします。 $ mkdir ts-sample $ cd ts-sample/ $ git init $ curl https://raw.githubusercontent.com/github/gitignore/master/Node.gitignore > .gitignore
こんなやつ マジじゃん。 Microsoft Azure Cloud Shell(Azure PortalのWeb画面から生えてくるシェル)の中で、なんかVSCodeが動くようになってた。つまりブラウザでVSCodeが動く。https://t.co/vE35stsFrc #azurejp #jazug pic.twitter.com/1XC1XLFAZN — suzuki.sh(s2terminal) (@suzukiterminal) July 17, 2018 Azure Cloud Shellとは? Cloud Shellとは、MicrosoftAzureの提供する、ブラウザ上で利用できるシェルです。 おもに、Azureをブラウザ上から$ azコマンドでCLI操作することを目的として作られているようです。 Azure Cloud Shellのいろいろな起動方法 shell.azure
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "echo", "type": "shell", "command": "echo Hello" } ] } とりあえず実行してみましょう。Ctrl+Pでコマンドパレットを開き、task echoを実行しタスクの出力をスキャンせずに実行します。 するとシェルコマンド$ echo Helloが実行され、ターミナル部分にHelloと実行されます。 これを応用し、bundle installからdb:migrate、Server立ち上げてlocalhost:3000を開く までを連続で行うタスクra
2019年1月5日追記: Gatsby.jsがv1であることを明記。チュートリアルへのリンクが最新版(現時点ではv2)になっていたので、v1へのリンクに修正。 Reactベースの静的サイトジェネレータGatsby.js (v1)のチュートリアルを、TypeScriptで動かしました。 TypeScriptはJavaScriptに静的型付けを追加した言語です。Visual Studio Codeなどのエディタで補完が効くといった嬉しい事があります。 環境 Windows 10 Pro Insider Preview Build 17074 (Windows Subsystem for Linux) Gatsby.js v1.9.207 準備 まずは公式のチュートリアルに沿ってプロジェクトを構築します。 $ yarn add gatsby-cli $ ./node_modules/.bin/g
結論 拡張機能GlassIt-VSCを使えばできます。 やりかた Windowsを用意します。Macしか無いならばこの機会に買いましょう。 VSCodeをインストールします。 VSCodeの拡張機能GlassIt-VSCをインストールします。 おわり。 環境 VSCode 1.19.1 x64 Windows 10 Pro Insider Preview 10.0.17025.0 Insider Previewである必要は特に無いと思いますが、GlassIt-VSCはWindows7以降でないと動作しないようです。 拡張機能のインストールと設定 VSCodeのコマンドパレットを起動(Ctrl+Shift+P)して>Install ExtensionsからGlasslt-VSCをインストールします。 コマンドパレットで>Open User Settingsして、settings.jsonにg
本番環境にMicrosoftのPaaSであるAzure SQL Databaseを使っているサービスを想定し、その開発環境をDocker版SQL Serverを使って構築します。 Docker版SQL ServerもMicrosoftが公式に提供しています。良い時代になりました。 前提条件 Docker Client Windows Subsystem for Linux (Ubuntu 16.04.3) 17.12.0-ce Docker Server Docker for Windows 17.09.1-ce RailsをDocker化 まず前提として Docker公式のRails構築クイックスタートなどを参考に、Railsのアプリケーション部分をDockerにしておきます。 (db部分は書き換えるのでSQLiteのままでも構いません) 参考としてDockerfileを掲載します。 F
エイチームライフスタイル アドベントカレンダー2017の4日目は、株式会社エイチームライフスタイルのWebエンジニア@suzuki_shが担当します。 本稿では、まず「相加平均」「相乗平均」「調和平均」の3つの違いについて説明します。そして、PostgreSQLでこれらを算出してみます。 弊社では日々の数値集計などにAmazon Redshift(PostgreSQL互換)を使っていますので、ここで3種類の平均値を使えるようになる事を目指します。 3種類の平均値について 「平均値」にはいくつかの種類があることを知っていますか? 以下、順番に説明していきます。ご存知の方は読み飛ばしてください。 相加平均とは? 下記の例を使います。 Q 売上(千円)
SublimeText、Atomなど、クロスプラットフォームで使えるモダンなエディタが増えてきました。 これらはエディタ設定が軽量なテキストファイルになっており、Git管理することでプラットフォーム間で同期や差分管理することができます。 SublimeTextやAtomのお話はよく出てくるので割愛し、BracketsとVSCodeの方法をまとめます。 SublimeTextの方法 Syncing - Package Control Atomの方法 Atomの設定をGitで管理する| Atom講座 | [Smart] 条件 MacOS X El Capitan Windows 10 Pro 1709 (Fall Creators Update Insider Preview) VisualStudioCode 1.17 Brackets 1.5 準備 Gitをインストールしておきます。Win
Phoenix 環境をDockerで構築してみるメモ。 前提 Windows10 PowerShell上でDocker for Windowsを使います。 Bash on Windowsやboot2dockerは使いません。 PS > [System.Environment]::OSVersion Platform ServicePack Version VersionString -------- ----------- ------- ------------- Win32NT 10.0.14393.0 Microsoft Windows NT 10.0.14393.0 PS > docker --version Docker version 1.12.1, build 23cf638 PS > docker-compose --version docker-compose versi
さて今日は1月29日、売上が5万円だったとします。 これだけを見て「前日比で売上が半分になってしまった!この事業は危機的状況である」と言えるでしょうか。 月曜日火曜日は売上が少なくて、土日は売上が大きい (曜日要因) 1週間毎に売上のベースが少しずつ伸びている (成長トレンド) この2点に気付くことが出来れば、1月29日の売上が5万円であることは正常値である、むしろ売上は半減しているのに、 事業は成長トレンドに乗っている と判断できます。 この「曜日要因」「成長トレンド」の2つのパラメータによって日々の売上が成り立っています。 このような非常にわかりやすい例であれば、わざわざ説明や計算をしなくても直感で理解することができます。 ここで移動平均を使うことで、事業が成長していることを定量的に、シンプルに説明することができます。 1週間の移動平均 日付 曜日 売上
次のページ
このページを最初にブックマークしてみませんか?
『qiita.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く