並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 4278件

新着順 人気順

apiの検索結果1 - 40 件 / 4278件

  • 話題のLLMローコード構築ツールDifyをAWSのマネージドサービスで構築してみた - エムスリーテックブログ

    こんにちは。エムスリーエンジニアリンググループのコンシューマチームに所属している園田です。 普段の業務では AWS やサーバーサイド、フロントエンドで遊んでいるのですが、最近はもっぱら OpenAI や Claude3 で遊んでます。 今回は、最近巷で話題の LLM ローコード構築ツールである Dify の OSS 版を AWS のマネージドサービスのみを使って構築してみました。 DifyとはオープンソースのLLMアプリ開発プラットフォームで、様々なLLMを使用してChatGPTのGPTsのようなものがノーコードで簡単に作れます。 引用元: DifyでSEO記事作成を試してみる|掛谷知秀 試しにAskDoctorsのガイドラインHTMLをナレッジ登録してみた ローカル環境で Dify を構築する記事はたくさん見かけますが、AWS のマネージドサービスで構築する内容は見かけなかった*1ので公

      話題のLLMローコード構築ツールDifyをAWSのマネージドサービスで構築してみた - エムスリーテックブログ
    • メルカリ ハロの技術スタックとその選定理由 | メルカリエンジニアリング

      こんにちは。メルカリ ハロのSoftware Engineer (Engineering Head)の@napoliです。連載:Mercari Hallo, world! -メルカリ ハロ 開発の裏側-の2回目を担当させていただきます。 2024年3月上旬にメルカリハロという新しいサービスが公開されました。メルカリ ハロは好きな時間に最短1時間から働ける「空き時間おしごとアプリ」です。 この記事ではメルカリ ハロを作るにあたり、どういった技術スタックやアーキテクチャを選定したのか、さらにその背景と意思決定をご紹介したいと思います。 この記事で得られること メルカリ ハロで採用されている技術スタックやアーキテクチャの全体像 その意思決定の理由とプロセス これから新規サービスを立ち上げるうえでのヒント 主な技術スタック メルカリ ハロで利用されている主な技術スタックは以下のとおりです。 バック

        メルカリ ハロの技術スタックとその選定理由 | メルカリエンジニアリング
      • Your API Shouldn't Redirect HTTP to HTTPS

        TL;DR: Instead of redirecting API calls from HTTP to HTTPS, make the failure visible. Either disable the HTTP interface altogether, or return a clear HTTP error response and revoke API keys sent over the unencrypted connection. Unfortunately, many well-known API providers don't currently do so. Updated 2024-05-24: Added the Google Bug Hunter Team response to the report that the VirusTotal API resp

          Your API Shouldn't Redirect HTTP to HTTPS
        • プロンプトからREST APIを作るサービス『Hanabi.REST』の技術構成

          Hanabi.REST AIにHonoJSのバックエンドを書かせて遊ぶ、Hanabi.RESTというサービスを一般公開します。それに際して、この記事では、Hanabiの紹介と簡単に技術スタックを解説していきます。 皆さんは、AIがプロンプトからUIを生成する、V0というサービスをご存じですか?僕はあれを見たときに、ある妄想が膨らみました。 「V0のAPI版があれば、プロンプトからWebアプリケーションを作れるやん!!」と。 当初はハッカソン用の小プロジェクトとして始めましたが、想定以上に面白い結果が得られたため、開発を継続することにしました。技術的な制約、様々な黒魔術による不安定な挙動、LLMの劣化など、数多くの壁を乗り越えながら、約半年をかけてようやくリリースに至りました!! 次のリンクから実際にAIが生成したTwitter風のAPIを試すことが出来ます! また、会員登録すれば誰でもAP

            プロンプトからREST APIを作るサービス『Hanabi.REST』の技術構成
          • NumPy 2.0、6/16にリリース ―初のメジャーバージョンアップでABI、APIに大幅な変更 | gihyo.jp

            NumPy 2.0⁠⁠、6/16にリリース ―初のメジャーバージョンアップでABI⁠⁠、APIに大幅な変更 Pythonの代表的な学術計算ライブラリNumPyの初のメジャーバージョンアップとなる「NumPy 2.0」のリリース日が、2024年6月16日となることが発表された。 NumPy 2.0 release date: June 16 -News-NumPy NumPyはPythonで数値計算を行うためのライブラリ。NumPyプロジェクトにより、修正BSDライセンスの元で開発されているオープンソースソフトウェアである。低レベルから高度なものまでさまざまな計算に対応し、高いパフォーマンスを発揮することから、近年のAI、機械学習の発展において欠かせないモジュールとなっている。 NumPy 2.0は2006年以来の最初のメジャーリリースとなり、数多くの新機能と大幅なパフォーマンスアップが盛り

              NumPy 2.0、6/16にリリース ―初のメジャーバージョンアップでABI、APIに大幅な変更 | gihyo.jp
            • 無料で商用にも使える日本の郵便番号APIをリリースしました

              jp-postal-code-api https://github.com/ttskch/jp-postal-code-api 日本の郵便番号から住所のデータを取得できるWeb APIです。 GitHub Pagesを使用して静的なJSONファイルとして配信している ため、可用性が高いのが特徴です。また、オープンソースなのでクライアントワークでも安心してご使用いただけます。もし永続性が心配な場合はご自由にフォークしてご利用ください。 日本郵便によって公開されているデータ を元に住所データのJSONファイルを生成して配信しています。JSONファイルには日本語表記・カナ表記・英語表記の住所データが含まれています。ただし、以下の注意事項があります。 大口事業所個別番号の住所データは以下のように出力されます(元データ の内容がそうであるため) カナ表記は事業所名についてのみ出力されます 事業所名の

                無料で商用にも使える日本の郵便番号APIをリリースしました
              • 全ポケモンの名寄せデータ POKEMON_ALL.json を作った - 詩と創作・思索のひろば

                ポケモンプログラミングしてるといくつかの有名どころのサイトからデータを収集することになる。具体的には以下のようなサイト。 ポケモン徹底攻略 言わずと知れた、ポケモン情報の総本山。 PokéAPI ポケモンのデータをRESTで提供してくれるサイト。最近はGraphQLもやってるらしい。英語。 ポケモンバトルデータベース ポケモンホームで閲覧できるような、ランクバトルに関する情報を閲覧できるウェブサイト。 それぞれ便利なのだけど、難儀するのがポケモンのIDにそれぞれ互換性がないこと。No.25 ピカチュウのようにポケモンには全国図鑑番号というのが振られていて、基本的にはこれでいいのだけど、リージョンフォーム(同種のポケモンでも登場する地方によって姿や能力が違う)やフォルム(同じ個体でも持たせるアイテムなどによって姿や能力が違う)違いがあり、これのナンバリング方法が統一されていないということだ。

                  全ポケモンの名寄せデータ POKEMON_ALL.json を作った - 詩と創作・思索のひろば
                • GPT から Claude 3 への移行ガイド - Gunosyデータ分析ブログ

                  こんにちは。Gunosy R&D チームの森田です。 GPT-4o が発表されたこのタイミングで!?という向きもあるかとおもいますが、LLMの世界は一ヶ月もすればまったく違う状況になっているのが常なので、いずれは GPT-4o を超えるモデルが発表される時も来るでしょう。 Claude 3 Opus は一時期 GPT-4 のスコアを超え、 Claude 3 Haiku では GPT-3.5-Turbo のトークン当たりで約半額とコストパフォーマンスに優れていますし、 AWS Bedrock 経由で安定して利用できることもあり、Claude 3 は乗り換え先の候補の一つです。 Claude 3 への乗り換えには、点々とつまづくポイントがあるので、引っかかった所と回避方法をご紹介します。 今回紹介する内容はClaude 3に限らないものもありますので、ローカルLLM や他のLLM への乗り換え

                    GPT から Claude 3 への移行ガイド - Gunosyデータ分析ブログ
                  • API Gateway不要!? Lambda関数URLでのAPI構築について考える

                    Lambda関数URLで、HTTPリクエストを介して直接Lambda関数を呼び出すことが可能になりました。 これまで、Lambda関数をAPI経由で実行するためにはAPI Gatewayを使用する必要がありました。しかし、Lambda関数URLの登場により、API Gatewayを使わずにLambda関数を直接実行できるようになりました。 Lambda関数URLを使うと、API Gatewayのセットアップや管理の手間を省けます。また、API Gatewayが引き起こす遅延やコストも削減できます。 ただし、API Gatewayには多くの利点もあります。 この記事では、Lambda関数URLの利用方法とその利点、注意点について詳しく解説します。Lambda関数とAPI Gatewayのどちらを選ぶか迷っている方は、ぜひ参考にしてください。 Lambda関数URLとは Lambda関数URL

                      API Gateway不要!? Lambda関数URLでのAPI構築について考える
                    • Scala3の開発体験がScala2時代に比べてめちゃくちゃ良くなっていた話 - Qiita

                      ドワンゴのN予備校という教育サービスでプログラミング講師をしている @sifue といいます。N高等学校/S高等学校のプログラミング講師もしており、学内のツール開発や運用などもしたりしています。 最近は生成AIが流行ったこともあって、Pythonだったり、UIが必要なものはどうしてもTypeScriptとReactで実装することも多いのですが、久しぶりにScalaを使っての開発をしてみました。 自身は、Scalaでの開発はニコニコ生放送のサービスを開発するときに使っていた他、N予備校内で提供している大規模Webアプリの教材やドワンゴが当初作成していたScalaテキストの作成などにも関わらせてもらいました。 その当時のScalaは2.12であったわけなのですが、その後2.13が出て、さらに今はScala3系になって3.3.1までバージョンが進み、開発環境が変わってすごく使い勝手がよくなったと

                        Scala3の開発体験がScala2時代に比べてめちゃくちゃ良くなっていた話 - Qiita
                      • ZOZOTOWNアプリのレガシーAPIリプレイスの道のり 〜チームでの挑戦〜 - ZOZO TECH BLOG

                        はじめに こんにちは、ZOZOTOWN開発本部アプリバックエンドブロックの髙井です。 私達のチームでは、レガシーとなっているZOZOTOWNアプリ用API(以下、レガシーAPIと呼ぶ)のリプレイスに2023年から着手しています。リプレイス対象となるレガシーAPIは規模が大きいので、フェーズで区切り、段階的にリプレイスを進めています。区切られた各フェーズは、フェーズ1、フェーズ2といった形で呼び分けており、フェーズごとにリプレイス対象とするエンドポイントを設定しています。一方で、事業案件や他マイクロサービスのリプレイスが並行して行われるため、フェーズごとにリプレイス計画を柔軟に調整してきました。 本記事ではレガシーAPIのリプレイスについて、フェーズ3までを担当者が背景と課題を踏まえつつ紹介していきます。 目次 はじめに 目次 背景 フェーズ1 課題 1. リプレイス先APIの開発が初めて

                          ZOZOTOWNアプリのレガシーAPIリプレイスの道のり 〜チームでの挑戦〜 - ZOZO TECH BLOG
                        • CQRS設計パターンをモダナイズする

                          CQRSとは CQRS(Command Query Responsibility Segregation、コマンド・クエリ責務分離)は、ソフトウェアアーキテクチャパターンの一つで、つまりシステムのコマンド部分をクエリ部分から分離します。基本的な考え方は、データの書き込み操作(コマンド)と読み取り操作(クエリ)を異なるモデルで扱うことです。これにより、スケーラビリティ/パフォーマンス/セキュリティの観点で柔軟な設計が可能となり、クエリ要件に合わせて最適化が実現できます。 CQRSの基本構成としては、 コマンドモデル(書き込みモデル):データの作成、更新、削除といった書き込み操作を担当します。このモデルは、データの整合性と一貫性を確保するために最適化されています。 クエリモデル(読み取りモデル):データの読み取り操作を担当します。このモデルは、クエリのパフォーマンスを最大化するために最適化され

                            CQRS設計パターンをモダナイズする
                          • プロンプトエンジニアリングを最適化する為のフレームワークSAMMOを実際に使ってみた - Taste of Tech Topics

                            いつの間にか春も過ぎ去りすっかり夏模様の今日この頃皆さんいかがお過ごしでしょうか?菅野です。 生成AIの重要性が高まり、生成AIで利用できるテキスト量が長くなるにつれてにつれて、プロンプトエンジニアリングの重要性が高まってきました。 プロンプトエンジニアリングとは、そのプロンプトにどのような命令、事前情報等を入力すると、より適した応答が返ってくるかを設計する技術です。 そんなプロンプトエンジニアリングを最適化する為のPythonライブラリ、SAMMOがMicrosoft社から2024年4月18日にリリースされたので紹介していきます。 www.microsoft.com SAMMOとは? Structure-Aware Multi-objective Metaprompt Optimizationの頭文字をとったフレームワークです。 元来、プロンプトエンジニアリングでは、エンジニアが、様々な

                              プロンプトエンジニアリングを最適化する為のフレームワークSAMMOを実際に使ってみた - Taste of Tech Topics
                            • Docker Compose 1.27.0以降ではdocker-compose.ymlにversionを書く必要がなくなっていた - hogashi.*

                              あらすじ docker-compose.yml でトップレベルの version 要素を指定していると、 WARN[0000] (...)/docker-compose.yml: `version` is obsolete と表示される。インターネットを見ていくと version は指定しなくて良い、消したらいい、という記事がたくさん出てくるし、たしかに公式のドキュメントにも obsolete と書かれている Version and name top-level elements | Docker Docs。 Version top-level element (obsolete) The top-level version property is defined by the Compose Specification for backward compatibility. It is

                                Docker Compose 1.27.0以降ではdocker-compose.ymlにversionを書く必要がなくなっていた - hogashi.*
                              • 最近ローカルLLMがアツいらしい

                                最近、ローカルLLMがアツくなっているという話をtwitterでチラホラ見かける。 ローカルLLMって何じゃ?というと、オープンに公開されているモデルのウエイトをDLしてきて手元のPC上で推論させる事である。 オープンなAIモデルとは逆の存在として、モデルがDLできないクローズなAIモデルもある。 OpenAIやAnthropicのような最先端AI企業のクローズなAIモデルに比べて、オープンに公開されているオープンなAIモデルの性能は今でもかなり後れを取っている。 だから去年の間はあくまでAIの本命はChatGPTのようなクローズモデルであって、オープンなAIモデルなんて眼中にありませんみたいな風潮が無くはなかった。だが最近は風向きが少々変わってきている。 GPTのAPI高い問題 & OpenAIがAIベンチャー皆殺しにしてしまう問題 まず「結局GPTのAPIを叩いてサービス運営して成功し

                                • 自分好みのAIチャット相手を簡単に作れる「Dify」が面白い (1/4)

                                  生成AI界隈で話題になっているAIサービス「Dify.AI」がなかなか面白いですよ。Dify.AIは、スタートアップの米LangGeniusが用意している大規模言語モデル(LLM)用のWebUI環境を利用して、いろいろなシステムを組み込むことで、プログラムを書くことなく簡単にチャットbotなどのネイティブAIアプリを開発できるサービスです。 Difyは大きく「チャットボット」、「エージェント」、「ワークフロー」の3つの機能に分かれており、簡単なチャットボットから、複数のLLMを組み合わせた複雑な動作をさせるように設計するものまで、多様なアプリを開発することが可能です。ChatGPTから、Claude 3、Geminiなどの主要なLLMをAPIから呼び出すことができるので、それらを組み合わせてサービスを作ることも可能です。例えばOpenAIのAPIキーを生成してDifyに入力すると「GPT-

                                    自分好みのAIチャット相手を簡単に作れる「Dify」が面白い (1/4)
                                  • Power Apps & GPT-4oを使って超高速で画像解析アプリを作る! - Qiita

                                    GPT-4o凄すぎる!! 出たときから騒ぎまくっていましたが、GPT-4oの登場で興奮しっぱなしの私です。 先日こちらのQiitaの記事を拝読し、「Power Appsでやったらどうなるだろう🧐」という思いが抑えられず、作ってみたら超高速で画像解析アプリが作成できました! あらためて記事を出してくださったことに感謝いたします! まずは初弾!ということでGPT-4oを使って、 Power Appsで画像解析アプリを作成する方法 を書いていきます! まずは見た目(Power Apps)から! まずはPower Appsでサクっと画面を作ります! PowerPoint感覚で作れることが強みですからね! 最低限のもので構成しています。 画面 ├─ ScreenContainer - スクリーン全体 ├─ HeaderContainer │ └─ Header - ヘッダーコントロール ├─ Bo

                                      Power Apps & GPT-4oを使って超高速で画像解析アプリを作る! - Qiita
                                    • Reader API

                                      Our world-class embeddings for search, RAG, agent systems.

                                        Reader API
                                      • AIラジオ『zenncast』の技術構成(プロンプトつき)

                                        先日、個人開発していたzenncastというWebサービスをリリースしました。 Zennでトレンドになっている記事を、毎日AIが10分のラジオにして届けてくれるというサービスです。 ありがたいことに公開後はたくさんの方に試してもらえ、技術的な質問も多数いただきました。 このZennではzenncastの技術構成や仕組みを紹介します(プロンプトつき)。 作ったもの まずはエピソードを一つ選んで1分くらい聴いてみてください! AIラジオの雰囲気が掴めると思います。 主な機能・特徴 毎朝10分のラジオを生成 Zennでトレンドになっている記事を要約して紹介 お便りを投稿すると、翌日のエピソードでAIパーソナリティが拾ってコメントしてくれる BGMをつけて爽やかな聴き心地 これらのステップは人の手を介さずすべて自動化されています。 Spotifyなどの各種プラットフォームへの配信はSpotify

                                          AIラジオ『zenncast』の技術構成(プロンプトつき)
                                        • NotionのデータベースビューテーブルにcURLからData APIで行を追加してみた | DevelopersIO

                                          Notionのデータベースビューテーブルのレコードの追加は、親ページに子ページを追加して実現されています Notionのデータベースビューテーブルでは、レコードの追加は親ページ(データベース)に子ページ(レコード)を追加して実現されています。 呼び出すAPIは https://api.notion.com/v1/pages への POST リクエストであり、APIに利用するインテグレーションには「コンテンツを挿入」機能が必要です。 初手でインテグレーションの挿入権限不要、データベースの更新APIを検討して回り道してしまったので、知見を共有します。 RDBへのSQL操作でも、レコード追加はテーブルへの更新(ALTER)ではなく、テーブルへのレコード追加(INSERT)なので、このようなAPI操作は自然です。 なお、 Notionのテーブルはシンプルテーブルとデータベースビューテーブルの2種類

                                            NotionのデータベースビューテーブルにcURLからData APIで行を追加してみた | DevelopersIO
                                          • GPT-4o API:料金、利用方法などを完全解説

                                            GPT-4oを自分のプロジェクトに導入したり、それを使って新しいプロジェクトを開発したりしたい場合、Apidogという完璧なAPI管理ツールを使うことがおすすめです。ApidogではOpenAI APIプロジェクトを便利にアクセスして、GPT-4o APIを直ちに利用したり、テストしたり、自分のプロジェクトに導入したりすることができます。 また、完全に無料なツールなので、下記のボタンから無料でApidogを利用し始めましょう👇👇👇 buttonGPT-4oとは?GPT-4oとは、米国時間5月13日にOpenAI社がによって発表された最新のAIモデルになります。4oのoはomniの略で、「すべてを包括」という意味合いがあり、これまでのテキストと画像か、音声でChatGPTとやりとりする利用方式とは違い、テキスト、音声、画像やビデオを組み合わせて、GPT-4oとやりとりすることができるよ

                                              GPT-4o API:料金、利用方法などを完全解説
                                            • 趣味でつくった2Dゲームエンジンが導いた「幸」あるキャリア 己の欲求に従い続けた「Ebitengine」開発者に迫る レバテックラボ(レバテックLAB)

                                              TOPフォーカス趣味でつくった2Dゲームエンジンが導いた「幸」あるキャリア。己の欲求に従い続けてきた「Ebitengine」開発者に迫る 趣味でつくった2Dゲームエンジンが導いた「幸」あるキャリア。己の欲求に従い続けてきた「Ebitengine」開発者に迫る 2024年5月15日 Odencat株式会社 CTO 星 一(ほし・はじめ) ソフトウェアエンジニア。2009年にドワンゴでキャリアをスタートし、ドワンゴの関連会社やGoogle Japanなどを経て、2023年より現職。趣味では大学時代から2Dゲームエンジン開発に注力し、Google時代の2013年にEbitengineに着手し始める。2015年にVer1.0をリリース。カクヨムで「オレオ」と3文字だけ書かれた小説を手がけ、週間総合ランキング1位を獲得したことがある。 X GitHub Ebitengine公式サイト Odencat

                                                趣味でつくった2Dゲームエンジンが導いた「幸」あるキャリア 己の欲求に従い続けた「Ebitengine」開発者に迫る レバテックラボ(レバテックLAB)
                                              • OpenAIのGPT-4oを日本語OCRとして使ってみる

                                                昨日、OpenAIが生成AIの新しいモデルであるGPT-4oを発表しました。消費するトークン数の節約や、音声合成機能の改善、応答速度の向上など着実な品質改善を見せているようです。私も、特に音声合成(Text To Speech)の表現力について非常に興味を持っています。 私は以前、「OpenAIのGPT-4 Turbo with visionを日本語OCRとして使ってみる」で、GPT-4 Turboの画像認識機能の日本語OCRについて検証を行いました。その当時は、既存のコグニティブAI APIに比べて認識精度が十分でないという評価をしています。とはいえ、その後に出てきたClaude 3 Opusは驚くべき認識精度だったので、OpenAIも巻き返す可能性は十分にあると感じました。Azure OpenAI Serviceを使っている場合は、Vision enhancementという既存のコグニ

                                                  OpenAIのGPT-4oを日本語OCRとして使ってみる
                                                • リリースされたGPT-4oを使って動画のサマリー生成をしてみる! - Qiita

                                                  概要 GPT-4oが発表されました。 GPT-4oについては以下のツイートによくまとまっています。 使用している映像は以下でまとめられています。 非常に優秀でAI系のプロダクトがまた何個か死んだと思いますが、それはさておき使っていきましょう。 APIではすでに利用可能になっております。 今回は以下のcookbookにある動画要約をgradioに移植します。 https://cookbook.openai.com/examples/gpt4o/introduction_to_gpt4o デモ 以下の Huggingface Space を作りました。APIキーと動画を貼り付けて試用することができます。 1分間の動画で0.1ドル / 60秒くらいかかります。API使用料に注意してください。 現状のGPT-4o APIの制限 動画はそのままアップロードできません これは将来的にもできるとされてい

                                                    リリースされたGPT-4oを使って動画のサマリー生成をしてみる! - Qiita
                                                  • TypeScript 版 Mackerel API クライアントライブラリを作った - Object.create(null)

                                                    作りました. jsr.io リポジトリはこっち. github.com (2024-05-12 現在, 筆者は Mackerel を開発している株式会社はてなの社員ですが, これは個人プロジェクトで, API ドキュメントなどの公開されている情報に基づいて作成されています.) なぜ JSR になんか publish したくなった 乗るしかないこのビッグウェーブ TypeScript で Mackerel を操作するちょっとしたスクリプトを書きたかったが, 意外とクライアントライブラリがなかった 単に JSON を fetch してくるだけなら簡単だが, それだけでは型もないし使いづらい 使い方 1. JSR からインストール # Deno deno add @susisu/mackerel-client # Node.js npx jsr add @susisu/mackerel-clie

                                                      TypeScript 版 Mackerel API クライアントライブラリを作った - Object.create(null)
                                                    • Why Patching Globals Is Harmful

                                                      Honestly, I'd never thought I'd be writing about this, but the matter of patching globals turned out to be one of those topics that a lot of engineers seem to misunderstand. Most of us don't do monkey-patching, and even fewer stay around those implementations long enough to witness their impact. All the more reason to talk about it. Throughout the next few thousand words, I will be referring to mo

                                                        Why Patching Globals Is Harmful
                                                      • TypeScript の抽象構文木を用いた、数百を超える API の大規模リファクタリング戦略

                                                        TSKaigi 2024 の発表資料です。 https://tskaigi.org/talks/yanaemon169 Demo 用コードはこちら https://github.com/yanaemon/nestjs-migration-example ミツモアはサービスの提供開始から、6 年以上が経ち、サービが急速に拡大してきました。 急成長の中で、古いコードが多くあり新しい構成への変革が求められていました。 その中の一つに Express + TypeScriptを用いて書かれていた Backend のコードをNest.js へ移行することを決定しましたが、 管理用の API なども数えると数百を超える API 数がありました。 全て手作業で移行をしていては膨大な時間がかかります。 そこで効率的に移行するため、TypeScript のコードを Abstract Syntax Tree

                                                          TypeScript の抽象構文木を用いた、数百を超える API の大規模リファクタリング戦略
                                                        • Effectで作る堅牢でスケーラブルなAPIゲートウェイ / Robust and Scalable API Gateway Built on Effect

                                                          May 11, 2024 @ TSKaigi

                                                            Effectで作る堅牢でスケーラブルなAPIゲートウェイ / Robust and Scalable API Gateway Built on Effect
                                                          • TypeScriptとGraphQLで実現する型安全なAPI実装

                                                            この記事はTSKaigi2024での以下の私の発表内容を書き下ろしたものです。 なぜAPIに型をつけたいのか 現代のWebのシステム開発において、クライアント・サーバーともに型のある言語で開発されることが増えてきました。静的な型検査はコードの堅牢性やよりよいメンテナンス性の向上をもたらします。 プログラミング内部だけで型検査をするだけでも十分メリットはありますが、外部I/Oに対する型付けが不十分だとそのメリットを最大限に発揮してるとは言えません。外部I/Oとは、例えばWebフロントエンドだとLocalStorageやDOMからの入力値、それからネットワーク通信(今回はこれをAPIと呼びます[1])などですね。サーバー側でいうとAPIからの入力・レスポンスやデータベースへの読み書きが該当します。 個人的な経験から言うと、Webシステムの開発におけるエラーの多くはAPIやデータベースとのやり取

                                                              TypeScriptとGraphQLで実現する型安全なAPI実装
                                                            • 見よ、これがHonoのRPCだ

                                                              僕が開発しているWebフレームワークHonoは、同じJavaScriptのフレームワーク、Expressと比べられることが多いです。どちらもやれることはほぼ同じですが、HonoのアドバンテージはファーストクラスでTypeScriptをサポートしていることです。特に「RPC」機能は他のフレームワークにはなかった「TypeScriptの型でサーバーとクライアントの仕様を共有する」ことを可能にしています。今回はそのHonoのRPCについて紹介します。 どんなものか まず、どんなものかを箇条書きで共有します。 Web APIの仕様、特にインプット・アウトプットをサーバーとクライアント間で共有するためのもの OpenAPIやgRPCを使ってやりたかったことを叶えるかもしれない サーバーとクライアントをどちらもTypeScriptで書くことが大前提である 同種のものにtRPCがあるが、Honoの場合、

                                                                見よ、これがHonoのRPCだ
                                                              • 「Amazon Q Business」正式リリース。MS365やS3などの社内の情報源と接続、会社の経営情報から有給休暇の残りまでチャットAIが答えてくれる

                                                                「Amazon Q Business」正式リリース。MS365やS3などの社内の情報源と接続、会社の経営情報から有給休暇の残りまでチャットAIが答えてくれる Amazon Web Servicesは、新たなAIサービス「Amazon Q Business」の正式リリースを発表しました。 Amazon Q Businessは企業向けのAIサービスで、Amazon S3やAmazon RDS、Amazon Auroraを始めとするAWSのサービスやMicrosoft 365、Salesforce、Dropbox、Google Drive、Gmailなどのさまざまな社内の情報源と接続可能です。 サードパーティのアプリケーションにAPI経由で接続するカスタムプラグインの構築が可能になります。これにより、ユーザーは自然言語のプロンプトを使用して、Amazon Q BusinessからAPIを通じてサ

                                                                  「Amazon Q Business」正式リリース。MS365やS3などの社内の情報源と接続、会社の経営情報から有給休暇の残りまでチャットAIが答えてくれる
                                                                • 「Dify」の何が熱いの?|分解ちゃんねる

                                                                  すでにDifyの可能性に気づいていらっしゃる方々には釈迦に説法で恐縮ですが、これから試してみようとされている方も結構いらしたのでDifyを使いこなせるようになるのがワクワクする話をできればと_ _ (この記事はぼくなりにかなり噛み砕いて説明したいと思います) 「Dify」のやばさ結論、Difyには信じられないくらい多くの機能が実装されていることです。笑 機能たちをざっくり紹介しながらこの衝撃をお伝えできたらと思います。 (ちょっと機能に即した形での紹介というよりはこんなことができるんだぁ、というイメージに寄せた形で解説しようと思います。) 好きなLLMでチャットボット好きなLLMを選択してボットを構築できるChatGPTやClaude、Geminiなど各社から優秀なモデルが公開されていますが、サービスとして利用すると各サイトをいったりきたりしなくてはいけません。 しかし、Dify上でAPI

                                                                    「Dify」の何が熱いの?|分解ちゃんねる
                                                                  • 話題のローコードツール「Dify」で生成AIアプリを作ってみよう! - Qiita

                                                                    Difyって何? 少し前から話題の、プログラミングなしで生成AIアプリケーションを開発できるOSSです。 「Dify すごい」 でSNSを検索すると、驚き屋さんがみんな驚いています。このゴールデンウィークはAmazon BedrockとDifyの話題でもちきりでしたね。 元々は「GPTビルダーのOSS版ね。はい解散」という感じだったのですが、最近追加された「ワークフロー」機能がすごく便利のようです。 ちょっとしたアプリなら、ローコードで簡単に作れてしまうとのこと。 最近は自分でPCやサーバー準備して動かさなくても、SaaS版が公式から準備されたようです。無料プランもあります。 やってみた サインアップ 公式サイト右上の「Get Started」からサインアップします。 GitHub連携すると、いきなり開発画面に辿り着きました!いいUX。 「(いち?)から作成」よりワークフローを作ってみまし

                                                                      話題のローコードツール「Dify」で生成AIアプリを作ってみよう! - Qiita
                                                                    • LLMをWebフレームワークにしたら、未来が見えた #2024

                                                                      最近、LLMにWeb Backendを書かせて遊ぶ、Hanabiというサービスを作っています。その開発過程で、前に試したLLMをAPIとして振る舞わせるアプローチを再検討したので、記事としてまとめました。 一年ちょっと前、私はChatGPTをWebフレームワークにしようと試みました...が、残念ながら全く実用的ではありませんでした。しかし、あれから一年、LLMは目覚ましい進歩で進化を遂げました。価格は下がり、速度も上がり、記憶容量の増加やRAGの発展など、もはや別物レベルで進化しています。 いまならもうちょっと実用的なヤツが作れるんじゃねってことで、色々な手法を面白がった再検討したまとめです。 余談ですが、一年前はLLM=ChatGPTという状況でしたね...懐かしい。ちょうどvicuna13Bが出た頃ですかね? ↓去年の記事(できれば読んでほしい)↓ 出来たもの 全部プロンプトに入れちゃ

                                                                        LLMをWebフレームワークにしたら、未来が見えた #2024
                                                                      • 初めての個人開発 ②実装編 - Qiita

                                                                        はじめに 私は2023年10月より、内定直結型エンジニア学習プログラム「アプレンティス」に2期生として参加しています。 アプレンティスの課題としてオリジナルプロダクトを開発したので、その内容をまとめようと思います。 前回の「初めての個人開発 ①要件定義・設計編」の続きとなる「実装編」です。 目次 1.出来上がった Web アプリケーションのご紹介 2.何から手を付けるか 3.フロントエンドとバックエンドはどちらが先か 4.データベースはどこまで正規化すべきか 5.CSS 実装方法の選択 6.React Hook Form と画像の即時表示 7.Laravel Sanctum と Laravel Socialite を利用した OAuth 認証 8.ログイン情報をどのように保持するか 9.Googleマップの多重レンダリング問題 10.EC2 インスタンスのファイルシステムの拡張 11.プレ

                                                                          初めての個人開発 ②実装編 - Qiita
                                                                        • How to use JSON Path · Bump.sh

                                                                          A few years ago most API designers, developers, and technical writers would have had very little reason to bump into JSONPath, but its starting to get more and more relevant as more tools and standards start relying on it. So what is JSONPath, what is it used for, and how can you get up to speed with using it? JSONPath is a query language that can be used to extract data from JSON documents, which

                                                                            How to use JSON Path · Bump.sh
                                                                          • GitHub - openai/openai-assistants-quickstart: OpenAI Assistants API quickstart with Next.js.

                                                                            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 - openai/openai-assistants-quickstart: OpenAI Assistants API quickstart with Next.js.
                                                                            • Twilogの有料プランが月額300円でスタート、自動更新や広告非表示に対応

                                                                              Twilogの有料プランが月額300円でスタート、自動更新や広告非表示に対応有料プラン加入ユーザーはツイートの取得制限も撤廃 トゥギャッター株式会社(以下:トゥギャッター)は、X(Twitter)のポスト(ツイート)を見やすいブログ形式で保存するサービス「Twilog(ツイログ)」の有料プランを2024年5月1日にスタートしました。月額300円(税込)で自動更新とツイートの無制限取得が可能となり、ユーザーページの広告非表示にも対応しています。 有料プラン加入の導線はユーザーページの更新ボタンの下に表示されます。今回のプランに加入したユーザーは最新のツイートを自動で取得する「自動更新」が利用可能となり、ツイートの取得数制限も撤廃されます。さらに快適にTwilogを利用できるよう、「ユーザーページの広告非表示」にも対応しました。 今後は有料プラン加入ユーザー向けの新機能として、「いいねやブック

                                                                                Twilogの有料プランが月額300円でスタート、自動更新や広告非表示に対応
                                                                              • GoでgRPCのAPIテスト環境を構築する - enechain Tech Blog

                                                                                はじめに JCEXで実践しているAPIテストについて 単体テスト 負荷テスト なぜAPIの単体テストを行っているのか API単体テストで使用するパッケージ 実例によるAPI単体テストの環境構築 前提 ステップ1: テストしたいAPIの定義 ステップ2: テストの作成 ステップ3: APIの実装 ステップ4: DBを使ったテスト ステップ5: ヘルパー関数化 ステップ6: テーブル駆動テストに変える ステップ7: フィクスチャを使ったテスト まとめ おわりに はじめに こんにちは、enechainのGXデスクでエンジニアをしている@ejiです。 GXデスクは、『日本気候取引所 - Japan Climate Exchange』 (以下 JCEX) のサービス開発を担当しており、 私は主にBFFとバックエンドのAPIをGoで開発しています。バックエンドのAPIは gRPC を使用しています。

                                                                                  GoでgRPCのAPIテスト環境を構築する - enechain Tech Blog
                                                                                • 「Slack」から「Google Chat」へのデータ移行が「CloudFuze」で簡単に/

                                                                                    「Slack」から「Google Chat」へのデータ移行が「CloudFuze」で簡単に/