Elastic Cloud Serverless를 사용해 운영 부담에서 벗어나세요. 자동으로 확장하고, 트래픽 급증에도 대응하며, 구축에만 집중하세요. 14일 무료 체험판을 시작하여 직접 테스트해 보세요!
다음 가이드를 따라 AI 기반 검색 환경을 구축하거나 비즈니스 시스템과 소프트웨어 전반을 아우르는 검색을 구현할 수 있습니다.
AI 에이전트를 사용하여 서버리스 Elasticsearch 프로젝트를 관리하는 방법
- 리포지토리를 복제합니다:
git clone https://github.com/elastic/elasticsearch-labs/supporting-blog-content/serverless-ai-agenta을 사용하여 GitHub에서 도구의 코드를 다운로드하고cd serverless-ai-agent을 사용하여 디렉토리로 이동합니다. - 환경을 설정합니다:
python -m venv venv으로 가상 환경(선택 사항)을 만들고 활성화합니다(Windows의 경우source venv/bin/activate또는venv\Scripts\activate). 그런 다음pip install -r requirements.txt를 사용하여 필요한 Python 패키지를 설치합니다. - 자격 증명을 구성합니다: 프로젝트 루트에
.env파일을 생성하고 Elasticsearch API URL(ES_URL), API 키(API_KEY), 지역(REGION), OpenAI API 키(OPENAI_API_KEY)로 채웁니다. - 도구를 실행합니다: 터미널에서
python main.py을 실행하여 도구를 실행합니다. 그러면 AI 에이전트가 시작되고 명령에 대한 프롬프트가 표시됩니다. - 자연어로 프로젝트를 관리하세요: " 내\_프로젝트라는 서버리스 프로젝트 만들기", "내\_프로젝트라는 서버리스 프로젝트의 상태 보기", 또는 "내\_프로젝트라는 서버리스 프로젝트 삭제" 와 같은 일반 영어 명령을 사용하여 도구와 상호 작용합니다. AI가 사용자의 명령을 해석하고 해당 기능을 실행합니다.
배경
이 작은 명령줄 도구를 사용하면 서버리스 Elasticsearch 프로젝트를 일반 영어로 관리할 수 있습니다. AI(이 경우 OpenAI)와 대화하여 사용자가 의미하는 바를 파악하고 LlamaIndex를 사용하여 올바른 함수를 호출합니다!
Elasticsearch 서버리스 AI 에이전트가 수행할 수 있는 작업
- 프로젝트를 생성합니다: 새 서버리스 Elasticsearch 프로젝트를 생성합니다.
- 프로젝트를 삭제합니다: 기존 프로젝트를 삭제합니다(예, 자동으로 정리됩니다).
- 프로젝트 상태를 확인하세요: 프로젝트 진행 상황을 확인하세요.
- 프로젝트 세부 정보 가져오기: 프로젝트에 대한 모든 중요한 세부 정보를 가져옵니다.
GitHub에서코드를 확인하세요.
Elasticsearch 서버리스 AI 에이전트의 작동 방식
다음과 같은 내용을 입력하면
"내_프로젝트라는 이름의 서버리스 프로젝트를 만듭니다."
...무대 뒤에서 일어나는 일들을 소개합니다:
- 사용자 입력 & 컨텍스트: 자연어 명령이 AI 상담원에게 전송됩니다.
- 함수 설명: AI 에이전트는 이미 자세한 설명을 제공했기 때문에 create_ess_project, delete_ess_project, get_ess_project_status, get_ess_project_details와 같은 몇 가지 함수에 대해 알고 있습니다. 이러한 설명은 각 기능이 수행하는 작업과 필요한 매개변수를 AI에 알려줍니다.
- LLM 처리: 쿼리와 함수 정보가 LLM으로 전송됩니다. 즉, AI가 본다는 뜻입니다:
- 사용자 쿼리입니다: 일반 영어 명령어.
- 사용 가능한 기능 & 설명: 올바른 도구를 선택할 수 있도록 각 도구의 기능에 대한 세부 정보입니다.
- 컨텍스트/기록 채팅 정보: 대화이기 때문에 이전에 대화한 내용을 기억합니다.
- 함수 호출 & 응답: AI가 어떤 함수를 호출할지 파악하고 프로젝트 이름과 같은 올바른 매개변수를 전달한 다음 함수가 실행됩니다. 응답은 친숙한 형식으로 다시 전송됩니다.
즉, 자연어 쿼리와 자세한 도구 설명 목록을 모두 LLM에 전송하여 요청에 대한 올바른 조치를 '이해'하고 선택할 수 있도록 합니다.
AI 에이전트 설정
전제 조건:
AI 에이전트를 실행하기 전에 다음 사항을 설정했는지 확인하세요:
- Python(v3.7 이상)이 설치되어 있어야 합니다.
- Elastic Cloud에 서버리스 계정 설정.
- 언어 모델과 상호 작용할 수 있는 OpenAI 계정입니다.
단계:
1. 리포지토리를 복제합니다:
2. 가상 환경 만들기(선택 사항이지만 권장): 환경 관련 문제가 발생하면 가상 환경을 설정하여 격리할 수 있습니다:
3. 종속성을 설치합니다: 실행하여 필요한 모든 종속성이 설치되었는지 확인합니다:
4. 환경을 구성합니다:.env 파일을 프로젝트 루트에 다음 변수와 함께 추가합니다. 다음은 도움이 되는 .env.example 파일 예제입니다:
ES_URL, API_KEY, OPENAI_API_KEY 에 올바른 값을 입력했는지 확인합니다. API 키는 각 서비스 대시보드에서 찾을 수 있습니다.
5. 프로젝트 파일: 이 도구는 projects.json 파일을 사용하여 프로젝트 매핑(프로젝트 이름과 세부 정보)을 저장합니다. 이 파일이 아직 존재하지 않으면 자동으로 생성됩니다.
AI 에이전트 실행
다음과 같은 메시지가 표시됩니다:
명령을 입력하면 AI 에이전트가 마법을 부립니다! 완료되면 exit 또는 quit 을 입력하여 종료합니다.
몇 가지 추가 정보
- LLM 통합: LLM에는 쿼리와 사용 가능한 각 기능에 대한 자세한 설명이 모두 제공됩니다. 이를 통해 컨텍스트를 이해하고 예를 들어
create_ess_project또는delete_ess_project으로 전화할지 여부를 결정할 수 있습니다. - 도구 설명: 각 함수 도구(FunctionTool.from_defaults를 사용하여 생성됨) 에는 친절한 설명이 있습니다. 이 설명은 LLM에 전송되는 프롬프트에 포함되어 있어 사용 가능한 작업과 각 작업이 무엇을 기대하는지 "알 수 있도록" 합니다.
- 지속성: 프로젝트와 프로젝트의 세부 정보는 projects.json에 저장됩니다, 매번 정보를 다시 입력할 필요가 없습니다.
- 자세한 로깅: 에이전트가 자세한 정보 모드로 설정되어 있어 디버깅을 하고 명령어가 함수 호출로 변환되는 과정을 확인하는 데 유용합니다.




