【旧】LangChain Indexesとは?【Document Loaders・Text Splitters・Vectorstores】
「Google Colab」で「Visual ChatGPT」を試したので、まとめました。 1. Visual ChatGPT「Visual ChatGPT」は、「ChatGPT」と一連の「Visual Foundation Models」を接続することで、チャットで画像生成を行うパッケージになります。 具体的には、LangChainのToolとして、以下の機能を利用できるようにしています。 ・Stable Diffusion ・ControlNet ・InstructPix2Pix ・CLIPSeg ・BLIP 詳しくは、論文「Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models」を参照。 2. Colabでの実行Google Colabでの実行手順は、次のとおりです。 (1) パッケージのク
『LangChainとLangGraphによるRAG・AIエージェント[実践]入門』は、LangChain/LangGraphを日本語で学習したい人にとって必携の一冊 part1AgentOpenAIraglangchainlanggraph Amazon 技術評論社 タイトル: LangChainとLangGraphによるRAG・AIエージェント[実践]入門 以降、「本書」と呼称します。 書評は二部構成です。 第一部の書評 OpenAIのチャットAPIとLangChainの基礎からRAGまで ここ 第二部の書評 AgenticなAIシステム と LangGraph 前置き LangGraphのお勉強してますアピールをしていると、ありがたいことに、著者の吉田さんから、ご恵贈いただきました。吉田さんと大嶋さん共著のChatGPT/LangChainによるチャットシステム構築[実践]入門には大
Whisper+LangChain(text-davinci-003)で音声ファイルからAIを使って要約・箇条書きにするまでPythonwhisperOpenAIgpt-3langchain 音声を聞かされたくない 皆さん、以下の様なことが思い当たりませんか? 仕事で誰かとの話し合いの結果が録音ファイルで共有される。 会議議事として録音ファイルが提供される。 ドキュメントと称して操作のスクリーンキャプチャー動画を渡される。 内容を再確認するのに文字になってないので時間がかかってしまう。 ないよりはずっといいですが、「文字になってくれ!議事録にまとめてくれ!!」と思うこと、 皆さんとてもよくあるでしょう。私もとてもとてもよくあります。やーね、もう。 そこで、今流行りのAIとAIを組み合わせて労せず議事の箇条書きを作ってみよう!というのがこの記事の趣旨です。 使用するのはどちらもOpenAIの
はじめに 2023/9/28、ついに Amazon Bedrock が一般提供開始 (GA) されました🎉🎉🎉 Bedrock は Amazon や主要な AI スタートアップ企業が提供する基盤モデル (FM) を API を通じて利用できるようにするサービスです。2023/10/3 時点で以下のリージョンで利用できます。 us-east-1 us-east-2 us-west-2 ap-southeast-1 ap-northeast-1 (2023/10/3) Bedrock の魅力を体感するために Chanilit および LangChain を使用したサンプル Chatbot アプリケーションを作成しました。 画面イメージ: 特に Bedrock + Claude v2 組合せは日本の AWS ユーザーにとって強力な選択肢となるのではないでしょうか!複雑なことはできませんが、
本記事では LangChain を用いて任意の URL から情報を抽出するシステムの minimum viable product について紹介します。 特定のページを対象に情報抽出を行ったところ、ベースラインとしてはある程度の抽出精度が期待できる結果となりました(多様なページに対する定量評価も今後行う予定です)。 一方で一部のクエリに対して抽出誤りが見られました。電話番号や株価など抽出誤りが許容されない情報については、あくまで抽出支援として、人が介在する運用を検討する必要があると改めて感じました。 結論としては、高精度に情報抽出できる従来のクローラと併せて、互いの苦手な領域を補っていく仕組みを整えていきたいなと思います。 おことわり 著者は自然言語処理エンジニアとして絶賛勉強中です。記事の誤り、推奨される方法等がありましたらご指摘いただけますと幸いです。 本記事は読者層を明確に想定した上
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに LangGraphの勉強の備忘録として、タイトルの通り最新のトレンドを考慮した広告文生成をやってみます。 といっても内容は非常に薄く、LangChainやLangGraphのチュートリアルを少し書き換える程度のことしかしてませんが、誰かの参考になればうれしいです。 参考情報 以下が大変勉強になりました。 LangChainの公式チュートリアル LangGraphの公式チュートリアル LangGraphを使ったReflection Agent: SNS投稿コンテンツ提案Agent やることの概要 検索連動型広告(GoogleやY
はじめに 株式会社cross-Xの古嶋です。DX戦略の立案やデータ・AI活用の支援をしています。 今回は、OpenAI APIのgpt-4及びgpt-3.5-turboの性能について比較してみたので、その検証結果をご紹介します。かなり簡易的な検証結果であり、より踏み込んだ精査が求められるところもありますが、面白い示唆が得られたので記事としてまとめた次第です。 では、早速ですが下図を御覧ください。 これは、最近話題のLangChainを利用してOpenAIのAPIにコンテキスト内学習(ICL: In Context Learning)を実行し、PDF内に記載されている情報を抽出して回答を得るという手法を用いた場合の「出力までの時間」を比較したものです。 その中で、以下の3つの軸で「出力までの時間」を評価しています。 API: gpt-4またはgpt-3.5-turboの場合で比較 回答文:
In 2023 we saw an explosion of interest in Generative AI upon the heels of ChatGPT. All companies - from startups to enterprises - were (and still are) trying to figure out their GenAI strategy. "How can we incorporate GenAI into our product? What reference architectures should we be following? What models are best for our use case? What is the technology stack we should be using? How can we test
注意:この記事は書きかけの状態で公開しています。 参考(以下のチュートリアルを日本語訳+補足した内容になります。 LangChainのSummarization機能を用いて、ドキュメントを要約します。 要約を行うプログラムの前に、ドキュメントを要約する方法(CombineDocuments Chain)について学ぶ必要があります。 CombineDocuments ChainsについてCombineDocuments Chainは、複数のドキュメントに対して言語を実行する必要がある場合に便利です。 一般的な使用例としては、 質問応答 ソース付き質問応答 要約 などがあります。詳細は、こちらの概要をご覧ください。 https://langchain.readthedocs.io/en/latest/use_cases/combine_docs.html 1.Stuffingスタッフィングとは
今回は、 LangChain を使って SQLite を直接操作する方法を試してみます。 GPT-4 をはじめ、大規模言語モデル(LLM)は非常の強力なツールですが、事前に学習されたデータを元に回答を作成します。自社ドキュメントを Embedding したり、 Google 検索を利用したり、あるいはこれらを使い分けたりして学習されていないデータを元にした回答を作成する方法もあります。いわゆる ChatGPT を自社ビジネスに利用したいとなると真っ先に検討される内容と言えるのではないでしょうか。 一方で、生成系としての使い方には別の面もあります。出力される文字列を最終的なアウトプットとして利用するのではなく、別のツールの input として利用する考え方です。 ChatGPT にプログラムを書かせたり、SQL を書いてもらったりというのがこの方式であると言えます。 LangChain から
2022年11月30日にテスト版が公開されたChatGPTは、ユーザーの様々な質問に流暢に答える会話能力のほかにも、様々な種類の文章やプログラムをリアルタイムで生成することができ、その性能の高さが話題となりました。 しかし、ChatGPTには、フォローしている情報が2021年までという制限があるため、最近のニュースや話題には対応できません。 この問題を解決するために、PythonライブラリのLangChainを利用して、ChatGPT(クローン)でGoogleの検索結果を使えるようにしてみました。 ※(2022年12月31日追記)Googleカスタム検索版ChatGPTクローンのコードを追加しました。 1.ChatGPTの課題 ChatGPTは、様々な質問に対して、ユーザーが望む形で回答を返してくれる非常に便利な対話用AIですが、大きな課題が二つあります。 事実と見分けがつかないデタラメな
Langchainにはchat履歴保存のためのMemory機能があります。 Langchain公式ページのMemoryのHow to guideにのっていることをやっただけですが、数が多くて忘れそうだったので、自分の備忘録として整理しました。 TL;DR 手軽に記憶を維持するチャットボットなどを作るときは、自分で実装するより、LangchainのMemory機能を使うのが楽そう。 Memory機能、八種類もあるけど、まとめると以下。 まず試すのによさそうなのが、ConversationBufferWindowMemory ConversationSummaryBufferMemoryは、ConversationBufferWindowMemoryの上位互換なので、これもよさそうだが、要約部分が長くなりすぎないか心配 VectorStore-Backed Memoryは、非常に良さげですが、
便利なので使ってみてくださいー! 🤖 作ったもの Hacker News のトップ記事の日本語要約を定期投稿する Bluesky のボットを作りました。 以下画像のように、Hacker News の記事のタイトルとリンクを投稿。そして、そのスレッドに記事内容の日本語要約も投稿してくれます。 コードはすべてこちらで公開しています。 💘 モチベーション Geek な人々が使っている Hacker News から海外の最新情報を得たい!でも英語が絶望的に苦手 & Hacker News のデザインが質素すぎて購読するのがしんどい。という理由から、怠惰に情報を得られる手段として作りました。 今のところストレスなく情報を得られているので、作ってよかったなと思っています。 🛠️ 技術的なポイント 簡単に構成と、詰まったところを紹介します。 構成図 構成は以前記事にしたGitHub Trendin
「GraphRAG」は、Microsoft Researchによって提案された知識グラフを利用した新たな検索拡張生成(Retrieval Augmented Generation; RAG)手法です。知識グラフを利用することでRAGの検索部分を改善し、従来のベクトルベースの手法に比べてより関連性の高いコンテンツを取得することができるとされます。 今回はLangchainで紹介されている方法で GraphRAG を実装し、実際にいくつかの質問をして精度を検証していきます。 参考: GraphRAG: Unlocking LLM discovery on narrative private data - Microsoft Research[1] GraphRAG の特徴 GraphRAGはLLMを用いてドキュメントから知識グラフを構築し、グラフに基づいた検索を行うRAG手法です。この手法では
「LangChain」で「ChatGPT API」を試したので、まとめました。 【最新版の情報は以下で紹介】 1. ChatGPT API「LangChain」のLLMは今まで「GPT-3」(text-davinci-003) が事実上の標準でしたが、今後は「ChatGPT API」(gpt-3.5-turbo) が標準になりそうです。「ChatGPT API」は「GPT-3」に比べて価格が 1/10 になりました。 2. Colabでの実行Google Colabでの実行手順は、次のとおりです。 (1) パッケージのインストール。 # パッケージのインストール !pip install langchain !pip install openai(2) 環境変数の準備。 以下のコードの <OpenAI_APIのトークン> にはOpenAI APIのトークンを指定します。(有料) impor
「LangChain」で「ChatGPTプラグイン」を使う機能を試したので、まとめました。 1. AIPluginTool「AIPluginTool」は、「ChatGPTプラグイン」などのAI用のプラグインを、LangChainのツールとして利用できるようにするクラスです。 現在、認証のないプラグインでのみ機能します。 2. Colabでの準備Google Colabでの準備手順は、次のとおりです。 (1) パッケージのインストール。 # パッケージのインストール !pip install langchain !pip install openai(2) 環境変数の準備。 以下のコードの <OpenAI_APIのトークン> にはOpenAI APIのトークンを指定します。(有料) import os os.environ["OPENAI_API_KEY"] = "<OpenAI_APIのト
こんにちは。ビジネスイノベーションスペシャリストの森です。 最近コードを書くときは、Github CopilotとGPT-4を使っていますが、実装スピードが10倍(体感)になりました。 微妙な部分を書き換えながら使うので、初心者がコーディングできるようになるのは難しいと思いますが、 コーディングの単純作業部分を全部任せられるのは非常に便利です。 こんなこともあり、Tech業界は最近生成AI一色です。Insight Edgeでも、数多くのChatGPT(LLM)活用プロジェクトに取り組んでいます。 この記事では、本格的なLLMのビジネス現場活用に向け、日々取り組んでいるテーマと、その技術的な課題を紹介します。 また、本記事のタイトル含め、LLMと記載すべきところをChatGPTという単語を使っている箇所があります。 OpenAI社のChatGPTというサービス名称ではなく、概念(一般名詞)と
①Guidanceってなに? Guidanceは、今後さらに複雑になるであろうプロンプト開発を見越しているものと捉えています。(私の主観が入っていますが) またユーザ目線で考えると、複雑なプロンプトを実行するとその分料金が発生します。複雑なプロンプトを簡略化できれば費用も抑えられますよね。 ガイダンスプログラムは、従来のプロンプティングやチェイン法よりも効果的かつ効率的に現代の言語モデルを制御することを可能にします。ガイダンスは、言語モデルがテキストを処理する方法と実際に一致するように、生成、プロンプティング、論理的な制御を連続した流れで組み合わせることができます。Chain of Thoughtやその他のバリエーション(ART、Auto-CoTなど)などのシンプルな出力構造は、言語モデルの性能を向上させることが示されています。よりパワフルなGPT-4の登場により、さらに豊かな構造が可能に
LangChain Expression Language, or LCEL, is a declarative way to easily compose chains together. LCEL was designed from day 1 to support putting prototypes in production, with no code changes, from the simplest “prompt + LLM” chain to the most complex chains (we’ve seen folks successfully run LCEL chains with 100s of steps in production). To highlight a few of the reasons you might want to use LCEL
LangChain is a framework for developing applications powered by large language models (LLMs). LangChain simplifies every stage of the LLM application lifecycle: Development: Build your applications using LangChain's open-source building blocks, components, and third-party integrations. Use LangGraph.js to build stateful agents with first-class streaming and human-in-the-loop support.Productionizat
発表の中で紹介しているUdemy講座:https://www.nextskill.co.jp/courses === 大規模言語モデル(LLM)を使ったアプリケーション開発のフレームワークとして、「LangChain」が注目を集めています。 LangChainは毎日のように新バージョンがリリースされており、とても変化の激しいOSSです。 そのため、LangChainをしっかり使おうとすると、LangChain自体のソースコードを読むことも重要になります。 この勉強会では、そんなLangChainのソースコードリーディングを実施します。 OSSのソースコードリーディングは、何か目的があったほうがスムーズです。 GPTを使ったアプリケーション開発では、OpenAIの「Chat API」を使うのが定番ですが、実はLangChainでOpenAIのChat APIを「ちゃんと」使うには、LangC
All functionality related to Google Cloud Platform and other Google products. Chat modelsWe recommend individual developers to start with Gemini API (langchain-google-genai) and move to Vertex AI (langchain-google-vertexai) when they need access to commercial support and higher rate limits. If you’re already Cloud-friendly or Cloud-native, then you can get started in Vertex AI straight away. Plea
By Lance Martin Context LLM ops platforms, such as LangChain, make it easy to assemble LLM components (e.g., models, document retrievers, data loaders) into chains. Question-Answering is one of the most popular applications of these chains. But it is often not always obvious to determine what parameters (e.g., chunk size) or components (e.g., model choice, VectorDB) yield the best QA performance.
Introduction サーバレスな高速キャッシュやスケーラブルなメッセージングを提供するMomento。 このblogでも何度か記事にしてますが、 さまざまなライブラリやプロダクトと連携可能です。 今回は、ChatGPTをはじめとするLLMの拡張/実装を効率よくおこなうためのライブラリ、 LangChainと連携させてみましょう。 また、DevIOのMomento関連記事はここにあるので、 これらもご確認ください。 LangChain? LangChainは(ChatGPTなど)LLMを利用したアプリを構築するためのフレーワークです。 現在(2023年4月)は、PythonとTypeScript用のライブラリが公開されています。 LangChainを使うことで、LLMへのプロンプト構築を効率よく作成できたり、 キャッシュを用いた処理の高速化や履歴管理などが可能になります。 LangCh
2. Tracingの起動今回はDockerが必要なので、「Google Colab」でなくローカルで実行します。 (1) Dockerのインストール。 (2) Pythonの仮想環境 で「langchain」をインストール。 $ pip install langchain(3) 「langchain-server」を起動。 Dockerが起動してる状態で実行してください。 $ langchain-server成功すると、「Tracing」のURLが表示されます。 ➜ Local: http://localhost:4173/(4) ブラウザで表示されたURLを開く。 セッション一覧が表示されます。「セッション」は、トレースをグループ化したものになります。 (5) 「Session default」をクリック。 セッション情報が表示されます。まだ何も実行されてません。 3. LangCha
Generative Agents の論文を読んで、その仕組みをドキュメント問い合わせシステムとして応用してみたOpenAI箱庭ChatGPTlangchain モチベーション こちらで紹介されていた「Generative Agents: Interactive Simulacra of Human Behavior」という論文を読み、大変興味を持ちました。 AIによって生成された25名のエージェント(ChatGPT: gpt3.5-turbo)が人間の行動をシミュレートして、社会的な行動が創発されたそうです。 この論文での創発の定義は以下でした。 情報拡散(Information Diffusion) 関係性の記憶(Relationship memory) 調整(Coordination) また、このような創発を起こすためのエージェントの仕組みは、以下あたりでと解釈しました。 外部記憶(
Amazon Web Services ブログ Amazon SageMaker、Amazon OpenSearch Service、Streamlit、LangChain を使った質問応答ボットの構築 エンタープライズ企業における生成系 AI と大規模言語モデル (LLM) の最も一般的な用途の 1 つは、企業の知識コーパスに基づいた質問応答です。Amazon Lex は AI ベースのチャットボットを構築するためのフレームワークを提供します。事前学習済みの基盤モデル (Foundation Models; FM) は、さまざまなトピックに関する要約・テキスト生成・質問応答などの自然言語理解 (NLU) タスクではうまく機能しますが、幻覚やハルシネーションと言われる不正確な情報を含まない回答を提供するのが難しい、もしくは、学習データに含まれない内容に関する質問へ回答することはできません。
前回 概要 前回のLangChainを用いてReActフレームワークの理解からバージョンの更新が進み、 LangChain Expression Languageという記法が導入されました。 記法の導入に伴い前回(v0.0.198)からLangChainの中身が大きく変わっていましたので、中身について改めて確認したものとなります。 Agentを改造する際にどの部分を見ればよいかの手助けとすることが目的です。 確認した今回のLangChainのバージョン langchain 0.1.4 langchain-community 0.0.16 langchain-core 0.1.17 langchain-openai 0.0.5 langchainhub 0.1.14 LCELによるReActの実装の説明 LCELを用いたReActの実装については以下のページをベースとして考えます。 http
はじめに ChatGPTの肝になる機能の一つが Function Calling です。これはLLMで質問の内容を解析して、必要な関数を呼び出すというものです。 「必要な関数」 をどのように判定しているかといえば、それは関数の説明文から判断します。今までもキーワードに応じて何かの処理をするようなプログラムは良くあったと思いますが、LLMの強力な言語処理能力を使うことで 「呼び出すべき関数」 と 「適切な引数」 を自動的に判定してくれます。SiriやAlexaみたいなツールが簡単に作れちゃいます。 今回はそのFunction callingをLangChain経由で使って天気予報APIをAITuberの「紅月れん」から呼べるようにしたので、その試行錯誤等を載せておきたいと思います。 なお、AITuber自体の作り方やLLMに関する全般的な話は下記の記事で取り扱っていますので、良ければ読んでみ
ChatGPTと自社データを連携させたチャットボットを作る (なんちゃってAgent実装,コードあり) こんにちは、@_mkazutaka と申します。 ChatGPT流行ってますね。とはいえいざ社内サービスで提供してみようとするとデータをどうやってChatGPTに渡すか苦労するかと思います(しています)。 今回は、弊社が提供しているサービスとChatGPTをうまく連携させ、自社のデータを使ってチャットボットのPoCを作ってみたのでその実装についての紹介です。最後にコードを載せています(なお会社からの許可はとっていない) データ元紹介する前にデータ元のサービスを紹介します。弊社は、ChatGPTを使ったPoCの他にEXPLAZAと呼ばれるアウトドアアイテムの口コミアプリを作っています。お客さまは、画像・レビュー本文等の口コミをEXPLAZAに投稿することができます。例えば以下はとあるテント
Bedrock, OpenSearch Serverless, App Runner, Slack Bolt, LangChainを利用してRAGを実行できるSlackチャットボットを作成しました。 こんにちは。たにもんです。 生成AIを活用したアプリケーションの代表例としてRAG (Retrieval-Augmented Generation; 検索拡張生成) があります。 LLMが生成する文章にはもっともらしい嘘(ハルシネーション)が含まれることがありますが、RAGを用いることでハルシネーションを抑える効果が期待できます。 ハルシネーションはLLMが学習していない知識に関する文章を生成する際に発生する可能性が高まりますが、RAGではユーザーの入力に関連する情報を外部から検索してLLMの知識を補ってあげることで精度向上を目指します。 今回はRAGを実行できるSlackチャットボットを作っ
A comprehensive study of the advanced retrieval augmented generation techniques and algorithms, systemising various approaches. The article comes with a collection of links in my knowledge base referencing various implementations and studies mentioned.Since the goal of the post is to make an overview & explanation of avaliable RAG algorithms and techniques, I won’t dive into implementations detail
LLMs are a powerful new platform, but they are not always trained on data that is relevant for our tasks. This is where retrieval augmented generation (or RAG) comes in: RAG is a general methodology for connecting LLMs with external data sources such as private or recent data. It allows LLMs to use external data in generation of their output. This video series will build up an understanding of RAG
FastChatがバージョンアップして、LangChainとOpenAI互換のローカルAPIサーバーとの統合方法が詳しめで紹介されていました。 モデルのダウンロードFastChat 初回起動時に自動でモデルがダウンロードされるので、特に何もしなくても大丈夫です。 以前のVicuna-13b-v1.1では、LLaMAから手動でデルタを適用する必要がありましたが、現行のFastChat のバージョンでは、モデル起動時に自動でデルタ適用済みのモデルがダウンロードしてくれるようになりました。 RESTful APIサーバーの起動 各サーバーを起動します。 まずは controllerを起動します。 $ python3 -m fastchat.serve.controllerLangChainから呼び出すOpenAI APIのモデル名に見せかけるために、worker 起動時に、OpenAI公式のch
The Quick-start Guide Isn’t Enough“Retrieval augmented generation is the process of supplementing a user’s input to a large language model (LLM) like ChatGPT with additional information that you (the system) have retrieved from somewhere else. The LLM can then use that information to augment the response that it generates.” — Cory Zue LLMs are an amazing invention, prone to one key issue. They mak
Jupyter AI is under incubation as part of the JupyterLab organization. Jupyter AI connects generative AI with Jupyter notebooks. Jupyter AI provides a user-friendly and powerful way to explore generative AI models in notebooks and improve your productivity in JupyterLab and the Jupyter Notebook. More specifically, Jupyter AI offers: An %%ai magic that turns the Jupyter notebook into a reproducible
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く