milvus-logo
LFAI
홈페이지
  • 통합
    • 상담원

Milvus와 통합된 MemGPT

MemGPT를 사용하면 상태 저장 LLM 에이전트를 쉽게 빌드하고 배포할 수 있습니다. Milvus 통합을 사용하면 외부 데이터 소스(RAG)에 연결하여 에이전트를 구축할 수 있습니다.

이 예제에서는 MemGPT를 사용하여 Milvus에 저장된 사용자 지정 데이터 소스와 채팅하겠습니다.

구성

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 서비스 인스턴스가 자동으로 호출됩니다.

백만 개 이상의 문서와 같은 대규모 데이터가 있는 경우, 도커나 쿠버네티스에 더 성능이 좋은 Milvus 서버를 설정하는 것을 권장합니다. 이 경우, 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
피드백

이 페이지가 도움이 되었나요?