Slide 1

Slide 1 text

gRPCとConnect スキーマ駆動開発のすゝめ 戸塚 翔太

Slide 2

Slide 2 text

自己紹介 - 戸塚翔太(Blueish) - Go, Rust, Python - 生成AI, 機械学習 - 静岡県(浜松)に住んでます - 近くの方がいれば、一緒に勉強会しましょう - X: @totsumaru_dot

Slide 3

Slide 3 text

会社紹介 - 株式会社ブルーイッシュ - Go, Rust, 生成AIエンジニア等募集中 - 興味があれば覗いていただけると嬉しいです - https://www.blueish.co.jp

Slide 4

Slide 4 text

Agenda 1. Connectとは 2. 最近の構成(LLMアプリケーションを使う) 3. OpenAPIスキーマの生成

Slide 5

Slide 5 text

1. Connectとは - ブラウザ,gRPC互換のHTTP APIを構築するためのライブラリファミリ - gRPC・gRPC-Web・Connect独自のプロトコルをサポート - cURLでもコールできる - プロトコル変換プロキシ不要 docs: https://connectrpc.com/docs/introduction

Slide 6

Slide 6 text

1. Connectとは サポートされている言語 - Go - TypeScript, JavaScript(Web, Node.js) - Swift, Kotlin(ベータ版) Python,Rustも欲しい...

Slide 7

Slide 7 text

Agenda 1. Connectとは 2. 最近の構成(LLMアプリケーションを使う) 3. OpenAPIスキーマの生成

Slide 8

Slide 8 text

2. 最近の構成(LLMアプリケーションを使う) フロントエンド バックエンド LLM gRPC connect-web HTTP/1.1 Protocol Buffers connect-go

Slide 9

Slide 9 text

Agenda 1. Connectとは 2. 最近の構成(LLMアプリケーションを使う) 3. OpenAPIスキーマの生成

Slide 10

Slide 10 text

3. OpenAPIスキーマの生成 - protoから直接OpenAPIのスキーマを作成できる - openapiv2 プラグインを使用 protoは少しfatになります

Slide 11

Slide 11 text

その他 - Connect conformance test suite(適合性テストスイート) - Connect, gRPCなどプロトコル間の適合性を検証するテストスイート - CI/CDでも実行でき、クライアント,サーバー共にテスト可能 - `connectconformance --mode server -- ` - https://github.com/connectrpc/conformance - Buf Schema Registry (BSR) - Protobuf対応のレジストリ - AWS MarketplaceとGoogle Cloud Marketplaceで利用可能に - Kong Insomnia(APIクライアント)と統合

Slide 12

Slide 12 text

最後に - gRPCを使っていて、Connectサポートの言語であれば検討をおすすめ - 特にプロトコル変換のためのプロキシを使っている場合 - curlが使えるのはデバッグが楽 - 不要なMarshal/Unmarshalが無いのは楽(gRPC) - LLMのチャットアプリケーションはstreamも検討

Slide 13

Slide 13 text

No content