サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
インタビュー
tech-lab.sios.jp
こんにちは。サイオステクノロジーの橋本です。 今回、調べてもイマイチわからなかったので実際に動作検証してみました。 今回のテーマは Ansible のモジュール「ansible.posix.selinux」を用いて RHEL 9 の SELinux を変更すると正しく変更してくれるか です。 結論は…タイトルにある通りです。 前提として RHEL 9 から SELinux の無効化方法が変更となっています。 【参考】RHEL9 での SELinux の無効化方法について 今回 SELinux を無効化する PlayBook は以下の通りかなりシンプルになります。 - name: Disable SELinux ansible.posix.selinux: state: disabled RHEL 9 サーバは現状 SELinux 有効化 (Enforcing) されています。 RHEL 9
第1章: Difyとは? 生成AIが注目され始めて早数年。ChatGPTの登場が世間を賑わしたのは記憶に新しいですね。その後も、DALL-EやGPT-4など、様々な生成AIが登場しました。これらの生成AIは、それぞれの特徴を持ち、様々な用途に活用されています。ChatGPTなどの生成AIの技術は、LLM(Large Language Model)と呼ばれ、膨大なテキストデータから学習し、高度な言語理解を実現する技術であり、自然言語処理の分野で大きな注目を集めています。 そして、LLMを利用したアプリも登場しました。特に大きな注目を集めているのはRAGやAIエージェントでしょう。RAGは、外部のデータベースや文書から関連情報を取得して回答の精度を向上させる技術、そしてAIエージェントはLLMを活用してタスクの実行や意思決定を自律的に行う仕組みです。これらのアプリは、LLMを利用して、高度な自
SIOS Tech Labの龍ちゃんです。2024年は「誰でも簡単に」AIツールが作れるDifyが登場して大いに沸いていましたね。弊社では、Azureを利用したサービス開発が多くあるため、Azure OpenAI Serviceがリリースしてそちらばかり触っていました。2025年はDifyなどのノーコード・ローコードツールを駆使して、AIサービスの開発・検証を進めていきたいと考えています。 いまから入門:Difyとは 生成AIアプリ開発ツール「Dify」の特徴については、おそらく皆さんなんとなくわかっているかと思います。実際触ってみた感想としては、手軽さに驚いています。 専門的なAIエンジニアやアプリエンジニアがいなくても、GUIの操作で簡単に生成AIアプリを作ることができます。また、豊富なLLMモデルと接続することができるので、異なる会社提供のLLMを同じ環境で動作するアプリなども自作す
生成AIの分野でもRAGは特に注目を集めており急成長している分野です。あまりに多くの情報に溢れており、各手法をどう捉えてよいか分かりにくい状況にあります。このブログではRAGがどのように成長し、どのような改善が試みられているのかを整理して、包括的で体系的に理解できるような説明を試みました。読んでいただいた方の理解の助けになれば幸いです。 RAGの概要 LLMは非常に優れた効果を発揮したものの、嘘を答えてしまうハルシネーションや古い知識での応答、回答の根拠の分からない不明瞭な推論といった問題を抱えています。RAGはこれらの課題に対し外部データベースを取り入れるというアプローチで解決を試みており、特に注目を集めている分野であり急速に進化しています。また、外部データベースを取り入れるという特性からドメイン固有の知識とLLMを組み合わせることができるため、企業からも大きな注目をされており研究・開発
皆さん、こんにちは。サイオステクノロジー武井です。今回は、生成AIの発展形であり、与えられた課題に対して自分で思考し、行動を決定し、実行する「AIエージェント」について、一筆したためたいと思います。 AIエージェントとは? ChatGPTを代表とした生成AIはとても便利ですよね。質問を行うと、まるで人間が答えているかのような自然な対話が可能であり、世界中の話題をさらいました。もう普段の生活やビジネスにもなくてはならない存在かと思います。 しかし、そんな生成AIも万能ではありません。LLM(大規模言語モデル: 生成AIの頭脳のようなもの)が知っていることであれば、スラスラっと答えてくれます(たまにハルシネーションと言って間違いも起こしますが)。しかし、LLMをが知らないことについては、お手上げになります。 これは、人間でも同じですよね。人間も、自分が知っていることであれば、スラスラと答えるこ
こんにちは、サイオステクノロジーの佐藤 陽です。 今回もRAGの構築に関する記事を書いていきます! これまでも何本かRAGに関して書いてきましたが、 今回はそれらの集大成として、PDFを外部情報とするRAGを実装し、Ragasで評価するところまで、ソースコードと合わせて一挙ご紹介していこうと思います。 これを読めば、今日からRAGが構築ができるような記事になってます! ぜひ最後までご覧ください! はじめに 今回一番伝えたいことは、「評価を回しながらRAGの開発を進めてください!!」 という事です。 RAGというと、どうしても回答を出す部分に注目が行きがちですが、評価の方も非常に大切です。 生成AIを利用していることもあり、RAGの回答内容は不安定であるため、人間が評価するのが難しいことがよく言われています。 更にRAGを構築する要素の設計は多岐にわたります。 プロンプト変更 チャンキング戦
この度、「Azure OpenAI ServiceによるRAG実装ガイド」をダウンロードしていただいた方限定に、RAGのハンズオンを無料開催いたします。 本ガイドの目的は、これからRAGを始める人に参考にしていただくため、「シンプル」「強力」「すぐ動く」をモットーにしたRAGアプリケーションを実装するためのガイドです。本ガイドではRAGのアーキテクチャのみならず「実際に動くコード」もご用意致しました。読者の皆様には、コードを動かしながらRAGをより深くご理解頂けることを一番の目的としております。 ハンズオンのお申込みは先着順となっておりますので、ご興味がある方はお早めにお申し込みください。 【無償】初級テクニカルトレーニング Azure OpenAI ServiceによるRAGハンズオン 〜独自データを用いた生成AIの利活用を学ぶ〜【初級編】 <概要> Azure OpenAI Servi
こんにちは、サイオステクノロジーの佐藤 陽です。 今回は Azure の AI Services の 1 つである Azure AI Document Intelligence について入門していきたいと思います。 PDF や画像データを扱いやすいデータにしたい! RAG の開発で PDF の情報を独自データとして活用したい! Document Intelligence から返ってくるパラメータの構造が分からない。 といった方は最後までご覧ください。 特に、3つ目のDocument Intelligence から返ってくるパラメータについて知りたい方はコチラへどうぞ! AI Document Intelligence概要 Azure AI Document Intelligence は Azure AI Services に含まれるサービスのひとつであり、pdf ファイルや画像データからの
Table users { id integer [pk] first_name varchar last_name varchar email varchar [not null] password varchar [note: 'Hashed password'] created_at datetime [not null, default: `now()`] updated_at datetime Indexes { email [unique, name: "ui_users_email"] } Note: 'table: users' } 上記のテーブル定義を dbdiagram.io の左側のコード記載部分に張り付けると右側にプレビューが表示されます。 以下は dbdiagram.io でのプレビューをした時の表示です。(Noteの箇所は説明のため加工しています) (1) Ta
みなさん、こんにちは。サイオステクノロジー武井です。今回は、Azure OpenAI ServiceによるRAG実装ガイドを公開しましたので、ご紹介させてください。 ※ このブログでのご紹介ととも以下のイベントでもガイドに関する詳細なご説明や、ガイドにはないデモなどを実施しますので、ぜひご参加ください。 Azure OpenAI ServiceによるRAG実装ガイドを公開しました https://tech-lab.connpass.com/event/315703 Azure OpenAI ServiceによるRAG実装ガイドとは? 以下のURLで公開しております。執筆しているうちに100ページ超の壮大なものとなってしまいました。 https://mk.sios.jp/aoai-rag-dev-guide-form 本ガイドの目的は、「シンプル」「強力」「すぐ動く」をモットーにしたRAGア
サイオステクノロジーの佐々木です。 今回はSBOMツールについて様々な観点で表にまとめてみました。(目視で調べているので取りこぼしやミスがあるかもしれません。その際はご指摘ください) SBOMとは何ぞやという方は別の記事がありますのでこちらを参照してください。 以下はすべてミニマムのプランになります。 今回分類対象とするSBOMツールは以下になります Black Duck Checkmarx SCA FOSSA FossID Insignary Clarity MEND SCA Revenera SCA Snyk Sonatype Lifecycle Veracode SCA Daggerboard Dependency-Track OSS Review Toolkit (ORT) SBOM Tool ScanCode.io Scancode Toolkit SwiftBOM Syft &
はじめに この記事では、github actionsでdockerのbuildをキャッシュする方法を4つ調べたので、その比較を書いていきたいと思います。 結論だけ知りたい方は、こちら ベースコード 今回の比較で使うベースのサンプルコードです。 dockerのビルドにはbuild-push-actionを使い、push先にはgithub container registry(ghcr)を利用します。 Dockerfile FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build WORKDIR /myApp COPY ./myApp/myApp ./ RUN dotnet restore RUN dotnet publish -c Release -o /app --no-restore FROM mcr.microsoft.com/dotnet/aspn
はじめに こんにちは。先日、社内にてSBOMに関する勉強会を行いました。この記事では、そこで学んだことを解説していきたいと思います。 具体的な内容は以下の通りです。 SBOMとは何か SBOMを導入するとどんなメリットがあるか SBOMを導入するにはどんなことに気を付けて何をすれば良いか SBOMにはどんな種類があるのか 特に、SBOMに興味はあるけど具体的に何していいかわからない、という方に参考になると思っています。少々長いですが、最後まで読んでいただけると嬉しいです。 それでは、順番に説明していきます。 SBOMとは SBOMとは、ソフトウェア部品表(Software Bill of Materials)、つまり、ソフトウェアコンポーネントやそれらの依存関係の情報も含めた機械処理可能な一覧リストのことです。 ソフトウェアに含まれるコンポーネントの名称やバージョン情報、コンポーネントの開
こんにちは、サイオステクノロジー武井です。今回は、「RAG構築のためのAzure OpenAI Serviceリファレンスアーキテクチャ詳解」と題しまして、マイクロソフトが提供するRAG導入のためのリファレンスアーキテクチャについて解説します。 ※ 本記事の内容がベースとなっているオンラインセミナーのアーカイブが以下のYouTubeで配信されています。ぜひ見てね!! Azure OpenAI Service リファレンスアーキテクチャとは? マイクロソフトは、Azureでのシステム構築に役立つ様々な設計パターン(リファレンスアーキテクチャ)を提供しています。これらのパターンを参考にすれば、問題なく簡単にシステムを構築することが可能です。ゼロから設計を始める必要はありません。 https://learn.microsoft.com/ja-jp/azure/architecture/brows
はじめに 皆さんこんにちは、新卒2年目エンジニアの細川です。 今回は輪読会にて勉強したDBのインデックスが効かなくなるSQLについて紹介したいと思います。 今回参考にさせていただいた書籍 今回輪読会で読ませていただいた書籍は「達人に学ぶDB設計徹底指南書: 初級者で終わりたくないあなたへ」という書籍です。DBの良い設計や悪い設計について、それがなぜ良いのか悪いのかを例を踏まえて分かりやすく解説してくれている本です。 正規化手順などについても詳しく書かれており、DBに不安を感じる方はぜひご一読をお勧めします! DBのインデックスについて DBのインデックスと聞くと、何となく貼ると早くなるくらいの認識で使っている方もいらっしゃるのではないでしょうか?(僕はそうでした笑) しかし、インデックスも万能ではなく、種類によって向き不向きもあり、正しい使い方をしないとうまく効果を発揮できません。 インデ
ども!今回は、GitHub Actions上でOWASP ZAPのスキャンを実行する方法について技術ログを記載しています。Docker版のOWASP ZAPを使うことでCI/CD内で処理ができることを知ってびっくりしました。なるべく自動化できるところはしていきたいですね。セキュリティ関連記事第一弾 はじめもす セキュリティについてちょこっと勉強を始めた龍ちゃんです。エンジニアの要素っていっぱいありますよね。すべてのエンジニアが持っておいた方が良い知識や単体でお仕事になる知識など、いろんなものがありますよね。でもゼロ知識よりもちょこっと知識があったほうが良いものだと思います。そんな気分でお勉強を進めています。 セキュリティ関連CI/CD第一弾になっています。それでは本題に入っていきましょう。 今回は、OWASP ZAP関連に記事になります。まぁタイトル出オチですよね。実は、CI/CDでOWA
tl;dr t4g.smallインスタンスは2024年も1台分無料で利用できそうです。 AWSでは無料で利用できる「AWS 無料利用枠」が提供されています。 EC2ではt2.microまたはt3.microインスタンスを月750時間分(つまり1台立ち上げっぱなし分)が12ヶ月無償になるという太っ腹な仕様で、個人で利用される方などで助かったという方は多いと思います。 で、この無料利用枠のページには書いていないのですが、EC2のGraviton(Armアーキテクチャ)インスタンスであるt4g.smallインスタンスも無料で利用できる、というのはご存知でしょうか? 2021年2月のアナウンスにてT4gインスタンスの無料トライアルが発表されています。当時は2021年12月31日まで、ということでしたが、EC2についてのFAQのページ (https://aws.amazon.com/jp/ec2/f
こんにちは、サイオステクノロジー武井です。今回は、Azure AI Searchによるベクトル検索・セマンティック検索・ハイブリッド検索について一筆したためたいと思います。 最もメジャーな検索手法は、単語の出現頻度に基づいてランキングを行う「キーワード検索」です。この検索方法は、ユーザーが入力した特定のキーワードやフレーズを検索対象のテキストと直接的に比較してマッチングを行います。キーワードの出現頻度や配置に基づいて結果を決定しますので、シンプルで直感的ですが、文脈の理解や言葉の意味の深さを捉えるのには限界があります。 また、ベクトル検索という手法もあります。テキスト内容を数値のベクトルに変換し、これらのベクトル間の類似度を計算して検索結果を提供します。深層学習に基づくモデルを使用して文脈や意味の理解を行うため、より精度の高い検索結果を得ることができます。この方法は、単語の類似性や文脈的な
SQLのlike文ではだめなのかという疑問が湧くと思います。like文検索では全ての文書を検索しなければなりません。例えば、SQLで「ペット」でlike文検索(select * from docs where content like ‘%ペット%’)したとします。そうなると、文書全体を検索することになります。 一方で、転置インデックスを検索する場合は、「ペット」をキーに検索しますと、その単語に直接関連付けられた文書(ドキュメント1、ドキュメント2、ドキュメント4)を引っ張ってくることができます。これにより、検索時間が大幅に短縮され、大量のデータを扱う検索エンジンで特に有効です。 検索結果の順位付け キーワード検索による検索結果の順位付けの方法について、ご説明します。Googleで検索を行うと、検索したキーワードに一番関連のありそうなWebサイトやドキュメントが上部に表示されますよね。これ
こんにちは。サイオステクノロジー OSS サポート担当 山本 です。 今回は systemd + rsyslog な環境でどうしてもシステムパフォーマンスを優先させたい場合にもしかしたら役に立つかもしれない、journald のログを記録させずに rsyslog のログだけを記録させる方法を見てみようと思います。 ■おさらい:journald、rsyslog って? いずれもログに関するものです。 一部の Linux ディストリビューション (Red Hat Enterprise Linux、Debian など) では、いずれもシステム上のログ管理のためにデフォルトでインストールされています。 journald は、システム管理ソフトウェア systemd のコンポーネントの一つで、システム全体のロギングを担うものです。 これのログはデフォルトでは一時ディレクトリ /run/ 配下の /r
みなさん、こんにちは。サイオステクノロジー武井です。今回は、今話題沸騰の生成AIサービスであるAzure OpenAI Serviceについて、世界一わかりみの深い説明をしたいと思います。 ※ 本記事の内容がベースとなっているオンラインセミナーのアーカイブが以下のYouTubeで配信されています。ぜひ見てね!! 世界一わかりみの深いAzure OpenAI Service 本記事について 本記事は、「なんだか最近巷で色々と話題になっている生成AIだけど、なんかマイクロソフトからAzure OpenAI Serviceっていうのが出たよね?それナニモノ?なんの役に立つの?他のAIサービスと何が違うの?どういうふうに使うの?」というような疑問を頂いている方が対象になります。 そこでよりわかりみの深い説明を目指すために、本記事ではまずOpenAIについてその成り立ちや概念、基本的な使い方などを説
サイオステクノロジーの池田 透です。 今回はTerraform Custom Providerの設計について説明します。 TerraformとはOSSのクラウドリソースのプロビジョニングツールでAWS、Azure、GCPなどマルチクラウドに対し、多くのインフラをプロビジョニングできます。 一方で提供されていないプロビジョニング処理についてはCustom Providerで処理を記述する必要があります。 Custom Providerの適切な設計をするにはTerraformの仕様や慣習を把握した上で進めることが大切です。 このような点を踏まえながら、最終的にHashiCorpが提供するProviderのリファレンスレベルの仕様書ができ、実装をスタートできる状態にすることを目標とします。 Custom Providerの開発の必要性の判断 まずはそもそもTerraform Custom Pro
初めましてこんにちは、2023年新卒入社のやまなかです。 Envoyは、マイクロサービスアーキテクチャをサポートするOSSのネットワークプロキシとロードバランサです。自分はマイクロサービスアーキテクチャ??ネットワークプロキシ??ロードバランサ??横文字が多くてわからないよ~といった感じでしたので、この記事ではその辺りも噛み砕いてEnvoyの基本的な概念と重要な特徴を紹介します。 用語集 マイクロサービスアーキテクチャ 機能ごとに独立したサービスとしてシステムを分け、それらを組み合わせて一つの大きなシステムを作るアーキテクチャ ネットワークプロキシ インターネットを接続する際に、ネットワークの内部から外部へのアクセスを代理で行うシステム。外部から内部へのアクセスを代理で行う場合はリバースプロキシと呼ばれる。 ロードバランサ 外部からの通信(トラフィック)を複数のサーバーに分散する装置 ネッ
こんにちは。サイオステクノロジー OSS サポート担当 山本 です。 今回は systemd (journald) + rsyslog 環境で何かログが途切れている気がする、ある見慣れないログがある場合の対処法を見ていきたいと思います。 ■おさらい:journald、rsyslog って何だっけ? いずれもログに関するものです。 一部の Linux ディストリビューション (Red Hat Enterprise Linux、Debian など) では、いずれもシステム上のログ管理のためにデフォルトでインストールされています。 journald は、システム管理ソフトウェア systemd のコンポーネントの一つで、システム全体のロギングを担うものです。 これのログはデフォルトで一時ディレクトリ /run/ 配下の /run/log/journal/ 配下に保存されます。 rsyslog は
Azure Application Gatewayとは? Azure Application Gatewayとは、Azureが提供するL7のロードバランサーです。以下の特徴があります。 もちろんマネージド。セキュリティパッチ当てたりなどの運用は一切不要である。 負荷に応じて柔軟にスケールする。 SSLの終端を行うことができる。 WAF(Web Application Firewall)によって高いセキュリティを確保できる。 Azureの各種サービスと密な連携が可能である(例えばApp Serviceの前段に配置することも簡単にできる) と、まぁいろんな特徴があるわけなんですが、以降でそれらの特徴をわかりみ深く説明していきたいと思います。 Azure Application Gatewayの構成 Application Gatewayの概念は少々複雑です。まずはざっくりとした概念図をご説明し
こんにちは。サイオステクノロジー OSS サポート担当 山本 です。 今回は以前お話しした journald のログを永続化するお話しをしてみようと思います。 ■おさらい:journald って何だっけ? journald は、システム管理ソフトウェア systemd のコンポーネントの一つで、システム全体のロギングを担うものです。 この journald のログは、systemd + rsyslog でロギング環境を構成するシステムでの主要なログファイル /var/log/messages の元となっている一方で、 journald のログ自体は通常はデフォルトで一時ディレクトリ /run/ 配下の /run/log/journal/ 配下に保存されており、システムの再起動ごとに中身が全て消えてしまいます。 …というのが、前回と前々回お話しした概要でした。 ■journald のログは永
今回は、Gitをチームで運用していく際におざなりにされがちなことについて書いています。一週間前におざなりにして注意を受けたので備忘録的にまとめておきます。できなくても問題なくてもできたほうが後々助かるよね~そんなお話です。簡単に言うとコミットメッセージはルールを決めてちゃんと書こうねってことです。 どもども!最近の睡眠事情が終焉に向かっている龍ちゃんです。もともと三か月に一度のペースで睡眠障害チックなことは起きていたのですが、最近なくて油断していましたね。おそらく心と体のバランスが取れていないことが原因だと思います。少し問題ですね…お休みするかはこのブログを書いてから考えましょう。 さて、今回は「Git」にまつわるお話です。もっと踏み込んで「Git:コミットメッセージ」にまつわるお話です。余談というかこのブログの走りの部分ですが、先週ちょっとした苦言を呈されてしまいました。まぁ10:0で僕
bash における () [] {} とは Linux で bash を使用している環境で、スクリプト内などに括弧 () [] {} が使用されることがあります。 これらの括弧を使用することで、より複雑なスクリプトが作成できたり、スクリプトの記述を簡略化する事が出来ます。 なお、bash とはシェルの名称です。シェルには他にもたくさんの種類がありますが、bash が Linux 標準のシェルとして採用されています。 () [] {} の使い方 丸括弧 () 丸括弧 () は、括弧内に記載された命令をサブシェルとして実行します。 サブシェルというのは、シェルから起動された別の (子プロセスの) シェルのことを言います。 サブシェルで操作した内容は、元のシェルに影響を与えません。 $ pwd /opt/dir1 $ (cd /opt/dir2) $ pwd /opt/dir1 ただし、ファイル
はじめに 今回は、React+Typescript環境でエラーハンドリングについて向き合った結果についてまとめて報告していこうと思います。 どもども!新米フロントエンドエンジニアである龍ちゃんです。エラーハンドリングって大変だなと思っている今日この頃です。注意点です!この記事ではコーディングまでは行わず、事前準備として調べた内容をざっくりとまとめた内容になります。 先に結論としてReactでエラーハンドリング方法について触れておきます。 ここからは、僕の頭の中を図に落とし込んで各項目の説明を挟んでいきます。実装用のメモとして先人たちのブログを掲載しておきます。僕自身もこれからという分野なので一緒にエラーハンドリングの沼におぼれていきましょう。 僕の勉強遷移 はい!勉強遷移をそのままアウトプットしました。今回のこと始まりとしては、エラーハンドリングという単語を知らないところから始まりました。
次のページ
このページを最初にブックマークしてみませんか?
『SIOS Tech. Lab – エンジニアのためになる技術トピックス』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く