자율 AI의 혁신: 벡터 데이터베이스를 활용하여 Auto-GPT 역량 강화하기
ChatGPT, 또는 Chat Generative Pre-trained Transformer는 획기적인 발전으로 AI 기술의 판도를 바꿔 놓았습니다. 그러나 GPT와 같은 대규모 언어 모델(LLM)과 Midjourney 같은 특화된 AI 애플리케이션이 있더라도, 프롬프트에는 여전히 인간의 입력이 필요합니다. 이러한 인간 의존성은 다음과 같은 질문을 제기합니다. AI가 인간의 개입 없이 독립적으로 작동하고 목표를 달성할 수 있을까요? Auto-GPT는 이러한 필요에 대한 인기 있는 해결책으로 등장했습니다.
Auto-GPT란 무엇인가요?
Auto-GPT는 GitHub의 실험적인 오픈소스 프로젝트입니다. GPT 언어 모델을 다른 도구들과 결합하여, 인간의 입력을 최소화하거나 전혀 없이도 지속적이고 독립적으로 작업할 수 있는 AI 시스템을 만듭니다.
Auto-GPT에는 두 가지 핵심 부분이 있습니다: LLM과 명령 집합입니다. GPT와 같은 LLM은 Auto-GPT의 "두뇌" 역할을 하며 인지 처리를 담당합니다. 따라서 Auto-GPT 프롬프트는 전통적인 인간 입력이 아니라 LLM에 의해 개발됩니다. 한편, 명령 집합은 파일 관리, 웹 검색 수행, 소셜 네트워크 접근과 같은 다양한 작업을 자율적으로 수행합니다. 이러한 능력은 Auto-GPT의 "손"과 "감각"에 해당합니다.
과정을 더 자세히 설명하자면, Auto-GPT는 GPT 언어 모델과 인간 피드백을 사용하여 큰 작업을 분석하고 더 작은 작업으로 분해합니다. 그런 다음 이러한 작은 작업에 특정 명령을 할당하고, 실행하며, 다음 인지 처리 라운드를 위한 입력을 받습니다. 이러한 절차는 Auto-GPT가 작업을 완료할 때까지 반복됩니다.
Auto-GPT의 제한 사항
이제 Auto-GPT에 대해 알게 되었으므로, 그 능력과 제한 사항을 이해하는 것이 중요합니다. Auto-GPT는 작업을 자동으로 수행할 수 있지만, 활용하는 GPT 모델에 토큰 제한이 있기 때문에 방대한 문맥 정보를 이해하고 유지하는 데 한계가 있습니다. 예를 들어, OpenAI의 GPT-3는 문맥에 대해 최대 4,096개의 토큰만 처리할 수 있으며, 이는 대화가 토큰 제한을 초과하면 GPT-3가 이전 논의를 잊어버릴 수 있음을 의미합니다.
또한 복잡한 작업을 완료하려면 Auto-GPT는 여러 단계를 거쳐야 합니다. 하지만 각 단계를 GPT 모델에 별도로 보낼 수는 없습니다. 그렇게 하면 문맥이 손실될 수 있기 때문입니다. 이러한 손실은 행동이 올바른지 판단하고 목표에 효과적으로 접근하는 것을 어렵게 만들 것입니다. 그러나 각 단계에서 이전 메시지를 모두 GPT 모델에 보내면 GPT의 토큰 제한을 더 빨리 초과하게 됩니다.
이러한 문맥 문제를 해결하는 한 가지 방법은 단일 대화의 토큰 제한을 초과하지 않으면서, 마지막 열 개의 메시지나 고정된 수의 토큰과 같은 과거 메시지 창에 접근하는 것입니다. 그러나 이 방법은 Auto-GPT가 더 이른 문맥 정보에 접근하는 것을 제한하며, 이는 Auto-GPT가 목표를 달성하지 못하게 할 수 있습니다.
벡터 데이터베이스로 Auto-GPT의 문맥 능력 향상하기
Auto-GPT를 vector database와 통합하는 것은 Auto-GPT의 메모리와 문맥 이해를 향상시키는 더 효과적이고 효율적인 해결책입니다. 통합 방식은 다음과 같습니다:
통합은 각 단계의 Auto-GPT 명령과 실행 결과를 임베딩으로 변환하고 이를 벡터 데이터베이스에 저장합니다.
다음 작업을 생성할 때, 히스토리 창에서 메시지를 검색하고 이를 vector database search의 입력으로 저장합니다.
그런 다음 더 넓은 시간 순서 범위로 문맥을 개선하기 위해
top-k과거 메시지를 검색합니다.
image
또한 벡터 데이터베이스의 유사도 검색 기능 덕분에, 시스템은 마지막 행동이 현재 행동과 유사한지, 그리고 그것이 작업 완료에 도움이 되는지 판단할 수 있어, 다음 명령을 위한 더 정확한 정보를 제공합니다.
Milvus로 Auto-GPT 설정하는 방법
Milvus는 수백만, 수십억, 심지어 수조 개의 벡터를 포함하는 방대한 데이터셋을 처리할 수 있는 가장 인기 있는 오픈 소스 벡터 데이터베이스 중 하나입니다. 아래 가이드를 따라 Milvus를 Auto-GPT와 쉽게 통합할 수 있습니다.
- Milvus의 Docker 이미지를 가져오고 Docker Compose를 사용하여 설치합니다:
https://github.com/milvus-io/milvus/releases/download/v2.2.8/milvus-standalone-docker-compose.yml
docker compose up -d
- python 환경에
pymilvus클라이언트를 설치합니다:
pip install pymilvus==2.2.8
.env파일을 업데이트합니다:
MEMORY_BACKEND=milvus
Milvus를 배포하고 유지 관리하는 것이 어렵다면 Zilliz Cloud 사용을 고려해 보세요. 이는 Milvus를 위한 완전 관리형 클라우드 네이티브 서비스이며 Auto-GPT의 메모리를 쉽게 관리하는 데 도움이 될 수 있습니다. Zilliz Cloud는 전 세계적으로 광범위한 사용자 기반을 보유하고 있으며 GTC 2023에서 Nvidia CEO Jensen Huang이 추천했습니다. 또한 Zilliz Cloud는 OpenAI의 지정 ChatGPT Retrieval plugin 제공업체입니다.
Zilliz Cloud를 Auto-GPT의 메모리 백엔드로 사용하는 방법에 대한 가이드는 다음과 같습니다:
데이터베이스를 생성하고 퍼블릭 클라우드 엔드포인트를 가져옵니다.
pip install pymilvus==2.2.8를 실행하여pymilvus를 설치하고, 다음 명령으로.env파일을 업데이트합니다:
MEMORY_BACKEND=milvus
MILVUS_ADDR=your-public-cloud-endpoint
MILVUS_USERNAME=your-db-username
MILVUS_PASSWORD=your-db-password
Milvus 또는 Zilliz Cloud를 Auto-GPT의 메모리 백엔드로 활용하면 그 능력을 크게 향상시키고 실제 자율성을 달성하는 데 한 걸음 더 가까워질 수 있습니다.
Auto-GPT와 벡터 데이터베이스 통합의 한계
벡터 데이터베이스를 Auto-GPT에 통합하는 것은 작업을 자동화하고 사용자의 목표에 부합하는 명령을 생성하는 데 매우 유익하며 필요합니다. 그럼에도 불구하고 여전히 몇 가지 한계가 있습니다.
벡터 데이터베이스에서 메시지를 검색할 때 top-k 결과가 필터링되지 않습니다. 그 결과 유사도가 낮은 정보가 존재할 수 있으며, 이는 GPT 모델을 오도하고 궁극적으로 원하는 결과를 달성하는 진행 속도를 늦출 수 있습니다.
컨텍스트 데이터를 추가하고 쿼리할 수만 있으며, 더 이상 관련이 없거나 필요하지 않은 데이터는 삭제할 수 없습니다.
현재 임베딩 모델을 사용자 지정할 수 없습니다. 사용 가능한 유일한 옵션은 OpenAI가 제공하는 임베딩 인터페이스를 활용하는 것입니다.
Auto-GPT 설명
Auto-GPT는 최소한의 또는 전혀 없는 인간 입력으로 완전한 자율성을 달성하는 것을 목표로 하는 AI 기술의 새로운 발전입니다. 아직 실험 단계이지만, Auto-GPT는 특히 Milvus와 같은 벡터 데이터베이스와 결합될 때 엄청난 잠재력을 가지고 있습니다.
AI 기술을 위한 인프라 소프트웨어 제공업체로서, 우리는 벡터 데이터베이스가 Auto-GPT와 같은 새로운 AI 생성 콘텐츠(AIGC) 시스템을 개발하고 강화하는 데 중요한 역할을 하는 것을 보게 되어 매우 기쁩니다. 오픈 소스 벡터 데이터베이스와 Milvus에 대해 더 알고 싶다면, 또한 Hierarchical Navigable Small Worlds (HNSW)와 같은 관련 주제에 대해서도 배울 수 있는 많은 유익한 글이 준비되어 있습니다. 그러니 AI의 경계를 계속 넓히고 AIGC를 위한 더 밝은 미래를 만들기 위해 함께 노력합시다.
계속 읽기

Introducing Customer-Managed Encryption Keys (CMEK) on Zilliz Cloud
We're announcing the general availability of Customer-Managed Encryption Keys (CMEK) on Zilliz Cloud.

DeepSeek Always Busy? Deploy It Locally with Milvus in Just 10 Minutes—No More Waiting!
Learn how to set up DeepSeek-R1 on your local machine using Ollama, AnythingLLM, and Milvus in just 10 minutes. Bypass busy servers and enhance AI responses with custom data.

DeepRAG: Thinking to Retrieval Step by Step for Large Language Models
Discover DeepRAG, an advanced retrieval-augmented generation (RAG) model that improves LLM accuracy by retrieving only essential data through step-by-step reasoning.



