タグ

ブックマーク / dev.classmethod.jp (9)

  • RAGの実案件に取り組んできた今までの知見をまとめてみた | DevelopersIO

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

    RAGの実案件に取り組んできた今までの知見をまとめてみた | DevelopersIO
    sh2
    sh2 2024/02/07
    このあたりの工夫をいい感じにパッケージングした製品が欲しいところ
  • RAGを使った社内情報を回答できる生成AIボットで業務効率化してみた | DevelopersIO

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

    RAGを使った社内情報を回答できる生成AIボットで業務効率化してみた | DevelopersIO
    sh2
    sh2 2023/09/25
    NotionやSharePointなどのドキュメント管理サービス自体がこの機能を持つようになると思うので、自前で作るのは躊躇する
  • 撮影した動画をリアルタイムにエンコードする方法【FFmpeg】 | DevelopersIO

    カフェチームの山です。 前回の記事では、クラウド上で動画を処理するために、エッジデバイスから動画ファイルを送信する方法として、Pythonのプログラムを実装しました。(ここでは、予め動画ファイルが作成されていることが前提となっていました) 【Kinesis Video Streams】Pythonで動画ファイルを送信する 今回は、カメラで撮影した映像をすぐに送信するケースを考えます。送信する動画ファイルを作成するまでの時間(遅延)を短縮するために、撮影した画像をリアルタイムにエンコードする方法を調べました。この記事では、FFmpegを使用する方法を記載します。 実装したコード 早速結論ですが、以下のようなコードを実装することで、リアルタイムにエンコードできました。 video_writer.py from enum import Enum def video_filepath(devic

    撮影した動画をリアルタイムにエンコードする方法【FFmpeg】 | DevelopersIO
    sh2
    sh2 2022/01/18
    Pythonからフレームをパイプで渡してH.264でエンコードしてRTSPサーバに送るというのをやる
  • asyncioでPythonの非同期処理を書いてみる | DevelopersIO

    こんにちは、CX事業部の夏目です。 LambdaAWSリソースへアクセスする際に直列的に処理するのではなく、並列的に処理したいことは度々あります。 NodeだとPromiseを使えば簡単にできるのですが、Pythonではどうやるのか気になったので調べてみました。 注意 ここではPython3.5以降を使うことを想定して書いてます。 asyncio モジュール Pythonではasyncioモジュールを使って並列的に処理を書くことができます。 超ざっくり言うと、イベントループを使ってコルーチンを実行しているようです。 それ以上の説明は下記記事を見てください。 Pythonの非同期通信(asyncioモジュール)入門を書きました - ゆくゆくは有へと 非同期処理のことから知らない人向けに Python くらいしかろくに知らない人間が書きました。せっかくキーワードが文法に組み込まれたんだから

    asyncioでPythonの非同期処理を書いてみる | DevelopersIO
    sh2
    sh2 2021/11/01
    当面ここに書いてある以上の難しいことを覚えるのはやめて、まずは何か書いてみる
  • MySQL のサブクエリって、ほんとに遅いの? | DevelopersIO

    こんにちは、みかみです。 今日のクラスメソッドのAWSおみくじ、RDS(t1.micro)でしたー!(昨日は Aurora!@@v はじめに 前職@アプリ開発時、MySQL のクエリチューニングをさせていただく機会がありました。 ユーザー入力のキーワードで全文検索 → 見つかったレコードを返すのですが、所要時間、約3分。。 Apache タイムアウトして画面真っ白。。。(泣きそうでした><。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリの

    MySQL のサブクエリって、ほんとに遅いの? | DevelopersIO
    sh2
    sh2 2017/06/03
    MySQL 5.6とPostgreSQLは最初にpaymentから総額$100以上の顧客ID一覧を取り出してcustomer_2と突合している。MySQL 5.5はそれができなくてcustomer_2から1件取り出すごとに1.6万件のpaymentをスキャンする。これを120万回繰り返すので遅い
  • 【AWS】RDS for MySQLで共有テーブルスペースに構成変更する際の所要時間を実測してみた | DevelopersIO

    今回の課題 こんにちは植木和樹です。RDS for MySQLを使用していたところ以下のような見慣れないメッセージが通知されてきました。 DB Instance XXXX-XXXX has a large number of tables and has the parameter innodb_file_per_table set to 1, which can increase database recovery time significantly. Consider setting this parameter to 0 in the parameter group associated with this DB instance to minimize database downtime during reboots and failovers. あわせてメッセージには下記URL

    sh2
    sh2 2013/10/13
    完全リビルドはALGORITHM=COPYだからOnline DDL効かないのね
  • 第18回 AWS User Group – Japan 東京勉強会 に参加してきた #jawsug | DevelopersIO

    第18回 AWS User Group - Japan 東京勉強会(一般枠) - JAWS-UG東京支部 | Doorkeeper 2013/10/04 第18回 AWS User Group - Japan 東京勉強会 #jawsug - Togetter この日で18回目の開催を数えるJAWS-UG 東京。今回はテーマを『DB縛り』とし、RDSやRedshift、Redis等興味深いテーマをぎっしり詰め込んだ内容となりました。発表者陣も超豪華。 開催会場は前回に引き続きフューチャーアーキテクト株式会社@大崎。いやはや、こちらの会場は設備外観等含め、当素晴らしいですね。 フューチャーさんいつもながらマジフューチャー #jawsug — ARAKI Yasuhiro (@ar1) October 4, 2013 今回も開催前にはDJが皿を回しておりました(=曲を掛けておりました)。『あま

    第18回 AWS User Group – Japan 東京勉強会 に参加してきた #jawsug | DevelopersIO
    sh2
    sh2 2013/10/05
    資料修正中
  • Amazon RDS(MySQL)でTimezoneを変更する | DevelopersIO

    ども、大瀧です。 RDSにするか、DB on EC2にするかを検討する際によく挙がるのが、Timezoneをどうするかという話。AWSのサービスは基的にはUTC(世界標準時)で提供され、RDSも例外ではありません。 「世界展開を狙うサービスであれば当然UTCで!」となるのですが、既存システムをAWSに移行する案件などでは「アプリの改修ができないので、移行前とTimezoneを合わせたい」ケースが多いと思います。 EC2であれば、OSのTimezone設定をちょちょいと変えるだけで対応できるのですが、RDSは直接インスタンスにログインできないため、ちょっとした工夫と注意が必要です。 概要 今回はRDS MySQLを対象に、Timezoneを変更する方法をご紹介します。 RDSでユーザーに提供される"Masterユーザー"は、MySQLのrootユーザーとは異なりSUPER権限(管理者権限)

    Amazon RDS(MySQL)でTimezoneを変更する | DevelopersIO
    sh2
    sh2 2013/08/02
    SUPER権限をもっているユーザにはinit_connectは効かないけど、rdsadminがどうなっているのかは知らない
  • Amazon RDS MySQL 5.6と新機能を試してみた | DevelopersIO

    昨日、AWSのManaged Databaseサービス RDSのアップデートが発表されました!なので、早速試したレポートを投下します! 新機能 主な新機能は以下です。 MySQLバージョン5.6に対応 MySQL 5.6のmemcached pluginに対応 MySQLバイナリログの取得に対応 その他の新機能は、堀内さんのAWSブログを参照ください。 MySQLバージョン5.6のRDSを作成 まずは、MySQLバージョン5.6のRDSを作成してみましょう。作成方法は従来のRDSと特に変わりません。 RDSを作成するLaunch DB Instance WizardのDB Instance Details画面で指定するDB Engine Versionから今回の新バージョン5.6に対応するMySQL 5.6.12を選択して、残りはデフォルトのままでRDSを作成しましょう。今回はDB Ins

    sh2
    sh2 2013/07/08
    Option Groupsを編集してmemcached pluginを有効化する
  • 1