サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
book.st-hakky.com
AI 技術の進化に伴い、ビジネスシーンでの ChatGPT の活用が広がってきています。この記事では、ChatGPT に代表される大規模言語モデル(LLM)を活用するプロンプトのアプローチの一つで、LangChain にも実装されている ReAct について、ビジネスパーソン向けに解説いたします。 LLM と プロンプトエンジニア LLM を効果的に活用するための考え方のひとつに「プロンプトエンジニアリング」というものがあります。プロンプトは、LLM に与える命令等のことで、目的のタスクと併せてヒントや関連する情報などを与えることでより目的にあった回答を引き出すことができるようになります。プロンプトエンジニアリングとは何かについてはこちらの記事でも解説していますので、併せてご覧ください。 Hakky | プロンプトエンジニアリングとは【ビジネスパーソンが知るべき ChatGPT の活用術
Pythonで始めるOpenAI API活用ガイドはじめに OpenAI APIは、自然言語処理を手軽に行える強力なツールです。この記事では、Pythonを使用してOpenAI APIをセットアップし、簡単なテキスト生成を行う方法を実際のコード付きで分かりやすく解説します。
【OpenAI API】各種モデルの料金体系(最新GPT-4oも掲載)はじめに OpenAI は、GPT-4などの先進的な AI モデルを提供しています。これらのモデルは、自然言語処理・画像認識・音声認識など、さまざまなタスクに使用できます。OpenAI では、最初の 3 ヶ月間で使用できる 5 ドルの無料クレジットを提供しており、その後は使用したリソースのみを支払う料金体系を採用しています。この記事では、OpenAI API の各モデルの料金体系について詳しく解説します。
ChatGPT のプロンプトインジェクションとは プロンプトインジェクションとは、ユーザーが悪意のあるプロンプトを AI に与えることで、AI が不適切な回答や意図しない情報の開示を行ってしまう状況を指します。 このリスクは、AI のセキュリティやプライバシーに対する脅威となります。 ChatGPT は対話型のチャットボットであるため、ユーザーとのインタラクションが中心となります。 この特性を持つ ChatGPT におけるプロンプトインジェクションの例としては、以下のようなケースが考えられます。 ** ユーザーが ChatGPT に対して、他人の個人情報や機密情報を開示させるような質問をする ** ** ユーザーが ChatGPT に対して、違法な行為や危険な行動を助長するような指示や提案をする ** ** ユーザーが ChatGPT に対して、誤った情報やデマを拡散させるような情報を求
2023 年 7 月 7 日、ChatGPTの運営元であるOpenAIは、全 ChatGPT Plus ユーザーを対象に**Code interpreter(コードインタプリタ)**の実装を発表しました。これにより ChatGPT 上でコードを実行したりローカルファイルのデータを扱うことができるようになります。この記事では、ChatGPT と Code Interpreter の概要から、具体的な活用方法、設定方法、トラブルシューティングまでを詳しく解説します。 Code interpreter(コードインタプリタ)とは ChatGPTは、OpenAI が開発した対話型の生成 AI です。この AI は膨大な学習データに基づいて自然な応答ができ、質問応答・文章生成・プログラムの作成などの様々なタスクをこなすことが可能です。 今注目の「Code Interpreter(コードインタプリタ)
EC2 vs ECS vs Lambda:APIのサービングの観点からはじめに この記事では、API のサービングの観点から EC2,ECS, Lambda を比較します。 EC2 の API サービングについて 料金 リザーブドインスタンスを購入することで料金を下げることができる メンテナンス ECS や Lambda に比べて、より多くの管理とメンテナンスが必要 EC2 では、ユーザがインスタンスを自ら管理し監視する必要があり、適切にプロビジョニングされ、必要なセキュリティ構成を持ち、適切にスケーリングされていることを確認する必要がある 利点 ECS、Lambda と比較して、もっともリソースの制約がなく、カスタマイズ性が高い GPU インスタンスをサポート 欠点 インスタンスの管理が必要であり、複雑になる可能性がある 他のオプションよりも高価になる場合があり、特に効率的に
はじめに 近年、生成 AI 技術の進化がビジネスの世界で大きな影響を与えています。その中でも、ChatGPT などの台頭により LLM(大規模言語モデル)の活用に注目が集まっています。この能力をビジネスにおいて最大限に活かすには、タスクの目的や領域に応じて LLM を適用させることが重要です。 そのための一つの解決策として、この記事ではベクトルデータベースの活用を紹介します。ベクトルデータベースとは何か、どのような利便性をもたらすのかについて理解を深めるための一助となれば幸いです。
概要OpenAI API は使用したトークン数に応じて、お金がかかります。そのため、使用するトークンをできるだけ削減することで、コストを抑えて利用することができます。本記事ではいくつかの使用トークンを減らす方法を紹介します。 消費されるトークン数の確認まず、トークン数を削減する前に「これからどの程度のトークン数を利用することになるのか」を確認することで、余計なコスをかけずに済みます。 例えば、以下の方法を用いることでプロンプトのトークン数を確認することができます。 OpenAIのツールでトークン数を計算tiktokenを使用OpenAIのAPIで使用したトークン数APIの概要 OpenAI APIでは以下のように返答に使用したトークン数が含まれています。 "usage": { "prompt_tokens": 5, "completion_tokens": 7, "total_tok
LangChain の長い文章を扱う方法はじめに LLMを用いて要約や抽出など、複雑な処理を一つのクエリで行うことができます。しかし、モデルの入力の最大数により、そのクエリの長さが限られています。例えば、OpenAIのtext-davinci-003は2,049トークン、gpt-4は8,192です。したがって、一つのクエリで長いデータを処理するのは困難です。そのため、本記事では、LangChainを用いて、長いドキュメントを扱う方法を紹介します。 長い文章を扱う方法 大規模言語モデル(LLM)でToken長が超えた場合の対応方法について モデルの最大長を超えたドキュメントを扱うには、複数のクエリに分散する必要があります。その際、四つの手法があります。 Stuffing:一つのクエリで処理する(StuffDocumentsChainで実装)【既存のやり方】 Map Reduce:処理を単
LangChain の インデックスについてインデックスとは インデックスは既存のドキュメントと LLM を組合わせて使用するのに役立ちます。 インデックスを使うことで、ドキュメントを構造化し、LLM がドキュメントと最適なやり取りができるように調整できます。 インデックスのもっとも一般的な使用例は「検索(retrieval)」の実装です。 ユーザーのクエリから、もっとも関連性の高いドキュメントを返すようなタスクの実行に利用できます。 さらに、チェーン内で利用すれば、ユーザーからの質問に対して渡したドキュメントを基準に答えるようなタスクも実行できます。 from abc import ABC, abstractmethod from typing import List from langchain.schema import Document class BaseRetriever(A
ChatGPTとは?機能、得意なこと不得意なこと、活用例などの基本知識を解説はじめに 現代のデジタル社会では、人工知能(AI)がますます身近な存在となり、多くの場面でその恩恵を受けるようになってきました。その中でも、とくに注目を集めているのが自然言語処理技術を駆使したAIチャットボット「ChatGPT」でしょう。 ChatGPTは、OpenAIによって開発された高度な対話型AIであり、テキスト生成や多言語翻訳、データ分析など、さまざまなタスクに対応できる多機能なツールです。本記事では、ChatGPTの基本情報や仕組み、具体的な機能、得意なことや苦手なこと、さらには上手く活用するためのコツや将来の展望について詳しく解説します。 これからのAI時代において、ChatGPTがどのような役割を果たし、どのように活用できるのかを一緒に見ていきましょう。 ChatGPTとは ChatGPTは、Op
⭐️ 2/20(木)に生成AI駆動開発で高速なリリースサイクルを実現する方法に関するウェビナーを開催します!詳細はこちらから ⭐️
これで、LangFlow が起動します。 http://localhost:7860 にアクセスして、LangFlow の画面が表示されれば成功です。 LangFlow でフローを作成する LangFlow でフローを作成するのは簡単です。 サイドバーから必要なコンポーネントをキャンバスにドラッグアンドドロップし、それらを互いに接続するだけです。 LangFlow は、LLM、プロンプトシリアライザー、エージェント、チェーンなどの LangChain コンポーネントを提供します。 ここでは、一例として、OpenAI の text-davinci-003 モデルを用いたエージェントを作成してみましょう。 今回構築するのは、ユーザーの入力に対して、適宜検索を実行しながら適当な回答を返すエージェントです。 サイドバーの Agent から ZeroShotAgent をキャンバスにドラッグアンド
GitHub Actionsでの環境変数の扱いについてこの記事では GitHub Actions の環境変数の扱いについてまとめています。 環境変数の設定方法 GitHub Actions では環境変数は workflow ファイルに記述する形で設定します。 環境変数のスコープ範囲は任意に設定できます。 下のコードは公式のドキュメントより引用したものです。 name: Greeting on variable day on: workflow_dispatch env: DAY_OF_WEEK: Monday jobs: greeting_job: runs-on: ubuntu-latest env: Greeting: Hello steps: - name: "Say Hello Mona it's Monday" run: echo "$Greeting $First_Name.
LangChain のエージェントについて概要 このページでは以下の内容を解説します。 エージェントとツールの概要 ツールについて 代表的なツールの概要 ツールの導入方法 カスタムツールの定義方法 既存のツールを調整する方法 エージェントについて 利用可能なエージェントの種類 エージェントの構築方法と基本的な使用方法 なおこの文書ではカスタムエージェントを取り扱いません。詳しく知りたい方は、Custom Agent を参照してください。 エージェントとツール LangChain は、エージェントと呼ばれる機能を提供しています。 これは、ユーザーの要求を「どのような手段を使ってどういう順番で解決するか」を LLM を使って自動的に決定してくれるような機能です。 また、エージェントを使用する際には、ツールを使うことができます。 ツールは、"エージェントが世界と対話できるようにする" ための
LangChain のエージェントの使用例概要 このページでは、LangChain のエージェントの使用例を紹介します。 エージェントの概要や基本的な使用例を確認したい方は、先に、「エージェントについて」や 「LangChain を Python で使う」 などをご覧ください。 このページでは、エージェントの使用例として、以下に挙げるものを取り扱います。 Conversation Agent "conversational-react-description" エージェントを用いてチャットボットを作成します MRKL "MRKL Systems" という論文で提案されたアーキテクチャを模倣するエージェントを構築します 使用するエージェントタイプは "zero-shot-react-description" です ツールとしてデータベースや検索 API などの外部のツールを呼び出せるような
Whisperで辞書登録機能を実装する方法概要 本記事ではWhisperの音声認識にヒントを設定する方法を紹介します。すなわち、辞書登録機能になります。 サンプルファイル 本記事ではテストサンプルとしてMozilla Common Voiceの日本語データセット(v12)のcommon_voice_ja_23633673.mp3(「文書は年々増えていく。」)を使用します。 tinyモデルでヒントなしの場合、「分子は年年増えていく」として認識されます。 initial_prompt引数を使用 --initial_prompt: optional text to provide as a prompt for the first window initial_promptはモデルにコンテキスト(プロンプト)を提供するための引数です。 したがって、その引数を用いて、ヒントになる単語をモデル
LangChain のメモリについて概要 このページでは、LangChain におけるメモリの概要に加えて、以下に挙げる基本的な使用方法も紹介します。 メモリの初期化 メモリへの書き込み メモリのクリア メモリを保存する方法 メモリをチェーンに組み込む方法 また、これらを説明するにあたって、以下の2種類メモリの使用例を紹介します。 ConversationBufferMemory ConversationBufferWindowMemory その他のメモリの詳細については紹介を省きますので、必要であれば公式ドキュメントを参照して情報を補ってください。 LangChain におけるメモリ メモリは「ユーザーと言語モデルの対話を"記憶"するためのクラス」の総称です。 この"記憶"を言語モデルに渡すことで「"記憶"の内容を反映した応答を返す」ことができるようになります。 LangChain
LangChain を Python で使う概要 LangChain を使用する手順は以下の通りです。 インストール 環境設定 LLM を利用したアプリケーションの実装 本文書では、まず、LangChain のインストール方法と環境設定の方法を説明します。 その後、LLM を利用したアプリケーションの実装で用いる機能であろう以下の6つの機能の使用例を紹介します。 LLMs: 言語モデルを呼び出すためのラッパーを提供します チャットモデル: チャットモデルを呼び出すためのラッパーを提供します プロンプトテンプレート: プロンプトのテンプレートを作成する機能を提供します チェーン: ひとつのワークフロー内で LLM やプロンプトテンプレートを組み合わせて使用するための機能を提供します エージェント: エージェントを使用することで、課題の解決順序をも LLM を用いて決定し、実行させることがで
大規模言語モデル(LLM)の概要について大規模言語モデル(LLM)の概要 **大規模言語モデル(LLM, Large Language Model)**は、膨大なデータセットを基に学習した言語モデルのことで、2018 年にBERTのモデルが登場して以来、注目を集めています。 LLM は、与えられた入力から適切な出力を生成する能力を持ち、GPTやBLOOM、LLaMAといった多言語対応のモデルが多いことも特徴です。 大規模言語モデル(LLM)の基本的な仕組み 入力文をベクターに変換(形態素解析などで文をトークンに分割) Encoder(トークンから特徴量を抽出) Decoder(特徴量を基に次のトークンを予測) 入力文に続くトークンの確率を出力 上記の手順を繰り返して、文章が生成されます。 尚、これらのモデルは非常に大規模で、メモリー不足のため一般的なマシンでの実行が難しい場合が多いです
LangChainとは?各モジュールの機能と活用事例まとめはじめに LangChainと呼ばれPythonライブラリをご存じでしょうか。 OpenAIのAPIなど、LLMを用いたアプリケーションは学習時点のデータを用いて回答するため、最新情報が求められるケースでは使い勝手が悪いです。 そこで登場したのがLangChain。 LangChainを用いれば、最新情報を考慮したチャットアプリが作成可能です。その他にも開発をサポートする様々な機能がLangChainには備わっています。 今回はLLMアプリケーション開発によく用いられる LangChainを導入するメリットや各種機能(モジュール) について紹介します。 LangChainとは何か LangChainとは、GPT-3 のような大規模言語モデル(Large Language Model: LLM)を用いたサービス開発時に役立つライブ
WhisperとPyannoteを用いた話者分離と音声認識概要 本記事ではWhisperとPyannoteを使った話者分離と音声認識の方法をサンプルコードとともに紹介します。 2022年12月現在、Whisperで話者分離を行うことは難しく、Pyannoteで話者分離した音声に対してWhisperで音声認識を行う手法が主流となっています。本記事ではYoutube動画を上記方法で話者分離と音声認識にかけてみます。なお、本記事は動作環境としてGoogle Colabを想定しています。
Faissの概要概要 本記事では近似最近傍探索ライブラリの Faiss について解説します。 Faiss とは Faiss とは、Meta(Facebook)製の近似最近傍探索ライブラリであり、類似の画像やテキストを検索するためのインデックスを作成するツールです。Faiss は C ++で記述されていますが、Python ラッパーを使用して Python で高速な学習が可能です。 # CPU version only conda install faiss-cpu -c pytorch # Make sure you have CUDA installed before installing faiss-gpu, otherwise it falls back to CPU version conda install faiss-gpu -c pytorch # [DEFAULT]Fo
このドキュメントは、Hakky Handbook のイントロです。 目的 Hakky Handbook は、Hakky の会社・事業・カルチャー・技術に関する情報を体系化し、外部・内部に発信することを目的として情報の蓄積や発信を行なっています。 Hakky について知りたい外部の関係者の方や、技術的なナレッジを知りたい方、社内のメンバーにとっても有益な情報を公開していくことを目的としています。 コンテンツ コンテンツは以下のカテゴリーに分かれています。 Docs となっているところが、各事業についてや会社で扱う技術や情報などを体系的に取りまとめたものになります。各事業のサービスを受ける方や、これから Hakky に参画したい、また興味を持っていただいてる方は、気になるものを読んでいただけると参考になるかなと思います。 Docs データ活用支援・・・これからデータ活用を行なっていきたいと
$ dbt init my_dbt_project 04:58:32 Running with dbt=1.1.1 Which database would you like to use? [1] bigquery (Don't see the one you want? https://docs.getdbt.com/docs/available-adapters) Enter a number: 1 [1] oauth [2] service_account Desired authentication method option (enter a number): 2 keyfile (/path/to/bigquery/keyfile.json): /PATH/TO/YOUR CLIENT SECRET FILE project (GCP project id): <PROJEC
Hakky HandbookHakkyでは、データ活用、機械学習プロダクト開発、基盤構築にご興味のある企業様向けに各種ナレッジをHandbookとして公開しております
このページを最初にブックマークしてみませんか?
『Hakky Handbook | Hakky Handbook』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く