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 | 작업에 관련된 샤드에 대한 정보예요. |