タグ

JSONに関するdhesusan4649のブックマーク (170)

  • GPT-3.5-Turbo / GPT-4-Turbo 1106のJSONモードの使い方|shi3z

    時間未明(午前三時)ものすごいスピードで語られたOpenAI初の開発者向けイベントDevDayで発表されたGPT-4-TurboとGPT-3.5-TurboによるJSONモード。 これはものすごく強力なんだけど、Python APIによる使い方がどこにも描いてないので試行錯誤の末見つけましたので共有いたします。 from openai import OpenAI import openai import os openai.api_key = "<APIキー>" client = OpenAI() def gpt(utterance): #response = openai.chat( response = client.chat.completions.create( #model="gpt-4-1106-preview", model="gpt-3.5-turbo-1106", r

    GPT-3.5-Turbo / GPT-4-Turbo 1106のJSONモードの使い方|shi3z
  • The Ultimate Interactive JQ Guide

    The Ultimate Interactive JQ Guide Learn how to search, query, and modify JSON data with 25 interactive jq examples and explainations Cover Photo by Pixabay Has this ever happened to you? You’ve just received a massive JSON file that looks like it was designed to confuse you. Or maybe you entered a command, and you got so much JSON that it looks incomprehensible. The data you need is buried inside,

    The Ultimate Interactive JQ Guide
  • zod-to-openapiで、既存のAPI実装にOpenAPIドキュメントを後付けする | Memory ice cubes

    昔々あるところに、既存のWeb APIの実装がありました。 それなりに実装を進めた後に、天の声が言いました。「OpenAPIのドキュメントを公開したい」と。 さて、あなたならどうする?っていうニッチな問いに対する一つの答えとして。 ルーターごと乗り換える? たとえば今回でいうと、元のAPICloudflare Workersにデプロイされてた。 ので、たとえばhonoとかitty-routerとか、OpenAPIのドキュメント生成ができるエコシステムが整ってるルーターに乗り換えてしまうという手がある。 https://github.com/honojs/middleware/tree/main/packages/zod-openapi hono好きなあなたに https://github.com/cloudflare/itty-router-openapi/ itty-router好きな

    zod-to-openapiで、既存のAPI実装にOpenAPIドキュメントを後付けする | Memory ice cubes
  • Cloud Logging 構造化ログの特別な JSON フィールドまとめ

    Google Cloud のログ管理サービスである Cloud Logging は JSON で出力されたログを構造化ログとして認識します。その際に特別な JSON フィールドを使うとログに特別な属性を与える事ができます。記事ではそれらの特別な JSON フィールドを用途ごとにまとめて紹介します。 記事の技術的な内容はほぼすべてこのドキュメント 1 ページに書いてありますが、「実際に UI でどう表示されるのか」と「その特別な JSON フィールドにどんな価値があるのか」はドキュメントにないので参考にしていただけると思います。 Cloud Logging へのログ書き込み Cloud Logging へログを書き込むには大きく 2 つの方法があります。APILogEntry を直接書き込むか、それ以外かです。 API で直接書き込む方法の場合、メジャーな言語であれば各言語のライブ

    Cloud Logging 構造化ログの特別な JSON フィールドまとめ
  • serdeを理解する –– 基本編 - paild tech blog

    お手伝いの yuki です。 今日は serde の話です。最近仕事で serde を使っていて「これはバグでは??」と思った挙動がありました。具体的には untagged というものなのですが、同僚に「これはバグではなく仕様」というコメントをもらいました。たしかにドキュメントを見てみると注意書き等書いてあり、そういえば serde をなんとなく使っていたなと思いました。というわけで今日は記事を書くことで serde の理解を深めるということをしたいと思います。 なお、この記事はドキュメント以上のことはあまり書かれないと思います。実務的にどう利用しているかという観点から、このドキュメントをもとに記事として再編集することを目指しているためです。serde のドキュメントは下記にあります。 serde.rs 目次 目次 まず、読み方 serde とは何か? 基的な使い方 まとめ まず、

    serdeを理解する –– 基本編 - paild tech blog
  • jqコマンドのストリーミング処理 (--stream) をパイプでawkにつなぐ方法のまとめ - Qiita

    はじめに 誰もが知っている通り jq コマンドは JSON データを処理するためのフィルタコマンドです。awk コマンドと同じように抽出や編集といったデータ処理を行える専用の言語を備えています。jq コマンドは巨大な JSON データをストリーミングで処理することができる --stream オプションを持っており、データの完全な取得を待たずにデータを受け取りながら処理することが出来ます。しかしその使い方は難しくあまり解説されていません。そこでどのように使うと良いのかを調べてまとめました。 ストリーミング形式の出力 (--stream) まず次のような JSON データを用意しました。 [ {"name": "apple", "price": 210, "count": 10 }, {"name": "banana", "price": 140, "count": 15 }, {"name"

    jqコマンドのストリーミング処理 (--stream) をパイプでawkにつなぐ方法のまとめ - Qiita
  • Go言語で高速JSONライブラリをメモリ安全にしたらさらに速くなった話

    はじめに こんにちは。Sugawara Yuutaです。"Go言語で最速のJSONデコーダーを作った話", "それでも僕はGoで最速のJSONデコーダーを作りたかった"...以来の方はまた読んでいただきありがとうございます。まだの方は、経緯を伝えやすくなると思うので、そちらの方も読んでいただけたら幸いです。 その後 Go言語チームのメンバーが取り組んでいる新しいバージョンのJSONライブラリであるgo-json-experiment/jsonというレポジトリを発見しました。(厳密に言うと、知ってはいたのですが中身等は見ていない状態でした。) そこで学んだことが少しでも役に立てばとissueを提出したところ、そのときのJSONデコーダーに足りないものが見えてきたため、今回は僕の見つけた課題と、どのように解決しようとしたか・したかを話せればと思います。 見つけた課題 パフォーマンスも重要ですが

    Go言語で高速JSONライブラリをメモリ安全にしたらさらに速くなった話
  • node-jsonwebtokenで学ぶJWTのalg=none攻撃 - Qiita

    JWTの検証プログラムに対する有名な攻撃手法にalg=none攻撃があります。JWTのalgクレーム(署名アルゴリズム)としてnone(署名なし)を指定することにより、署名を回避して、JWTのクレームを改ざんする手法ですが、手法の解説は多いもの、脆弱なスクリプトのサンプルが少ないような気がしています。そこで、node.js用の著名なJWTライブラリであるjsonwebtokenを使った簡単なサンプルにより、alg=none攻撃の解説を試みます。 なお、jsonwebtokenの最新版では今回紹介した攻撃方法は対策されているため、以下のサンプルでは古いjsonwebtokenを使っています。 alg=none攻撃とは よく知られているように、JWTは以下のように3つのパートからなり、それぞれのパートはBase64URLエンコードされています。ヘッダとペイロードはエンコード前はJSON形式です

    node-jsonwebtokenで学ぶJWTのalg=none攻撃 - Qiita
  • JSONとBigInt

    ちょっと前にblueskyで見かけた話題。もとは「GraphQLのスキーマではintが32ビットしかなくて、64ビット整数とかないのがイケてない」といった話だったかなと思う。直感的にはこれは「Javascriptではすべてが倍精度浮動小数点数だから64bit intがないから」ということになるが、よくよく調べてみるといろいろややこしい歴史的事情があるようだ。 たしかにJSにはもともとひとつのNumber型しかなく、いわゆるdouble型(倍精度浮動小数点)だけで数値を表現してきた。IEEE754の倍精度浮動小数点数は仮数部が52ビットあるので、実際には32ビット整数ていどであれば全て誤差なく表現できる。なので32ビット整数または倍精度浮動小数点数がどちらも使えるというふうに理解されてきた。 そうはいっても不便なので、現代のJSにはBigIntがある。ES2020で導入されたらしい。ただし普

    JSONとBigInt
  • 初公開!「家計簿プリカ B/43」のデザイントークンの設計 - inSmartBank

    こんにちはスマートバンクのデザイナーのputchomです。普段は「家計簿プリカ B/43」のプロダクトデザインやデザインシステムの構築を担当しています。 先日、CreatorZineさんでプロダクトデザインに関するスマートバンクの連載記事を書かせていただいたのですが、今回はその中でお伝えしきれなかった「デザイントークンの設計」についてご紹介しようと思います。 デザイントークンとは? そもそもデザイントークンとは、色、タイポグラフィ、サイズ、不透明度、影などのデザインをするための最小要素のことであり、スマートバンクではデザインの一貫性を保ったり、関わるメンバーがよりデザインに対する共通認識を持てるようにして、プロダクトの価値提供を早くするために定義しています。 まず完成形です。このあと説明する様々な工程を経て、以下のようなデザイントークンをJSONで定義しました。(すべて記述するとかなり長く

    初公開!「家計簿プリカ B/43」のデザイントークンの設計 - inSmartBank
  • GPT-4, GPT-3.5 の API を利用して JSON だけ生成する (Function calling)

    先日 OpenAI API のアップデートが以下のように発表されました。 一番の注目は Function calling じゃないでしょうか? 名前から「関数を呼び出せるのかな?」と一番最初に想像しちゃいますが、この機能の革新的な部分は「JSON を作成してくれる」ところだと思っています。 JSON を作れると嬉しいことがいっぱいありますね! ダミーデータの作成 生成した JSON をそのままレスポンスとして返すエンドポイントの作成 テストとしても良い 関数や外部 API の呼び出し 今までは難しかった JSON の作成 今まで、JSON を作成してもらうにあたって gpt-3.5-turbo を用いて JSON を作成させようとするとほぼ失敗していました。それで gpt-4 のモデルを利用して JSON を作成させますが、このモデルはほとんど正確になる一方で処理速度がかなり遅くなる点がネ

    GPT-4, GPT-3.5 の API を利用して JSON だけ生成する (Function calling)
  • Function calling and other API updates

    We’re announcing updates including more steerable API models, function calling capabilities, longer context, and lower prices. July 20, 2023 update: We previously communicated to developers that gpt-3.5-turbo-0301, gpt-4-0314 and gpt-4-32k-0314 models were scheduled for sunset on Sept 13, 2023. After reviewing feedback from customers and our community, we are extending support for those models unt

    Function calling and other API updates
  • Optics: 「パス」に型を付ければ、データ全体に型を付ける必要はない - Lambdaカクテル

    あまり知られていない関数型言語のおもしろ概念として、Opticsというものがある。 Opticsとは、オブジェクト指向言語で言うところのSetter/Getterを一種の関数として捉え、いくつかの便利な特性を付与したものの総称だ。この便利な特性によって、Setter/Getter以上のことをパワフルにこなせる。 最も有名なOpticsはLensであり、色々な解説資料が(主にHaskell向けに)出ている。 blog.recruit.co.jp さて、これまでのOpticsを紹介する資料はSetterとGetterとしての側面に注目しがちだったので、じゃあOpticsの何が良いのか、Scalaでやる意義は何か、という側面をこの記事で紹介しようと思う。 Optics -- vs. copyメソッド地獄 Opticsは合成可能である Opticsはボトムアップのアプローチである Opticsがう

    Optics: 「パス」に型を付ければ、データ全体に型を付ける必要はない - Lambdaカクテル
  • ChatGPTによるプロンプトの生成|NyaFu

    えーっと、note初記事です。つたない内容でしかもメッチャ長文ですがお付き合いください。 今回はタイトルにあるように、Stable DiffusionのプロンプトをChatGPTで生成する、今までとはちょっと違うやり方をご紹介します。 簡単なレクチャーも含むのでかなりのテキスト量ですが、最後まで目を通していただければ良いことがきっとあります。 はじめにまずこれからお伝えする技法は現時点でGPT4の使用が前提となっています。(追記:Bingでも可能になりました) 3.5では、私の技量が至らず安定した結果が得られていません。 しかしながら、先だってこの手法をお伝えした有志の方々が3.5及びBingでの実現を模索されていることを予めお伝えしておきます。 今回の手法を発見した経緯とネタバレことの発端は遡ること1か月前、プロンプトを自動でジャンル分けしてデータベースに流し込み、逆にそこからプロンプト

    ChatGPTによるプロンプトの生成|NyaFu
  • jq が jqlang organization に移譲されました - プログラムモグモグ

    JSONを操作するコマンドラインツールであるjqは、これまでオリジナル作者であるStephen Dolan氏 (@stedolan)のリポジトリ(github.com/stedolan/jq)で管理されていました。 メンテナンスはNico Williams氏 (@nicowilliams)とWilliam Langford氏 (@wtlangford)の二名が行なっていましたが、近年は活動が減っておりメンテナンスが滞っていることが度々指摘されていました。 最新のリリースは2018年11月に行われた1.6であり、その後に様々なバグ修正やパフォーマンス改善、新機能の実装が行われているのにリリースされておらず、またissueやPRも放置されがちになっていました。 さらにCI (AppVeyor)は常に落ちるので、簡単なドキュメント修正でもCIが通らず苦情が来る、数か月放置されたPRは作った人が諦

    jq が jqlang organization に移譲されました - プログラムモグモグ
  • GitHub - pyrustic/jesth: Human-readable versatile data format

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - pyrustic/jesth: Human-readable versatile data format
  • GitHub - piercefreeman/gpt-json: Structured and typehinted GPT responses in Python

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - piercefreeman/gpt-json: Structured and typehinted GPT responses in Python
  • AT Protocol(Bluesky)のためのRustライブラリを作った - すぎゃーんメモ

    前記事 でOCamlやってくぞ、と書いたけど結局Rustです。 Bluesky AT Protocolとエコシステムの現状 (〜2023/04) Rust版の実装 Lexiconとコード生成 自作Rust版実装: ATrium Lexicon schema コード生成 API設計 Lex CLI 今後 Bluesky Twitter代替の候補として噂される(?)分散型SNS Bluesky。 現状ではまだprivate betaということで招待コードが無いと使えないのだけど、先月運良くコードをいただくことができて使い始めてみている。 一通りのSNS的な動きはしているものの、まだまだ鋭意開発中ということで足りていない機能があったり 日々新機能が追加されたりと目紛しく動いている世界のようだ。 AT Protocolとエコシステムの現状 (〜2023/04) AT Protocolについてはこち

    AT Protocol(Bluesky)のためのRustライブラリを作った - すぎゃーんメモ
  • httpstat.us

    This is a super simple service for generating different HTTP codes. It's useful for testing how your own scripts deal with varying responses. Just add the status code you want to the URL, like this: httpstat.us/200 We'll return a response like this: HTTP/1.1 {status code} {status description} Content-Type: text/plain or application/json Content-Length: {something} {any custom response headers} {st

  • HTTP/2 と gRPC に対するよくある誤解。 - ねののお庭。

    以前 .NET ラボで 「C# と HTTP/2 と gRPC」というタイトルで登壇しました。その時のスライドがこちらなのですが、ちらほら反応を頂きました。その結果、HTTP/2 や gRPC について勘違いしている人がちょこちょこいる事が分かったので、少し補足を書こうと思います。 blog.neno.dev 1. HTTP/2 で向上するのはスループットであって、1リクエストあたりの応答時間ではないよ。 HTTP/2 を使うからといって、1 リクエストあたりの応答時間が短くなるわけではないのです。 まず、1 HTTP リクエストあたりにかかる時間を、RTT とかいったりします。 1 RTT の内訳はだいたいこんな感じになります。 1 RTT = ネットワーク上で往路にかかる時間 + サーバの処理時間 + ネットワーク上で復路にかかる時間 HTTP/2 になったからといって、ネットワークを

    HTTP/2 と gRPC に対するよくある誤解。 - ねののお庭。