タグ

関連タグで絞り込む (501)

タグの絞り込みを解除

tipsとdevに関するko-ya-maのブックマーク (1,270)

  • RAGは検索エンジンが命!Azure AI Search初心者入門 - Qiita

    はじめに こんにちは! AI エンジニアのヤマゾーです。 近年、生成 AI の進化が目覚ましく、生成 AI を活用したシステムの開発が盛んに行われています。その中で最も有名なテクニックが RAG です。RAG というのは検索拡張生成 (Retrieval Augmented Generation) の略で、質問の関連情報を検索し、質問と関連情報をセットで入力して回答させる技術のことです。 各企業ではこの RAG システムを積極的に導入していますが、ほぼ確実に課題になるのが検索部分の精度です。そして検索精度を上げるためには検索エンジンの知識が必要不可欠です。 記事では検索エンジンの筆頭サービスである Azure AI Search を題材に、検索エンジンの基的な仕組みや検索クエリの書き方について初学者向けに解説します。 RAG の検索部分を "Retriever" と呼びますが、この語源

    RAGは検索エンジンが命!Azure AI Search初心者入門 - Qiita
  • 多段 ssh するなら ProxyCommand じゃなくて ProxyJump を使おう

    概要 AWS とかで踏み台ホスト経由(ここでは AWS っぽく bastion と呼ぶ)で ssh する必要があるなら ~/.ssh/config は↓みたいにしとくのが良いんじゃないかな? Host bastion Hostname bastionのIPアドレス User bastionのユーザ名 # ↓は規定のファイルだったり ssh-agent 使ってれば不要 IdentityFile bastion接続用の秘密鍵ファイル名 # ↓の3つはWindowsでは使えないので諦めて ControlMaster auto ControlPath ~/.ssh/cp-%r@%h:%p ControlPersist 10m Host 好きな接続先名 Hostname 接続先のIPアドレス User 接続先のユーザ名 # ↓は規定のファイルだったり ssh-agent 使ってれば不要 Identi

    多段 ssh するなら ProxyCommand じゃなくて ProxyJump を使おう
  • [翻訳]LLMで1年間開発して学んだこと〜LLMプロダクト開発を成功に導くための実践的ガイド〜

    この記事は "What We’ve Learned From A Year of Building with LLMs" という記事を著者の一人である Eugene Yan さんから許可を得て翻訳したものです。 https://applied-llms.org/ Thank you for giving me a permission to translate this wonderful article! 著者の方々 Eugene Yan Bryan Bischof Charles Frye Hamel Husain Jason Liu Shreya Shankar 原文の公開日 2024/6/8 今は大規模言語モデル(LLM)を使った開発がとってもエキサイティングな時期です。この1年間で、LLMは実世界のアプリケーションに対して「十分に良い」ものになりました。そして、年々良くなり、安く

    [翻訳]LLMで1年間開発して学んだこと〜LLMプロダクト開発を成功に導くための実践的ガイド〜
  • GitHub Actionsにおける脅威と対策まとめ

    はじめに こんにちは、サイボウズ24卒の@yuasaです。 サイボウズでは開発・運用系チームに所属する予定の新卒社員が研修の一環として、2週間を1タームとして3チームの体験に行きます。新卒社員の私が生産性向上チームの体験に行った際に、チーム内でGitHub Actionsを利用する際の脅威と対策について調査を行い、ドキュメント化した上で社内への共有を行いました。記事では、そのドキュメントの一部を公開します。 対象読者 記事の主な対象読者としては、以下のような方を想定しています。 GitHub Actionsを組織で利用しているが、特にセキュリティ対策を実施していない方 GitHub Actionsを組織で利用しており、部分的にセキュリティ対策を実施しているが、対策が十分かどうか分からない方 記事がGitHub Actionsのセキュリティ対策を検討する上で参考になれば幸いです。

    GitHub Actionsにおける脅威と対策まとめ
  • RAGの実案件に取り組んできた今までの知見をまとめてみた | DevelopersIO

    はじめに 新規事業部 生成AIチーム 山です。 ChatGPTOpenAI API)をはじめとしたAIの言語モデル(Large Language Model:以下、LLM)を使用して、チャットボットを構築するケースが増えています。通常、LLMが学習したときのデータに含まれている内容以外に関する質問には回答ができません。そのため、例えば社内システムに関するチャットボットを作成しようとしても、素のLLMでは質問に対してわからないという回答や異なる知識に基づいた回答が(当然ながら)得られてしまいます。 この問題を解決する方法として、Retrieval Augmented Generation(以下、RAG)という手法がよく使用されます。RAGでは、ユーザからの質問に回答するために必要そうな内容が書かれた文章を検索し、その文章をLLMへの入力(プロンプト)に付け加えて渡すことで、ユーザが欲しい

    RAGの実案件に取り組んできた今までの知見をまとめてみた | DevelopersIO
  • Boolean のカラムを生やす前に考えたいこと

    その方が単純に情報量が増えるため 最初 boolean にしてたけど後から時刻もほしくなるということはよくある。後から日時型のカラムに変えようと思っても、過去のイベントの日時は失われてしまっていて困る。今は日時が必要でないように感じても日時にしておく方がよい。 またアプリケーション的に使わなくても、データ分析のためにあると嬉しいことは多い。 コード的にも特に扱いにくくなることはない 以下のようにして簡単に boolean と同じ感覚で扱うことができる。 class Post < ApplicationRecord scope :unpublished, -> { where(published_at: nil) } scope :published, -> { where.not(published_at: nil) } def published? !published_at.nil?

    Boolean のカラムを生やす前に考えたいこと
  • 「インフラエンジニアには難しい」「手でやったほうが楽」も解消 これからCDKを使う人向けの4つのナレッジ

    AWS CDK Conference Japan」は AWS CDK ユーザーが集まって事例やノウハウを共有しあうイベントです。今回は、CDKv2をメインテーマに、初の大型カンファレンスが開催されました。アマゾンウェブサービスジャパンの大村氏は「Baseline Environment on AWSBLEA)開発にあたって検討したこと」をテーマに発表しました。まずはCDKとBLEAについて解説したのち、これからCDKを使う方たちへのナレッジを紹介します 自己紹介 司会者:次は、今までがんばってCDK(Cloud Development Kit)を普及させてきた大村さんです。 大村幸敬氏(以下、大村):よろしくお願いします。 司会者:初めて聞く単語なんですが、読み方は「ブレア」でいいですか? 大村:「ブレア」でいいです。 司会者:準備ができたらBLEA(Baseline Environ

    「インフラエンジニアには難しい」「手でやったほうが楽」も解消 これからCDKを使う人向けの4つのナレッジ
  • データベース設計におけるNULL - kawasima

    NULL絶対ダメ論や現実的には無理だから上手く付き合っていくしかないんだよ論など見られるが、せっかくCodd博士が上図の分類を提示しておられるので、これを元にもっと詳細化して考えてみよう。

    データベース設計におけるNULL - kawasima
    ko-ya-ma
    ko-ya-ma 2022/05/21
    safari
  • 作業環境をDockerfileにまとめて、macOSでもLinuxでもWSL2でも快適に過ごせるようになった話

    こんにちは、CLI生活至上主義?の、 ひのしば です。 まぁ、至上主義というのは、ちょっと言い過ぎかもしれませんが、screen, vim, mutt, newsboat, pass, あとは、gitやssh 辺りを使う生活をしており、1日の作業がこれだけで完結するような事もあるような生活を送っています。 さて、そんな私が、ワークステーションサーバに、macOSや、Windows, Linuxから接続して操作するといった構成から、 作業環境をDockerfileにまとめ、手元で上がる環境をdockerコンテナへ統一し作業する構成とした話を紹介します。 この環境は、ここ数ヶ月、不自由なく使えている事もあり、自身の整理のためにも、どのような点が気になって対応したのかを挙げていきます。 詳細は下部に記載する通りですが、 例えば、dockerfile上のuidの問題に気をつける点、Linuxとma

    作業環境をDockerfileにまとめて、macOSでもLinuxでもWSL2でも快適に過ごせるようになった話
  • TypeScriptのmoduleSuffixesについて考えて納得した - Qiita

    みなさんこんにちは。今日は、TypeScriptの新しいコンパイラオプション(おそらく4.7で導入)であるmoduleSuffixesについての話題がTwitterで見られました。 moduleSuffixesについて詳しくはこちらをご参照ください。 これについては、「モジュール解決がさらに複雑化する」などいくつかの方向性から否定的な意見が見られました。しかし、筆者が考えてみたところ、正当性のある機能追加だと納得できたので考えをご紹介します。 3行でまとめると これまで通りランタイムの挙動に影響しないから大丈夫だよ pathsが怖くないならmoduleSuffixesも怖くないよ TypeScriptJavaScript環境に追随するよ moduleSuffixesとは では、moduleSuffixesはどんなコンパイラオプションなのかという解説をまず少しします。これはTypeScri

    TypeScriptのmoduleSuffixesについて考えて納得した - Qiita
  • Reactのベストプラクティスとコード削減パターン - パート1

    記事は React best practices and patterns to reduce code を提供元の事前許可を得たうえで翻訳したものです。 元の記事に従いタイトルに「ベストプラクティス」と含んでいますが、実際にはベストプラクティスは規模や状況によって大きく異なります。 チームの状況にあわせて参考にしていただければと思います。 ===== これは全3パート中の第1パートとなる記事です。 パート1(この記事)パート2パート3 私は数年に渡っていくつかのプロジェクトで、React.jsを使った取り組みに参加してきました。様々なプロジェクトに取り組む中でいくつかの共通するパターンを見出したためブログでご紹介いたします。それではいきましょう。 1. reduxのactionsとdispatcherのためにカスタムフックを作成する私はreduxを使うことを好んではいませんが、いくつ

    Reactのベストプラクティスとコード削減パターン - パート1
  • Qiitaの質問に答えまくって気付いた初心者に足りないバグ解決スキル - Qiita

    ここのところちょっと時間に余裕があり、暇を見つけてはQiitaの質問に答えるという取り組みをやっています。以前StackOverflowでも同様の取り組みをちょっとだけしてたことがあります。 9日間で35個の質問に回答してみて、正直に思うのは「質問の質が悪すぎるなー」ということです。ただ、どう質が悪いのか上手く言語化できず悶々としていました。 そんな折、今朝googleのおススメ記事に飛び込んできたQuaraのこちらの回答を読んで、「これこれ!こういうことよ!」という気持ちになったため、これから質問する人に向けてこの内容を少し嚙み砕いてまとめてみます。 ベテランはどうデバッグをしてるのか (自分をベテランと言っていいのかはさておき)日頃からコードを書いていると、デバッグには、その時使っている言語やフレームワークによらず、ある程度の行動パターンがあることに気付いてきます。 デバッグには難しい

    Qiitaの質問に答えまくって気付いた初心者に足りないバグ解決スキル - Qiita
  • If you’re not using SSH certificates you’re doing SSH wrong

    If you’re not using SSH certificates you’re doing SSH wrongUpdated on: May 20, 2024 SSH is ubiquitous. It's the de-facto solution for remote administration of *nix systems. But SSH has some pretty gnarly issues when it comes to usability, operability, and security. You're probably familiar with these issues: SSH user experience is terrible. SSH user on-boarding is slow and manual. Connecting to ne

    If you’re not using SSH certificates you’re doing SSH wrong
  • `COPY --chmod` reduced the size of my container image by 35%

    $ podman history vamc19/nomad:latest ID CREATED CREATED BY SIZE COMMENT ... <missing> 36 minutes ago /bin/sh -c apt-get update && apt-get insta... 94.4 MB 374515aec770 36 minutes ago /bin/sh -c # (nop) COPY file:6dbfa42743cc65... 87.7 MB 22cd380ad224 36 minutes ago /bin/sh -c # (nop) LABEL maintainer="Vamsi"... 0 B FROM docker.io/library/ubuntu:21.10 ... The layer created by COPY is 87.7MB, which

  • React.ComponentProps 型を積極的に使おう

    Atomic Design でいう Atoms に相当する、汎用コンポーネントについての小話です。次の様に Props 型定義を用意し、解説している記事をよく見かけます。<input />タグを使わずコンポーネント化している理由は style を施すためかと思いますが、このコンポーネントが受け取れる Props は限定的で、メンテナンスコストが高いためお勧めできません。 type Props = { value: string; onChange?: React.ChangeEventHandler<HTMLInputElement> onBlur?: React.FocusEventHandler<HTMLInputElement> } export const Input = ({ value, onChange, onBlur }: Props) => ( <input value=

    React.ComponentProps 型を積極的に使おう
  • 多コピーの原罪

    Rust 分かんないッピ ・ε・ Rust の文字列周りのプラクティスを基礎から勉強してみようと思って勉強したのでそのときのメモをまとめます。 Rust は GC を持たない なぜ Rust の文字列周りの型があんなに大変なことになっているかは、Rust のメモリモデルと Copy の仕組みを学ぶことで理解できた気がしたので、メモリの話から始めます。 FYI: https://www.reddit.com/r/rustjerk/comments/ovx0uq/the_two_major_ways_rust_changed_my_life/ GC とは まずは GC からです。 GC とは Wikipedia をそのまま引用すると ガベージコレクション(英: garbage collection; GC)とは、コンピュータプログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に

    多コピーの原罪
    ko-ya-ma
    ko-ya-ma 2022/03/23
    文字列の扱いに関する考察
  • “HTTPSレコード”って知ってる?今知るべき4つの注意点 | IIJ Engineers Blog

    [注] この記事はすぐに陳腐化するはずの内容について扱っています。何年か経ってからこの記事を参照する場合、2022年3月に書かれた内容であることを留意の上お読みください。 はじめに IIJ DNSプラットフォームサービスにて、先日大きなアップデートと小さなアップデートがありました。大きなアップデートというのは、これまでのマネージドDNSサービスに加えてもうひとつ、IIJ DNSトラフィックマネージメントサービスという新たなサービスが追加されたこと。サーバの死活監視結果に応じて動的にDNSの応答を変えることができます。小さなアップデートは、従来のマネージドDNSサービスへの機能追加。HTTPSレコードに対応しました。 サービスの宣伝という意味では大きなアップデートの方を紹介した方がいいんでしょうけれど、ヘソ曲がりなのでここでは小さなアップデート、HTTPSレコードの方に焦点をあてます。 そも

    “HTTPSレコード”って知ってる?今知るべき4つの注意点 | IIJ Engineers Blog
  • RDBのデータモデリング・テーブル設計の際に参考にしている考え方と資料

    はじめに タイトルのとおり、RDBのデータモデリング・テーブル設計を行う際に参考にしている考え方と関連資料をまとめました。 P.S. なんと記事内でいくつか参考として挙げさせてもらっている増田さん・かとじゅんさん・奥野さん・そーだいさんからコメントいただくことができました。 当にありがとうございます。 前提 RDBを採用するのは事実を無駄なく正しく記録するため 正規化、トランザクション、制約とデータ整合性 基的には始めに理想として集合論・リレーショナルモデルに基づいて正規化を考え(論理設計)、パフォーマンスなどの現実問題に対して折り合いをつけていく(物理設計) 制約を最大限利用する cf: ↑P91〜 ↑P.29,41 ↑P56〜 ↑5章 ↑P347~ 情報とデータ データ:単なる事実の値→これを永続化して蓄えるものがRDB 情報:データから生み出される意味や目的のあるもの→RDB

    RDBのデータモデリング・テーブル設計の際に参考にしている考え方と資料
  • S3のブロックパブリックアクセスが怖くなくなった【AWS S3】

    設定画面の日語の意味が理解できない この画面。 S3これから使っていこうというユーザーの心を闇へ引きずり込み、そっとキャンセルボタンへマウスカーソルを誘導する設定画面だと思います。 S3の基礎なのかもしれませんが、すごく分かりづらい。 アクセス許可の種類 ブロックパブリックアクセスの説明の中にいくつか重要な単語が出てきていたかと思います。 パブリックバケットポリシー アクセスポイントポリシー アクセスコントロールリスト(ACL) これらは、S3にはいくつかアクセス許可の手段がありそれらを制御するためのポリシー類になります。 これを絵するときっとこんな感じです。(間違ってたらごめん) インターネットやVPCなどからアクセスする際には必ずどこかのポリシーを経由しアクセスされるわけです。 ちなみに、AWSのコンソール上からのアクセスはどこ?となるのですが、ACLになります。 デフォルトでACL

    S3のブロックパブリックアクセスが怖くなくなった【AWS S3】
  • Hooks時代のReactライフサイクル完全理解への道

    はじめに これはクラスコンポーネントのライフサイクルを理解した上で、それに対応するように関数コンポーネントのライフサイクルを理解しようという試みです。 厳密にはReactのライフサイクルはクラスコンポーネントと関数コンポーネントそれぞれで違う概念を持っているようで、それぞれのライフサイクルに紐付けて考えるという行為自体がナンセンスな可能性がありますが、理解の手助けになれば幸いです。 そのため、なるべくわかりやすくするために、厳密でない言い方をすることがあります。ご了承ください。 もし明らかにまずい言い回し、もしくは間違って認識しているものがある場合はコメントにて教えていただけると嬉しいです。 モチベーション 僕はReactの経験がクラスコンポーネントはちょっとだけ書いたことがあるくらいで、ほぼ関数コンポーネント×hooksから入ったようなもなのでいまいちライフサイクルが理解できていない。

    Hooks時代のReactライフサイクル完全理解への道