milvus-logo
LFAI
フロントページへ
  • 統合
    • 代理店

Milvusと統合されたMemGPT

MemGPTはステートフルLLMエージェントの構築とデプロイを容易にします。Milvusインテグレーションにより、外部データソース(RAG)に接続したエージェントを構築することができます。

この例では、Milvusに保存されているカスタムデータソースとチャットするためにMemGPTを使用します。

設定

MemGPTを実行するには、Pythonのバージョンが3.10以上であることを確認してください。

Milvusバックエンドを有効にするには、必要な依存関係をインストールする必要があります:

$ pip install 'pymemgpt[milvus]'

Milvus接続はコマンドで設定できます。

$ memgpt configure
...
? Select storage backend for archival data: milvus
? Enter the Milvus connection URI (Default: ~/.memgpt/milvus.db): ~/.memgpt/milvus.db

URIをローカルのファイルパス、例えば~/.memgpt/milvus.db に設定するだけで、自動的にMilvus Liteを通じてローカルのMilvusサービスインスタンスが呼び出されます。

100万以上のドキュメントなど大規模なデータをお持ちの場合は、よりパフォーマンスの高いMilvusサーバをdockerやkubenetes上に構築することをお勧めします。 この場合、URIはサーバのURI、例えばhttp://localhost:19530 を指定してください。

外部データソースの作成

外部データをMemGPTチャットボットにフィードするには、まずデータソースを作成する必要があります。

MemGPTの研究論文をダウンロードするには、curl (ブラウザからPDFをダウンロードすることもできます)を使います:

# we're saving the file as "memgpt_research_paper.pdf"
$ curl -L -o memgpt_research_paper.pdf https://arxiv.org/pdf/2310.08560.pdf

論文をダウンロードしたら、memgpt load を使ってMemGPTデータソースを作成します:

$ memgpt load directory --name memgpt_research_paper --input-files=memgpt_research_paper.pdf
Loading files: 100%|███████████████████████████████████| 1/1 [00:00<00:00,  3.94file/s]
Loaded 74 passages and 13 documents from memgpt_research_paper

データソースをMemGPTエージェントにアタッチする

このデータソースを作成したら、いつでもMemGPTチャットボットに添付することができます。

memgpt_doc のペルソナを使って、新しいチャットボットを作成してみましょう(ただし、どのペルソナを使ってもかまいません):

# reminder: `memgpt run --persona memgpt_doc` will create a new MemGPT agent using the `memgpt_doc` persona
$ memgpt run --persona memgpt_doc

エージェントとチャットしたら、データソースをエージェントのアーカイブメモリに "アタッチ "することができます:

? Would you like to select an existing agent? No

🧬 Creating new agent...
->  🤖 Using persona profile: 'sam_pov'
->  🧑 Using human profile: 'basic'
🎉 Created new agent 'PoliteButterfly' (id=d26e1981-ff36-4095-97a0-61a1601dfb5d)

Hit enter to begin (will request first MemGPT message)

💭 Interesting, I've got a first-time user. Time to present myself and get to understand the user's needs. I wonder what brings Chad here today.
🤖 Greetings Chad! I'm MemGPT. How may I assist you today?

> Enter your message: /attach
? Select data source memgpt_research_paper
100%|███████████████████████████████████| 1/1 [00:00<00:00,  4.81it/s]

新しいチャットボットのテスト

データがチャットボットのメモリーにロードされたので、それについて質問を始めることができます:

> Enter your message: The paper I loaded into your archival memory is called MemGPT. Can you tell me more about it?

💭 It seems Chad would like to know more about the paper titled 'MemGPT' that's stored in my archival memory. It's time to search the archival memory for details and background data to provide a comprehensive
understanding of the paper. Let's remember to page through results until I've gathered enough information to answer Chad's enquiry.
⚡🧠 [function] searching memory with archival_memory_search
💭 Based on the found results, MemGPT is an AI system designed for tasks like extended conversations and document analysis. It efficiently manages different tiers of storage to provide extended context within
the LLM’s limited cap. Also, noteworthy from my findings is that MemGPT performs impressively in deep memory retrieval (DMR) and document QA tasks. Let's prepare a comprehensive response for Chad.
🤖 Certainly, Chad. MemGPT, or MemoryGPT, is a system specially designed for tasks like extended conversations and document analysis which are traditionally hindered by the limited context windows of modern 
Large Language Models (LLMs). It uses a technique inspired by hierarchical memory systems in traditional operating systems, called virtual context management. This technique allows for an effective provision 
of extended context within an LLM’s limited context window by intelligently managing different storage tiers, much like paging between physical memory and disk. Notably, MemGPT outperforms the fixed-context 
baselines in deep memory retrieval and it's able to analyze large documents with precision.

翻訳DeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
フィードバック

このページは役に立ちましたか ?