Random posts
AI / MLJavaScriptLangChain.jsLLMNode.js
LangChain.js + OpenAI API(GPT-4)で、ベクターストアを使わずに擬似RAGを作ってみた
この記事は「LangChain Advent Calendar 2023」25日目の記事です。ベクターストア無しでRAG(retrieval augmented generation)を作成する方法について紹介しています。具体的には、Embeddingを使わずにベクトルデータを生成し、WordPressのAPIを用いて投稿を検索する方法を解説しています。また、RemoteLangChainRetrieverをカスタマイ
AI / MLAWSJavaScriptLangChain.jsLLMNode.jsSaaS / FaaS
LangChainからAmazon Bedrock Knowledge Baseでインデックスを生成したPineconeインデックスにアクセスする
以前BerdockのKnowledge Baseを使ってEmbeddingしたデータのインデックスを作っていた。Pineconeをベクターストアに使用し、LangChainから利用することに興味があったため、実験を行った。結果は成功し、S3のデータを取得できた。次にはRAGのようなものを作成するために、BedrockのSDKを追加し、Chainを組んでいく予定。また、BedrockChatモデルを使った場合も試してみたが、調整が必要であることがわかった。
AI / MLJavaScriptLangChain.jsLLMNode.js
LangChain.jsの動作確認コストを抑えるため、FakeLLMを利用する
LangChainを使用すると、複数のモデル呼び出しやベクトル検索、データ処理などのワークフローを簡単に作ることができます。しかし、LLMのAPIを呼び出すたびにコストが心配になる場合もあります。そこで、FakeLLMがLangChain / LangChain.jsに用意されており、ダミーのLLMとして使用できます。FakeLLMでは言語モデルをLLMまたはChatモデルとして利用できます。また、FakeListLLMを使用することで、ダミーの返答文章を配列で設定し、呼び出すたびに順番に返すことができます。さらに、sleepを使用することでレスポンスの遅延をシミュレートすることも可能です。