본문 바로가기
WIKI 기술 지식 베이스

Update Memory Container API

원문 보기 위키 갱신

출처: 문서

본문

메모리 컨테이너 API 업데이트

3.3 버전에서 도입됨 {: .label .label-purple }

이 API를 사용하여 기존 메모리 컨테이너의 이름, 설명, 구성, 액세스 권한 등의 속성을 업데이트할 수 있어요.

엔드포인트

PUT /_plugins/_ml/memory_containers/{memory_container_id}

경로 매개변수

매개변수 데이터 타입 필수/선택 설명
memory_container_id String 필수 업데이트할 메모리 컨테이너의 ID예요.

요청 필드

필드 데이터 타입 필수/선택 설명
name String 선택 업데이트된 메모리 컨테이너의 이름이에요.
description String 선택 업데이트된 메모리 컨테이너의 설명이에요.
configuration Object 선택 전략과 임베딩 설정을 포함하는 구성 객체예요. 구성 객체를 참조하세요.

구성 객체

configuration 객체는 다음 필드를 지원해요.

필드 데이터 타입 필수/선택 설명
llm_id String 선택 사실 추출에 사용할 대규모 언어 모델(LLM) ID예요.
strategies Array 선택 메모리 처리를 위한 전략 객체 배열이에요.
embedding_model_id String 선택 임베딩 모델 ID예요. 장기 메모리 인덱스가 없을 때만 업데이트할 수 있어요.
embedding_model_type String 선택 임베딩 모델 유형이에요. 장기 메모리 인덱스가 없을 때만 업데이트할 수 있어요.
embedding_dimension Integer 선택 임베딩 차원이에요. 장기 메모리 인덱스가 없을 때만 업데이트할 수 있어요.

업데이트 동작

다음 업데이트 동작을 참고해요.

전략 업데이트

  • 특정 전략을 업데이트하려면 전략 id를 지정해요.
  • 새 전략을 생성하려면 id 없이 전략을 지정해요.

백엔드 역할 업데이트

  • 새로운 backend_roles를 추가하면 해당 역할을 가진 새 사용자에게 읽기 또는 쓰기 액세스 권한이 부여돼요.
  • 새로운 backend_roles 필드는 기존 필드를 덮어쓰므로, 기존 역할을 유지하려면 원래 역할을 포함시켜요.

네임스페이스 업데이트

  • strategies 객체의 namespace 필드는 덮어쓰기 방식으로 업데이트돼요. 기존 네임스페이스를 유지하려면 원래 네임스페이스를 포함시켜요.

임베딩 모델 제한 사항

  • embedding_model_id, embedding_model_type, embedding_dimension 필드는 이 메모리 컨테이너에 장기 메모리 인덱스가 생성되지 않은 경우에만 업데이트할 수 있어요. 지정된 index_prefix로 장기 메모리 인덱스가 생성되면 이 임베딩 필드들은 업데이트할 수 없어요.

예제 요청

PUT /_plugins/_ml/memory_containers/HudqiJkB1SltqOcZusVU
{
  "name": "opensearch-agents-memory",
  "description": "Updated memory container for OpenSearch agents",
  "backend_roles": ["admin", "ml_user"],
  "configuration": {
    "strategies": [
      {
        "id": "existing_strategy_id",
        "type": "summarization",
        "namespace": "updated_namespace"
      },
      {
        "type": "keyword_extraction"
      }
    ],
    "embedding_model_id": "new_embedding_model",
    "embedding_model_type": "dense",
    "embedding_dimension": 768
  }
}

{% include copy-curl.html %}

예제 응답

{
  "result": "updated",
  "_id": "HudqiJkB1SltqOcZusVU",
  "_version": 2,
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  }
}

응답 필드

필드 데이터 타입 설명
result String 업데이트 작업의 결과예요.
_id String 업데이트된 메모리 컨테이너의 ID예요.
_version Integer 업데이트된 메모리 컨테이너의 버전 번호예요.
_shards Object 작업에 관련된 샤드에 대한 정보예요.

더 알아보기 (Learn more)