タグ

ブックマーク / qiita.com (660)

  • LangChainの使い方 LlamaIndex編 - Qiita

    1. はじめに 注: 初稿を書いたあとでLlamaIndexのAPI仕様が大きく変更されました。そのため、記載のソースコードや準備するデータの仕様に関する記述をllama-index==0.6.8に準拠したものに変更いたしました。 記事は、下記の続編です。 前回紹介しきれなかった外部データを利用した回答精度の向上など、さらなるLLM(大規模言語モデル)の利活用をLangChainなどで実現する手段を解説していきます。 2. LlamaIndexの使い方 LangChainを使って外部データをLLMに受け渡す方法のひとつとして、LlamaIndex(旧名称: GPT Index)を使う方法を紹介します。 LlamaIndexとは、主に以下2点の機能を担うライブラリです。 LLMに外部情報を受け渡すための構造化データを作成する 作成した構造化データを踏まえて質問に回答するようLLMに要求する

    LangChainの使い方 LlamaIndex編 - Qiita
    yamadar
    yamadar 2023/05/08
    外部データを利用した回答精度の向上
  • 【2024年版】ChatGPT APIを社内利用する時に採用すべきアーキテクチャを考えた - Qiita

    結論 社内システム上の多数のアプリケーションがChatGPT APIを活用しているというシチュエーションを想定し、AI共通基盤が持つべき機能とアーキテクチャを検討しました。 ポイントは以下の3つです。 社内システム上のあらゆるアプリケーションにChatGPT APIが組み込まれる未来が想定される アプリケーションごとに必要な実装は重複するため共通化が可能 Proxyサーバを社内に配置しそこで共通的な処理を行い、各アプリケーションはAPI呼び出しのみを行う 背景 -ChatGPT APIの2024年を予想する- 2023年5月現在のChatGPT APIの活用状況 2023年3月1日にChatGPT APIであるGPT3.5-turboがリリースされ、あらゆるプレイヤーによってこぞって活用方法が模索されています。 現在の活用状況について知見を深めたかったため、TwitterにてChatGPT

    【2024年版】ChatGPT APIを社内利用する時に採用すべきアーキテクチャを考えた - Qiita
    yamadar
    yamadar 2023/05/02
  • 関数型プログラミングのパターン - Qiita

    最初に ドキュメントでは関数型プログラミングで見受けられるコードのパターンを記述する。 関数型プログラミングでは、関数自体を通常のオブジェクトと同じように、変数に格納したり、引数に渡したり、データ構造の一部にできることにより、命令型プログラミングと比較して簡潔なコード記述ができる効果が見込まれる。 ドキュメントでは、関数型プログラミングの理論よりサンプルを提示することにより、読者に視覚的に効果を見せるよう努めている。 対象となる読者は以下の通りである。 Java言語による命令型/オブジェクト指向型プログラミングが書ける/読める 関数型プログラミングに興味がある パターンは、命令型プログラミングの例として、Java言語での例を記載する。 Scala言語は、オブジェクト指向プログラミングと関数型プログラミングを組み合わせた設計思想として作られている。 一方で、Java言語は、Project

    関数型プログラミングのパターン - Qiita
  • 💣Webフロントエンドにおける関数型「風」プログラミングに関する個人的まとめ - Qiita

    ここ数年の流れについて 技術的側面 Webフロントエンド(ほぼTypeScriptReact界隈)において、オブジェクト指向(厳密に言うとクラスの利用)から脱却する流れがあります。原因は以下の2点。 クラスの継承の問題点が(IT業界全体に)広く定着したこと JS/TSの進化、Reactの進化、関数型言語の考え方などの影響により、クラスを用いてデータと関数群を紐づけるメリットが薄くなったこと 現状、設計レベル(実務的にはどの関数を纏めてモジュール化するのか、モジュール同士をどう繋ぎ合わせるのか、フォルダ割りどうするのか等)のノウハウがまだ固まっておらず、既存の設計論はそれなりに有効です。 コミュニティ的側面(政治) これらの流れはWebフロントエンドの中でもTypeScriptReactの界隈が主導しており、そのノウハウは長年絶対視されてきたオブジェクト指向を解体するような内容であったた

    💣Webフロントエンドにおける関数型「風」プログラミングに関する個人的まとめ - Qiita
    yamadar
    yamadar 2023/05/01
    キーワードは固定データ(イミュータブル)と変化するデータ(状態)、純粋な関数/副作用のある関数。
  • お前らのReactは遅すぎる(SSG編) - Qiita

    最近Reactプロジェクトは全部Gatsbyベースで作ればいいじゃないかな(大体適用できる)と思ったので なぜそう思ったのかまとめてみます。(Gatsbyサイト実装の雛形付き) SPAのメリット・デメリット Reactに代表されるSPAのメリットとしては history APIによる疑似ルーティングでバックエンド無しでページ間遷移ができる(API無しの場合はファイルをホストするだけでWebページが作れる) フロントエンドとバックエンド(API)の棲み分けがはっきりしてる(SSRしない場合) 仮想DOMツリーによる差分レンダリングが高速 逆に動的に仮想DOMツリーを生成するSPAのデメリットとして以下のことが挙げられます。 bundle.jsのファイルサイズが肥大化して読み込みが遅い 仮想DOMツリーの構築に初回のJS実行時間がかかる TwitterやFacebookシェアのOGPを実装し

    お前らのReactは遅すぎる(SSG編) - Qiita
  • Wi-Fiルーターのサポート期間 - Qiita

    はじめに Wi-Fiルータのセキュリティについて、2023年4月5日に警視庁より「家庭用ルーターの不正利用に関する注意喚起」が行われました。この中で対策として、次の4つが挙げられています。 初期設定の単純な ID やパスワードは変更する。 常に最新のファームウェアを使用する。 サポートが終了したルーターは買換えを検討する。 見覚えのない設定変更がなされていないか定期的に確認する。 定期的な設定確認が現実的に可能なのか疑問はありますがそれはさておき、今回は3番目のサポート終了についてです。 たとえばWindowsであればいつサポートを終了するのかずいぶん前に告知がありますし、他のソフトウェア製品についてもLTS(Long Term Support)の設定があるものは計画的にアップグレードを行えます。一方で家庭用のWi-Fiルーターについて、いつサポートが終了するのかわからないまま買っていまし

    Wi-Fiルーターのサポート期間 - Qiita
    yamadar
    yamadar 2023/04/24
    これは有り難いまとめ
  • 話題の ChatGPT + LangChain で、膨大な PDF ドキュメントの内容を爆速で把握する - Qiita

    話題の ChatGPT + LangChain で、膨大な PDF ドキュメントの内容を爆速で把握するPDFOpenAIChatGPTlangchain記事投稿キャンペーン_ChatGPT はじめに 記事では、ChatGPT と LangChain の API を使用して、PDF ドキュメントの内容を自然言語で問い合わせる方法を紹介します。 具体的には、PDF ドキュメントに対して自然言語で問い合わせをすると、自然言語で結果が返ってくる、というものです。 ChatGPT と LangChain を使用することで、下記のような複数ステップの仕事を非常に簡単に実行させることができます。 PDF ドキュメントからテキストを抽出して複数に分割する 分割したテキストからテキスト間の関連を表すベクターデータを作成する 作成したベクターデータをベクターストアに格納しておく ChatGPT に外部から与

    話題の ChatGPT + LangChain で、膨大な PDF ドキュメントの内容を爆速で把握する - Qiita
    yamadar
    yamadar 2023/04/22
    ベクターストアとLangChainの時代が来たな
  • VSCodeにChatGPTの拡張機能を入れてコードレビューやバグを発見してもらう - Qiita

    ChatGPTとは? OpenAIが開発するGPT-3という言語モデルをベースとした(執筆当時)チャットアプリです。 こちらの質問に対して、AIが色々な質問に答えてくれて、一般的な内容だけではなく、コードレビューやバグなども発見してくれるめっちゃ凄いやつです。 細かい内容は以下の記事がとても参考となります。 筆者の関連記事 VSCodeと連携して、ブラウザを開かなくてもChatGPTを使用できるようにする 通常はブラウザを開いて使用するのですが、コーディング中にサクッとレビューしてもらったり、バグを見つけてもらえるような拡張機能があったので、そちらの設定方法について記述してみます。 今回インストールする拡張機能 使用までの手順 環境 PC: MacBook Pro (Apple M2) OS: macOS Ventura 13.1 VSCode: v1.74.3 OpenAIの価格について

    VSCodeにChatGPTの拡張機能を入れてコードレビューやバグを発見してもらう - Qiita
    yamadar
    yamadar 2023/04/17
    ChatGPT なら Genie や Copilot、AWS なら Code Whisper とかかな、と思ったら違った
  • 無料で始めるAmazon CodeWhisperer on VSCode(Github Copilotと同等の性能?) - Qiita

    無料で始めるAmazon CodeWhisperer on VSCodeGithub Copilotと同等の性能?)AmazoncopilotCodeWhisperer 現在の AIを一言で説明すると・・・ フミコ・フミオさんはTwitterを使っています: 「ほぼ全員がご高齢者の会社上層部からの「対話型AI とは何かその功罪について簡潔に分かりやすく出来たら一言で説明しろ」という難題にヤケクソで「ドラえもんです」と答えたら「便利だけど取扱注意ということだな」とほぼ正解な認識をしてくれたので藤子・F・不二雄先生は偉大すぎる。」 / Twitter Github Copilot と Amazon CodeWhisperer の比較 現時点では Github Copilot の方が使いやすい。 単純な機能だと同じくらいだが、 Github Copilot は、コマンドパレットがあるので、その

    無料で始めるAmazon CodeWhisperer on VSCode(Github Copilotと同等の性能?) - Qiita
    yamadar
    yamadar 2023/04/17
    今の所だけど、Copilot の方が良かった
  • 【GPT】プロンプトエンジニアリング手法まとめ - Qiita

    はじめまして、sonesuke( https://twitter.com/sonesuke ) です。 LLMのニュースを追っかけ続けたので、これからキャッチアップする人用にまとめておきます。 単発のプロンプトテクニックについてはこちらご覧ください。 これだけは知っとけ用語 各手法の説明を読む前に、これらの用語を読んでおくと各手法がわかります。知っている人は飛ばしてください。 プロンプトエンジニアリング 入力(プロンプト)を工夫して性能をあげようというアプローチ。 機械学習系で精度アップといえば、追加学習させたりモデルを拡張するのですが、LLMではモデルが大き過ぎてコストが洒落になりません。 そのような事情からプロンプト側を工夫することで、回答に直接影響を与えるという手法が発達しています。 ファインチューニング モデルを新たな学習データで追加学習させ、モデルのパラメータを更新し、精度を高め

    【GPT】プロンプトエンジニアリング手法まとめ - Qiita
  • 「悪〜いコード」を読んだので、ついでにコードメトリクスを計測してみた - Qiita

    はじめに 先日、「悪〜いコード」を読む機会がありました。 どんな風に悪いのか、軽くですが分析してみたので、ポエムとして投稿したいと思います。 古のコード 私は普段Ruby on Railsをメインに開発を行っているのですが、ユーザーからの質問に答えるために、普段の開発や保守しているのとは全く別のシステムのコードを読む機会がありました。 そのシステムはPHPで書かれた古いコードでした。ユーザーの質問はシンプルだったので、コードを見れば一瞬で答えは見つかるだろうと思ったのですが、とても読み難いコードだったので30分ほど頭を悩ませながら読むことになりました。 何が読み難いのか 結果、ユーザーからの質問には答えることができたのですが 「僕の30分を返してくれーーー!」と叫びたい気分です。 と愚痴ってしまいましたが、それだけでは何の進歩もないので、何が読み難かったのかを明らかにしてみたいと思います。

    「悪〜いコード」を読んだので、ついでにコードメトリクスを計測してみた - Qiita
    yamadar
    yamadar 2023/04/03
    これは酷い。ポエりたくなる気持ちにもなるな
  • 【完全保存版】GPT を特定の目的に特化させて扱う (Fine-tuning, Prompt, Index, etc.) - Qiita

    【完全保存版】GPT を特定の目的に特化させて扱う (Fine-tuning, Prompt, Index, etc.)OpenAIChatGPTlangchainGPT-4LlamaIndex ChatGPT に代表される今日の AI ブームを牽引しているのは 大規模言語モデル(Large-scale Language Model, LLM) と言っても過言ではないでしょう。LLM とは大量のテキストデータを使ってトレーニングされた自然言語処理のモデルで、代表的なものに、GPT(OpenAI)、Llama(Meta)、PaLM(Google)があります。我々開発者は、事前学習されたこれらのモデルを使って簡単にアプリケーションを作ることができます。 LLM が遂行可能な言語的タスク LLM を使って行える言語的タスクには次のような種類があります: Classification: 感情やポジ

    【完全保存版】GPT を特定の目的に特化させて扱う (Fine-tuning, Prompt, Index, etc.) - Qiita
    yamadar
    yamadar 2023/03/31
    『GPT を特定の目的に特化させて扱う方法として、Fine-tuning と Prompt Design を紹介し、それぞれについて解説しました。加えて、それらの実用に向けたときの課題と参考になるかもしれない資料をまとめました』
  • ChatGPTとLangChainで何でもできるAIを作る - Qiita

    この記事は記事投稿キャンペーン_ChatGPTの記事です。 以下は、個人開発した最新のものになります. CreateToolAGI:ChatGPTとLangChainで何でもできるAI はじめに こんにちは、fuyu-quantです. 今回はLangChainという「大規模言語モデルを使いこなすためのライブラリ」の紹介とその機能を発展させるために作った新しいライブラリlangchain-toolsの説明およびその可能性について共有したいと思います. LangChainの機能であるtoolを使うことで,プログラムとして実装できるほぼ全てのことがChatGPTなどのモデルで自然言語により実行できるようになります.今回は自然言語での入力により機械学習モデル(LightGBM)の学習および推論を行う方法を紹介します. 記事に誤り等ありましたらご指摘いただけますと幸いです。 (※この記事の「Chat

    ChatGPTとLangChainで何でもできるAIを作る - Qiita
  • StableDiffusionでリアルな人物画像を生成するための呪文(プロンプト)ヒント集 - Qiita

    いい感じの画像を生成するコツ 話題の画像生成AI StableDiffusionですが、よくSNSで見るような高画質高品質リアリスティックな人物画像を生成するにはそれなりのコツがあります。 この記事では、どのような単語を使えば高品質な画像を生成できるか、例を紹介します。 StableDiffusionを使ってみるにはWebUIが便利です。以下のリンクから使い方がわかります。 ただ欲しい画像のテキストを入れるだけではだめ 例えば、女の子の画像が欲しいとします。 ただ"girl"と入力すると以下のような画像が出てきます。 悪くはないですが少しCGっぽいですよね、もう少し写真っぽい画像が欲しいです。 高画質を連想させる単語を入れる さて、ここで以下のように "best quality" や "high resolusion" など高画質を連想させる単語を嫌というほど入れます。 ちょっとびっくりす

    StableDiffusionでリアルな人物画像を生成するための呪文(プロンプト)ヒント集 - Qiita
  • GPT-4はどのようにして「不適切な回答」を回避するように学習されているのか - Qiita

    先日OpenAIより発表されたGPT-4が話題ですが、同タイミングで公表されたTechnical Reportを読んでみたところ、全99ページのうち後半60ページを占めるドキュメント「GPT-4 System Card」において解説されていた、言語AIが抱える危険性と、いかにしてGPT-4が危険な回答を回避するように学習されているかについての内容が非常に興味深かったため、簡単にまとめてみました。 https://arxiv.org/pdf/2303.08774.pdf サマリ GPT-4のリリースに向けて、OpenAIでは安全性を評価するために50人超の専門家らを含む"レッドチーム"を結成。2022年8月から8ヶ月に渡ってリスクの評価とその軽減に向けたチューニングを実施してきた リスク評価における実験の中には「自身をコピーするプログラムを実行できるGPT-4が自己増殖をしないか確認する」と

    GPT-4はどのようにして「不適切な回答」を回避するように学習されているのか - Qiita
    yamadar
    yamadar 2023/03/18
    こういう話を聞くと制限なし版も触ってみたくなるな
  • React コンポーネントのライフサイクルとメソッドの役割について - Qiita

    公式ドキュメント React.Component を読んだメモです。 コンポーネントのライフサイクルと、実行されるメソッド React Lifecycle Methods Diagram より。 太字が主要なライフサイクルメソッド。constructor()、render()、componentDidMount()、componentDidUpdate()、componentWillUnmount()。 前提 props は、コンポーネントの外から来る値。親コンポーネントから受け継ぐ。変更不可。 state はコンポーネント内のプライベートな値。変更可。この state は Redux の state とは別物。コンポーネントの状態。 両方の値がレンダリング結果に影響する。 https://preact.gitbooks.io/react-book/content/jsx/index.ht

    React コンポーネントのライフサイクルとメソッドの役割について - Qiita
    yamadar
    yamadar 2023/03/13
    古いReactを触るときの参考に
  • 私たちは心理的安全性を誤解していたかもしれない。 - Qiita

    はじめに 最近、新入社員の方が毎月のように入社されていて、うちの部署もにぎわってきたなーと感じています。 やっぱり、人が増えてくるといろんな方がいてコミュニケーションの大切さを実感しています。 うちの部署では、事業部で大切にしていることの一つに心理的安全性があるので、それについて考えてみたいと思います。 心理的安全性とは? 心理的安全性とは何でしょうか?ググってみると 「心理的安全性とは、職場で誰に何を言っても、人間関係が壊れることなく、罰を受ける心配もない状態のこと。」と出てきます。 これだけだと抽象的で、よくわかりませんね そこで心理的安全性を提唱したエイミー・C・エドモンドソン先生の「恐れのない組織」を読んでみました。 書では様々なケーススタディから組織での心理的安全性について書かれています。 心理的安全性の高い組織はどういうものかざっくり要約すると 「このままではまずいのでは?」

    私たちは心理的安全性を誤解していたかもしれない。 - Qiita
    yamadar
    yamadar 2023/03/09
    一度学びなおしても良いかも
  • WebRTCハンズオン 本編 - Qiita

    はじめに この資料は、WebRTCハンズオン勉強会用の資料です。 資料の全体はこちらのINDEXを参照してください。 WebRTCハンズオン資料 INDEX - Qiita 今日作るもの 編で作成する最終的なアプリのデモをお見せします。 https://yusuke84.github.io/webrtc-handson-2016/client/ シグナリングサーバが無いと動きません ハンズオン用ソースコード https://github.com/yusuke84/webrtc-handson-2016 handsonブランチをローカルにダウンロードしハンズオンを開始してください STEP1〜STEP4までの各ブランチに各STEPの完成形のソースコードが格納されています masterブランチはgh-pages用のブランチです 2016と書かれていますが、この記事と同じくメンテナンスは実施し

    WebRTCハンズオン 本編 - Qiita
  • 【AWS】DR(災害対策)戦略設計 - Qiita

    この記事について AWSのDR戦略に関する勉強のアウトプットです。 参考ドキュメント REL13-BP02 復旧目標を満たすため、定義された復旧戦略を使用する DR戦略 プライマリロケーションでワークロードを実行できなくなった時に、復旧サイトでワークロードに耐えられるようにする。 DR戦略の比較 実装コストがかかるほど、サービスが中断する時間が長くなり、ビジネスへの影響が増えるが、運用コストは安く済む。 運用コストがかかるほど、複雑さは増すが、サービスが中断する時間は短くなり、ビジネスへの影響は少なく済む。 DR戦略の選択 複数リージョンに跨るDR戦略設計では下記いずれかを選択する。 ◆バックアップと復元(数時間でのRPO、24時間以下でのRTO) ■複雑さ:少ない ■コスト:安い ■復旧時間:多い(24時間以下) ■復旧労力:とても多い <復旧手順> 1.データとアプリケーションを復旧リ

    【AWS】DR(災害対策)戦略設計 - Qiita
    yamadar
    yamadar 2023/02/26
    設計するときに考えるやつ
  • Fargate Spot の安全な運用方法を考える 中断編 - Qiita

    キャパシティ編もよかったらどうぞ https://qiita.com/sugimount-a/items/6df950c0abc02c5bcb6c はじめに Amazon ECS と AWS Fargate を使ってサービスを提供しているときに、コストを最適化する方法があります。一例として、次のコスト最適化の方法を挙げます。 Fargate Spot : 空きキャパシティを利用 Savings Plans : 1年 or 3年の期間契約 上記の2個は Fargate の購入方法が異なります。Fargate Spot は通常の価格と比べて最大 70% OFF の価格で利用できます。EC2 スポットインスタンスと同様の概念になっていて、Fargate Spot も AWS の空きキャパシティを利用します。Fargate Spot の空きキャパシティを確保できるかぎり、タスクとしてコンテナ群を動

    Fargate Spot の安全な運用方法を考える 中断編 - Qiita
    yamadar
    yamadar 2023/02/15