OpenAIの File Search の結果を分析してチューニングする
OpenAIの Assistants API では、ツールとして File Search(RAG) が利用できます[1]。 これを使えば、ファイルをアップロードするだけでAIに独自のナレッジを追加できます。 自前でベクトルデータベースを用意したり、Embedding API を使ったベクトル化やベクトル検索の実装が不要になります。 この File Search 登場時は、中身はブラックボックスでチューニングもできませんでしたが、何度かアップデートされており状況が変わってきています...
記事を読むJavaエンジニアが始めるTypeScript入門(第5回:集合を扱う型)
はじめに # 今回は、変数、引数、戻り値などに使用する集合を扱う型について説明します。 名称、概要 JavaScript TypeScript Java 備考 配列 array array Array タプル型 ≒array tuple -(commons-langなどで代用可) Set Set Set Set Map Map Map Map ※表はTypeScriptの型と近い型をマッピングしたものです...
記事を読むJavaエンジニアが始めるTypeScript入門(第4回:その他の基本型)
はじめに # 今回は、変数、引数、戻り値などに使用するその他の基本型について説明します...
記事を読むWSL上のPlaywrightの実行ブラウザを画面表示するときにハマったこと
はじめに # Windows10でWSL2上にインストールされたPlaywrightの実行ブラウザを画面に表示(ヘッドレスモードオフ)しようとした際、最初上手くいかなかったので原因とその対処した内容をまとめます...
記事を読むJavaエンジニアが始めるTypeScript入門(第2回:変数)
はじめに # 今回は変数の宣言の仕方や特性について説明します。 変数の宣言方法 スコープ 再代入 再宣言 備考 let ブロックスコープ 可 不可 再代入が必要な変数の宣言に使用します const ブロックスコープ 不可 不可 定数など、再代入が不要な変数の宣言に使用します var 関数スコープ 可 可 基本的に使用しません let # 再代入が必要な変数を宣言する際に使用します。 ブロックスコープの概念を持ちます...
記事を読むJavaエンジニアが始めるTypeScript入門(第3回:プリミティブ型)
はじめに # 今回は、プリミティブ型について説明します...
記事を読むJavaエンジニアが始めるTypeScript入門(第1回:イントロダクション)
はじめに # 当記事はフロントからバックエンドまで採用率の高いTypeScriptの基本を、Javaエンジニアに習得してもらうことを目的としています。 Javaの知識を活かしてTypeScriptを習得して頂けるように、Javaとの比較を交えながら説明しています。 これを足掛かりにスキルの幅を広げて頂けたら幸いです。 --> Information記事の中でTypeScriptと比較する形でJavaのコード例を掲載しています...
記事を読むロボットSotaにTCP/IP通信で受信したテキストを話してもらう
はじめに # 前回の記事の冒頭でも触れたのですが、弊社デジタル戦略支援事業部から出展したAI博覧会にて、ブースにあるディスプレイで流すPowerPointのスライドショーの内容をロボットに話してもらいました。 その準備の中でコミュニケーションロボットSotaにTCP/IP通信でメッセージを受信する設定をしたので、設定方法等をまとめさせていただきたいと思います...
記事を読むPythonからPowerPointのスライドショーのイベント処理をする
はじめに # 最近、私が所属するデジタル戦略支援事業部でAI博覧会というイベントに出展しておりました。 私は弊社の出展ブースでディスプレイに流すPowerPointの準備をしていたのですが、スライドショーのページが切り替わるたびロボットにスライド内容を話してもらうことになりました...
記事を読むElectron - WebContentsView 時代のアプリ構造を可視化してみる
はじめに # 今年の春頃に WebContentsView が Electron に導入され、v30.0.0 から正式版になりました。これに伴い、従来の BrowserView は deprecated になりました。 Electron に BrowserView を置き換える WebContentsView が実装されたので見てみる 元々 BrowserView や WebContentsView は、マルチビューなアプリのためのコンポーネントです...
記事を読む【夏休みの自由研究】人工生命による生態系シミュレーションで、生命の絶滅を回避する方法を模索してみた
はじめに # 世間は夏休み!! 皆様いかがお過ごしでしょうか? 学生の方は、宿題は完璧でしょうか? 私は「宿題は夏休み最終日まで放置する派」のため、ギリギリで焦って一夜漬けで何とか終わらせる、というのを何度も繰り返した記憶があります。 もう二度とやるか、と反省してものど元過ぎれば何とやら。一年後にはまたやってしまう、というのが人間の性ですね……! とはいえ、一夜漬けでなかなか終わらせることができないものもあります...
記事を読むロボットマニピュレータ制御のアルゴリズム3
MathJax.Hub.Config({ tex2jax: { inlineMath: [['$', '$'] ], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); ロボットマニピュレータ制御のアルゴリズム3 # (株)豆蔵 エンジニアリングソリューション事業部 石井隆寛 1. はじめに # (株)豆蔵では様々なロボット技術を開発している...
記事を読む「ドメイン駆動設計をはじめよう」を読んだので紹介します
はじめに # 7月にオライリー・ジャパンから「ドメイン駆動設計をはじめよう」が出版されました。 ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法 Vlad Khononov 著、増田 亨、綿引 琢磨 訳 : オライリー・ジャパン 2021年出版の Learning Domain-Driven Design の邦訳です。 翻訳者の一人である綿引琢磨さん[1]から送って頂いたので拝読させていただきました。本書の構成と概要を紹介したいと思います...
記事を読むReact入門したらuseEffectとライフサイクルで詰まったのでまとめてみた
この記事は夏のリレー連載2024 12日目の記事です。 はじめに # 前年に引き続き、夏のリレー連載に参加させていただきました塚野です。 最近簡単なWebサイトを個人的に作る機会があり、その際前々から興味のあったフロントエンド技術であるReactについて勉強したので、自分のようなReact初心者向けに記事を書いてみました...
記事を読むJavaのプログラミングをサポート!Apache Commons Lang入門
はじめに # この記事は夏のリレー連載2024 11日目の記事です。 最近流行りの風邪にかかって寝込んでいたのですが、病明けに飲んだアサヒスーパードライの味が最高に美味しく感じられた石原です。 Javaで開発していたら絶対に使いたいJavaライブラリ「Apache Commons Lang」について記載しました...
記事を読むOpenAIのStructured Outputsを使ってAIの出力スキーマを定義する
先日OpenAIからStructured Outputsという機能がリリースされました。 OpenAI Blog - Introducing Structured Outputs in the API Structured Outputsは、その名前の通り構造化された出力を強制する機能です。 とはいえ、今までもAIからのレスポンスをJSON形式で返却するパラメータはありました(response_formatにjson_objectを指定)...
記事を読むRaspberry Pi5 で挑戦!YOLOv8を使った生物の個体識別
この記事は夏のリレー連載2024 10日目の記事です。 Raspberry Pi5 で生物の個体識別にチャレンジしてみましたので、簡単に報告します。 Raspberry Pi5 や個体識別について簡単におさらいした後、YOLOv8 を使った自動アノテーションを紹介します。 YOLOv8 をCUDA が動く PC で追加学習し、そのパラメータをRaspberry Pi5 にダウンロードして識別可能か試します...
記事を読むほんの少しだけOpenAPI Generatorを拡張してみません?
この記事は夏のリレー連載2024 9日目の記事です。 APIファーストな開発アプローチをとられている方は、「OpenAPI Generator」を用いてOpenAPIの定義ファイルからソースコードを自動生成されたことがあるかと思います。 このとき、自動生成されるソースコードにひと手間加えられたらいいのになぁ~と感じたことはありませんか...
記事を読むNewSQL分散データベースTiDBをハンズオンつきで紹介してみる
この記事は夏のリレー連載2024 8日目の記事です。 はじめに # こんにちは、ビジネスソリューション事業部の山下です。 分散データベースと聞いて、難しそうとか管理が面倒そうとか、スゴそうとかそんなことを考える人も少なくないと思います。 今回の記事では最後のイメージ以外は払拭できるように、 NewSQLの分散データベースシステムであるTiDBを紹介させていただきたいと思います。ちなみにTiの読み方は「タイ」です...
記事を読むまだ他の”手法”がいるのか?と言われてもAmplioを紹介する
この記事は夏のリレー連載2024 7日目の記事です。 まぁ、タイトルでいきなり”Amplio(アンプリオ)”なんて言われても、「何のことやら」と思う人がほとんどでしょう。Amplioは、今まさに進化の真っ最中を歩んでいるアプローチです。筆者は元々DA(ディシプリンド・アジャイル)に深く関わってきたのですが、Amplioの根底にある問題意識には共感するところが多く、多くの人の参考になるのではないかと考えています...
記事を読む