タグ

schemaに関するsh19910711のブックマーク (83)

  • 『改訂新版前処理大全』の話と Apache Parquet の話 #TokyoR

    sh19910711
    sh19910711 2024/06/09
    "旧版ではR、Python、SQL + 改定新版ではBigQuery準拠のSQL、最新バージョンのPandas、Rの代わりにPolarsに高速な変更 / Arrow Tableもtidyverseで処理できる / RではarrowパッケージでApache Parquetを扱うことができます"
  • OpenAPI定義をmswに活用してお手軽モック

    Leaner 開発チームの黒曜(@kokuyouwind)です。 RubyKaigi Takeout 2021真っ只中ですね。自分も視聴して実況ツイートを垂れ流しています。 でも今回はフロントエンドの話です。 TL;DR OpenAPI 定義を JSON で記述しておくと、 import schema from 'schema.json' で読み込んで Component などの定義を参照できます。 これを使って msw の Handler を定義すると、簡単に API をモックしてテストできるので便利です。 異常系のハンドラーも同じところで定義しておくと、テスト時のレスポンス差し替えもシンプルになって読みやすくなります。 OpenAPI 定義を msw に使いたい 以前書いたとおり、現在自分が担当しているプロダクトでは OpenAPI を使って API スキーマを定義しています。 このス

    OpenAPI定義をmswに活用してお手軽モック
    sh19910711
    sh19910711 2024/06/08
    "スキーマ定義からopenapi2aspidaを用いて API クライアントを生成 + msw を使ってモック / OpenAPI の定義を利用して、この Handler を生成できたら便利では / 疑問を解明すべく、我々は GitHub Issues の奥地へ" 2021
  • GraphQLのはじめかた - Write and Run

    トレンドに乗るためにはトレンドを自分の方に捻じ曲げるのが一番いい、ということで、Twitter で日夜 GraphQL, GraphQL と騒いでいる日々であります。 GraphQL の話、スライド上げました https://t.co/hTUvA9Fajt ハンズオンに良さそうなコードや解説記事などもそのうち公開します #tng23— KOBA789 (@KOBA789) 2016年10月22日 先日、tng23 で「GraphQLの話」をしてきました。解説記事とか書くみたいなことをノリで口走ったので、これは伏線回収です。 GraphQL は公式のドキュメントが充実しています。とはいえ、全部英語なので日にはあまりリーチしてないですね。みなさん英語読んで……。 母語でない言語で書かれた文章を自分のペースで読みながら、そこに書かれている新しい概念を獲得するってのは結構な重労働です。そこで、お

    GraphQLのはじめかた - Write and Run
    sh19910711
    sh19910711 2024/06/08
    "トレンドに乗るためにはトレンドを自分の方に捻じ曲げるのが一番いい / 母語でない言語で書かれた文章を自分のペースで読みながら、そこに書かれている新しい概念を獲得するってのは結構な重労働" 2016
  • GraphQL のデータソースに microCMS を 使う

    はじめに この記事では、GraphQL のデータソースに microCMS を利用する方法を書いてみます。GraphQL は BFF として利用するケースも多いですが、GraphQL としては、データがどこから来たのかは重要ではありません。データベースや RESTful API、マイクロサービスから取得するといった選択肢があります。今回は microCMS をデータ取得元にすることを想定し、その構成や構築手順を書いていきます。(以下の図の REST API の部分が mciroCMS になるイメージです。) GraphQL is data source agnostic 出典: https://www.apollographql.com/blog/graphql/basics/what-is-graphql-introduction/ なぜ microCMS を使いたいのか microCM

    GraphQL のデータソースに microCMS を 使う
    sh19910711
    sh19910711 2024/06/08
    "microCMS のコンテンツの情報と合わせて Database で管理するデータを一緒に返したい / GraphQL Yoga: Nodejs、Deno、Cloudflare Workers など様々ランタイムで動かせる + プラグインのエコシステムが充実してる"
  • json/protobuf(wire)/gobをバイナリ効率とかの観点から比べてみる - ちりもつもればミルキーウェイ

    はじめに どうも @convto です。 以前に protobufのwire encodingについて遊んた ことや gobについていろいろ仕様を調べて遊んだ こととかがあったので、いっちょいい感じの比較ができるんではということでやっていきたいと思います。 ついでにgobについては 当時のモチベを調べたりもしたことある のでそのへんもおまけ程度に言及しつつ、こういうときにgobつかえそうだよ〜みたいなのをまとめてみます。 比較するのは json protobuf(wire) gob です。おもな観点はバイナリ効率ですが、それぞれのエンコーディングのメッセージの互換性やら、周辺エコシステムの広がりも含めて評価できればと思います。 ちなみにバイナリの比較についてはせっかくなので稚作の↓をつかってます。そこそこ便利なので用途に合う方はぜひ愛でてあげてください github.com これは Go

    json/protobuf(wire)/gobをバイナリ効率とかの観点から比べてみる - ちりもつもればミルキーウェイ
    sh19910711
    sh19910711 2024/06/08
    "エンコーディングのメッセージの互換性やら、周辺エコシステムの広がり / wire: keyにあたる概念をfield_numberとtype(型情報)を統合したtagという概念で管理 / gob: 外部定義やアノテーションなしにGoの値をそのまま使える" 2022
  • BigQuery の SQL Translator の YAML 構成ファイルを試してみた

    こんにちは!クラウドエース株式会社 データソリューション部所属の福家です。 クラウドエースのデータソリューション部は、クラウドエースの IT エンジニアリングを担うシステム開発統括部の中で、特にデータ基盤構築・分析基盤構築からデータ分析までを含む一貫したデータ課題の解決を専門としています。 データソリューション部では活動の一環として、毎週 Google Cloud の新規リリースを調査・発表し、データ領域のプロダクトのキャッチアップをしています。その中でも重要と考えるリリースをページ含め記事として公開しています。 今回紹介するリリースは、2023/11/30 にプレビュー段階から一般提供(GA)となった BigQuery の YAML 構成ファイルを使用した SQL Translator についてです。 はじめに BigQuery とは BigQuery はビッグデータの蓄積、分析ができ

    BigQuery の SQL Translator の YAML 構成ファイルを試してみた
    sh19910711
    sh19910711 2024/06/07
    "SQL Translator: さまざまなデータベースシステムの SQL 言語(方言)をBigQuery 用の SQL(GoogleSQL)に変換してくれるツール / Cloud Storage バケットにアップロードした複数の SQL ファイルを一括で変換"
  • [Rust] ortでonnxモデルを使って推論したりWASMにしたりしてみる | DevelopersIO

    Introduction 以前、BurnというRust機械学習フレームワークで ONNXファイルを変換して使うという記事を書きました。 問題なく変換して推論までできましたが、onnxファイルをそのまま使いたいケースもあります。 というわけで、今回はONNX RuntimeのRustラッパー「ort」を使ってみます。 また、wasmpackを使ってWASMにしてChrome Extensionから使ってみます。 [補足] ONNX? ONNXは、さまざまな機械学習フレームワーク間で使用できる共通フォーマットです。 これを使うことにより、PytorchでトレーニングしたモデルをTensorFlowで使う みたいなことが容易にできます。 ort? ortは、ONNXランタイム用のRustバインディングです。 ここで紹介されていますが、ortとONNX Runtimeを併用することで、 さまざま

    [Rust] ortでonnxモデルを使って推論したりWASMにしたりしてみる | DevelopersIO
    sh19910711
    sh19910711 2024/06/07
    "ort: ONNXランタイム用のRustバインディング / GenAIで「フリーハンドでキャンバスに数値書いてjpgにして、そのデータをwasmに渡すChrome Extension作って」と言ったらほとんど生成してくれます"
  • ChatGPTでOpenAPI定義からKarateのテストスクリプトを自動生成する - Taste of Tech Topics

    最近久々に近所のお祭りに行ってきました、屋台のべ物ではりんご飴が好きな菅野です。 皆さん、普段APIのテストはどのように行っておりますか? 最近は、APIのテスト自動化を行えるようなツールやサービスも増えてきているように思いますが、当社では、OSSのテスティングフレームワークである「Karate」を用いることが多いです。 比較的簡単な構文で直感的にAPIのテストができる点がよいと思います。 しかし、いかに簡単な方法でAPIのテストが記述できるからといっても、APIの数が多いとテストを作成するのは一苦労です。 今回は、そんなKarateのテストスクリプトをChatGPTを活用して作成してみようと思います。 まず、REST-APIの仕様を定義する場合、OpenAPIを利用することが多いのではないか、と思います。 ChatGPTの開発元である「OpenAI」ではないです。自分も書いていて、紛ら

    ChatGPTでOpenAPI定義からKarateのテストスクリプトを自動生成する - Taste of Tech Topics
    sh19910711
    sh19910711 2024/06/06
    "Karate: Gherkin(ガーキン)形式を用いて記述するAPIテストのためのフレームワーク + 比較的簡単な構文で直感的にAPIのテストができる点がよい / APIのテストだけでなく、UIテストやGatlingと連携した負荷試験等も幅広くできる" 2023
  • Jsonnet で Kubernetes マニフェストを快適に書く

    Kubernetes マニフェストを書くとき、非常にしばしば複数の環境(典型的には production, staging, development)ごとに一部の設定だけ異なる他はほぼ同一の内容のマニフェストを用意しなければならない、ということがあります。このようなとき、繰り返し部分と差分を分ける手段としては複数の選択肢があります。なかでも、kustomize を使って、ベースとなるマニフェストを用意したうえで各環境に応じた差分を適用するためのパッチをあてる、というのがよく選ばれる選択肢でしょうか。この記事では、繰り返しを避けるという目的を達成するのに、kustomize ではなく Google 開発の設定記述用言語 Jsonnet を使うという選択肢もあるということをご紹介します。 Jsonnet には普通のプログラミング言語にはない独特な機能があり、使いこなすにはコツが必要です。この記

    Jsonnet で Kubernetes マニフェストを快適に書く
    sh19910711
    sh19910711 2024/06/05
    "Jsonnet: +演算子をオブジェクト2つに適用してオブジェクトのマージができ + 同じキーがある場合は右側が優先 / $ という特殊な変数のようなものがあり、それを含むトップレベルのオブジェクトを指す" 2022
  • 安全なGraphQL API開発が出来るって本当? FastAPI+GraphQL+テストで安全なAPI開発 - Qiita

    安全なGraphQL API開発が出来るって当? FastAPI+GraphQL+テストで安全なAPI開発PythonテストGraphQL型定義FastAPI はじめに この記事はZOZOテクノロジーズ アドベントカレンダー#2 16日目の記事です! TL;DR REST上でGraphQLを使用するメリットを説明 ORMを使用してPostgresを操作 GraphQLで用いられるスキーマ、ミューテーション、クエリについて説明 Grapheneを使用してGraphQLFastAPI上で使えるようにする Grapheneとpytestを使用してGraphQL APIをテストする なぜREST上でGraphQLを使用するか RESTは、WebAPIを構築するためのデファクトスタンダードです。CRUD操作ごとに複数のエンドポイント(GET、POST、PUT、DELETE)を設計します。これらの

    安全なGraphQL API開発が出来るって本当? FastAPI+GraphQL+テストで安全なAPI開発 - Qiita
    sh19910711
    sh19910711 2024/05/30
    "graphene-pydantic: GraphQL APIにおける型ヒントやクエリに対するバリデーション / FastAPI: 標準で型ヒントやバリデーションが提供 + Pydanticを用いたGraphQL API開発とは相性が良さそう" 2020
  • JuliaでOpenStreetMapのXMLをparseした話

    Twitter芸人名@cocomoffです. この記事はJulia Advent Calendar 2021の18日目の記事です.15日目にはTuring.jlを使ったネタで書いたのですが,普段自分でちょっとしたプログラムを書くためにもJuliaを使っていることがあるので,今日はだいぶ前に自分で書いたJuliaプログラムに関する記事です. OpenStreetMapについて 概要 名前ぐらいは聞いたことがある人も多いかもしれないですが,https://www.openstreetmap.org/ で公開されている地図情報です(?). OpenStreetMapは、道路、通路、カフェ、鉄道駅など、世界中にあるすべてのものに関するデータを提供・メンテナンスしているマッパーのコミュニティによって構築されました。 ライブラリ OpenStreetMapを扱うライブラリやソフトウェアはいろいろありま

    JuliaでOpenStreetMapのXMLをparseした話
    sh19910711
    sh19910711 2024/05/27
    "ダウンロードしたosmという拡張子のファイル(中身はXML)がbz2の状態で500MB程度,解凍した状態で6GB程になる / Juliaを使ってEzXMLのストリーム読み込みモードを使う必要 / EzXML.jl: すごいXML処理用のライブラリ" 2021
  • バリデーションとシリアライズができるdataclassとしてPydanticを使う

    FastAPIなどのフレームワークと組み合わせて使われることが多い印象のPydanticですが、それ単体でdataclassの高機能版として使えますよ、という紹介です。 Pydanticとは Pythonでおそらく最も使われているバリデーションのためのライブラリです。型アノテーションを用いてバリデーションやシリアライズを行なってくれます。 最初のモデル まずは概観です。 BaseModelを継承させたクラスに、dataclassのように型アノテーション付きでフィールドを記述していけば、インスタンス化時に動的に型チェックを行なってくれるようになります。(invalid_userは、nameにstrではなくintの値をセットしようとして、バリデーションエラーとなってます。) # https://docs.pydantic.dev/latest/より抜粋 from pydantic import

    バリデーションとシリアライズができるdataclassとしてPydanticを使う
    sh19910711
    sh19910711 2024/05/27
    "Pydantic: 型アノテーション付きでフィールドを記述していけば、インスタンス化時に動的に型チェックを行なってくれる / v2: コアとなる実装を切り出してRustで再実装 + V1と比べて17倍高速に" 2023
  • ディープラーニングフレームワークのncnnを試してみた - NTT Communications Engineers' Blog

    はじめに こんにちは。イノベーションセンターテクノロジー部門の齋藤と申します。普段はコンピュータビジョンの技術開発やAI/MLシステムの検証に取り組んでいます。今回は、モバイル向けの推論フレームワークのncnnに触れてみたので、その結果について書いて行きます。 ncnnとは ncnn1とは、モバイル向けの推論フレームワークでAndroidとiOSにどちらも対応しています。Pytorchの場合モデルは、pthの形式で1つのファイルで構成されています。ncnnの場合モデルは、param(モデル構造)とbin(重み)ファイルに分割されています。 自身のncnnを使用するモチベーションは、ncnnのデータフォーマットにあります。モバイルで使用するフレームワークにTensorFlow Lite2がありますが、他のフレームワークからモデルを変換するためにNCHW形式からNHWC形式に変換する必要があり

    ディープラーニングフレームワークのncnnを試してみた - NTT Communications Engineers' Blog
    sh19910711
    sh19910711 2024/05/27
    "ncnn: モバイル向けの推論フレームワーク + AndroidとiOSにどちらも対応 / Intel CPUを使用した場合ncnnよりもonnxを使用した方が推論時間やメモリ性能上、上回っている / ncnnのリポジトリ 内にあるONNXからncnnに変換するコード" 2022
  • XGBoostはpickleでなくJSONで保存せよ 備忘録 - Qiita

    概要 GPU付きPCでモデルのTrainingを行いpredictはGPUなし(つまりCPUのみ)のPCで行う運用を想定する。 そのときのXGBoostモデルの保存方法について備忘録を残す。 実施時期: 2022年9月 Python: conda 3.8.13 XGBoost: py-xgboost, py-xgboost-gpu 1.6.1 問題 XGBoostはLightGBMに比べTrainingが遅いことは有名だ。GPUを使えばCPUよりも体感で4~5倍高速になり十分な速さだが、どのPCにもGPUが乗っているわけではない。 しかしCPUであってもPredictはLightGBMより速いのでdeployを考えるとどうしてもXGBoostを使いたくなる。老舗なため情報が豊富なこともありがたい。 ただモデル保存時、いつもの便利なpickleで保存してしまうと運用時に困ったことになってしま

    XGBoostはpickleでなくJSONで保存せよ 備忘録 - Qiita
    sh19910711
    sh19910711 2024/05/27
    "XGBoost: LightGBMに比べTrainingが遅い + CPUであってもPredictはLightGBMより速い / deployを考えるとどうしてもXGBoostを使いたくなる。老舗なため情報が豊富 / pickleで保存してしまうと運用時に困ったことになってしまう" 2022
  • ONNXモデルのチューニングテクニック (応用編2)

    サイバーエージェント AI Lab の Human Computer Interaction Team に所属している兵頭です。今回は私が半年ほど蓄積したONNXのチューニングテクニックを全てブログに残したいと思います。皆さんが既にご存知であろう基的なことから、かなりトリッキーなチューニングまで幅広くご紹介したいと思います。長文になりますがご容赦願います。今回は応用編2です。 8. 各種トリック PyTorchやTensorFlowを経由して生成されたONNXから他のフレームワークへモデルを転用する場合に有効な様々なトリック、ワークアラウンドをご紹介します。あまり真新しい知見ではありませんが、以下でご紹介するようなトリックが記事としてまとまっているものはあまり見かけませんのでご参考になれば幸いです。エンジニアよりもリサーチャーの方々に是非読んでいただきたい内容です。ほとんどの内容が地味で

    ONNXモデルのチューニングテクニック (応用編2)
    sh19910711
    sh19910711 2024/05/26
    "GridSample: opset=16 から使用可能なオペレーション + アテンション系やステレオ画像をインプットとして扱うモデルでのアフィン変換で使用 / Barracuda: Unity がサポートしているデバイス上でONNXによる推論をサポート" 2023
  • Huggingface transformersモデルのONNX runtimeによる推論の高速化 - Retrieva TECH BLOG

    Chief Research Officerの西鳥羽 (Jiro Nishitoba (@jnishi) | Twitter) です。 今回はHugging Face TransformersのモデルのONNX runtimeで実行を試してみました。それにより特にCUDAでの実行では2.4倍近い高速化が行えました。 Hugging Face TransformersのモデルのONNX形式への変換方法から、ONNX runtimeでの実行も含めて紹介したいと思います。 ONNXとは ONNX形式への変換 ONNX形式に変換したモデルを用いて推論する ONNX形式のモデルからGPUでの推論 実験 まとめ ONNXとは ONNX とは、機械学習のモデルを表現するOpenなフォーマットです。機械学習を実現するフレームワークは数多くありますが、ONNX形式での出力をサポートしてるものも多数存在 *1

    Huggingface transformersモデルのONNX runtimeによる推論の高速化 - Retrieva TECH BLOG
    sh19910711
    sh19910711 2024/05/24
    "ONNX runtime: 推論処理の高速化も実現 + CUDAでの実行では2.4倍近い高速化 / Hugging Face Transformersには学習済みモデルをONNX形式に変換するツールがついています / onnxruntime-gpu をインストールした後は providers の指定が必須" 2022
  • Zodスキーマでプロンプト生成を行い構造化データを自由自在に扱えて、LLMプロダクト開発が圧倒的に効率化した話 - Algomatic Tech Blog

    最近はAIエンジニアを名乗ってるerukitiです。フロントエンドもバックエンドも、LLMを触るあれこれもやってるので、「AIエンジニア」くらいを名乗るとちょうどよさそうだなと思ってます。いずれLLM自体の開発なんかもやってるかもしれません。 LLMプロダクトを開発していると、構造化データを作りたいのに、Anthropic ClaudeのAPIにはJSONモードが無いことや、なんならJSONモードやfunction callingを使っても、データが正しい形式に従ってることは保証しがたい、みたいな自体に遭遇することがあります。 JSONが出力できたとしても、構造化データをうまく吐き出させるのは難しいものです。文字列を出力させたいけど、複数あるときは、配列なのか、それともカンマ区切りなのか?項目がオプショナルの場合はどうするか?項目が存在しない、空文字や 0 や undefined や nu

    Zodスキーマでプロンプト生成を行い構造化データを自由自在に扱えて、LLMプロダクト開発が圧倒的に効率化した話 - Algomatic Tech Blog
    sh19910711
    sh19910711 2024/05/24
    "XMLでプロンプトを与えると良いという話 + Markdownで見出しを与えると良いとか / 構造化データをうまく吐き出させるのは難しい / 陳腐化: 不要になったプロンプトは逆に邪魔になる + 不要な指示を削った方がうまくいく傾向"
  • 日記アプリ Day One のデータをJSONから作る - castaneaiのブログ

    日記アプリとして Day One を使い始めた。 それ以前も汎用的なノートアプリであるEvernoteとBearで日記をつけていたが、日記は日記に特化したアプリに任せたほうが良さそうだと考え、Day Oneへの移行を決めた。 そこで、過去の日記をDay Oneに取り込みたくなった。公式guideに案内がある。 Importing data to Day One 画像を含めて取り込むには、Day One固有形式のJSONファイルと画像を含むZIPアーカイブが必要らしい。 ↑のdocsページでサンプルのzipをダウンロードできる。 開いてみると、結構に長いJSONが現れる。Day Oneは日記や画像に様々なメタ情報を付与できるようだ。 だが、自分がインポートしたいのは次の情報だけだ。 作成日時 日記の文(テキスト) 添付画像 この最低限の情報だけを持つDay One のJSONを作ると、以下

    日記アプリ Day One のデータをJSONから作る - castaneaiのブログ
    sh19910711
    sh19910711 2024/05/04
    "日記は日記に特化したアプリに任せたほうが良さそう / 移行に備えて常に日記は(普及した形式の)テキストデータによるimport/exportに対応したアプリでつけておきたい / Day One: 日記や画像に様々なメタ情報を付与できる"
  • ONNXファイルをテキスト形式に変換して直接編集する

    やりたいこと ONNX形式のファイルが手元にあって、ちょっとだけ直したい。できるだけ手軽に。 目的は、 Model Zoo等から入手したONNXファイルの、入出力の形式を変更したい(floatじゃなくてbyteにしたいとか) ONNXファイルA の出力がそのまま ONNXファイルB の入力になるので、2つをくっつけたい 等です。 方針 ONNXファイルを、バイナリ形式からテキスト形式に変換する 適当なテキストエディタで編集する テキスト形式からバイナリ形式に戻す バイナリ形式⇔テキスト形式の相互変換方法さえわかればできたも同然です。 準備 Protocol Buffer Compilerのダウンロード バイナリ形式⇔テキスト形式の変換にはProtocol Buffer Compilerを使います。というのも、そもそもONNXファイルはProtocol Bufferを使って定義された形式だか

    ONNXファイルをテキスト形式に変換して直接編集する
    sh19910711
    sh19910711 2024/04/25
    "Model Zoo等から入手したONNXファイルの、入出力の形式を変更したい(floatじゃなくてbyteにしたいとか) / ONNX: Protocol Bufferを使って定義 + バイナリ形式⇔テキスト形式の変換にはProtocol Buffer Compiler" 2021
  • 現場で役立つGraphQLの知見をまとめた"Production Ready GraphQL"を読んだ - kymmt

    GraphQLを久しぶりに使うことになったので、復習のために"Production Ready GraphQL"を読んだ。 book.productionreadygraphql.com 著者はGitHubとShopifyでGraphQL APIの開発に携わっていた人なので、信頼感がある。GraphQL APIの開発をしようとした人はだいたいGitHubとかShopifyとかのAPIリファレンスを参考のために読んだことがあると思う。 まず、このでは、GraphQLはクライアントの種類やユースケースの増加に伴う"One-Size-Fits-All"な設計のAPIの問題を解決するものであるとしている。ここで、"One-Size-Fits-All"は、各エンドポイントの機能を充実させて汎用的にしすぎることで、APIを使うのもメンテナンスするのも難しくなった状態のことをいう1。 "One-Siz

    現場で役立つGraphQLの知見をまとめた"Production Ready GraphQL"を読んだ - kymmt
    sh19910711
    sh19910711 2024/04/23
    "One-Size-Fits-All: 各エンドポイントの機能を充実させて汎用的にしすぎることで、APIを使うのもメンテナンスするのも難しくなった状態 / データだけではなく、導出できる値も必要ならフィールドとして返す" 2023