mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-08-01 16:24:44 +00:00
add update and delete for memory banks
This commit is contained in:
parent
bba6edd06b
commit
9b75e92852
4 changed files with 240 additions and 3 deletions
|
@ -21,7 +21,7 @@
|
||||||
"info": {
|
"info": {
|
||||||
"title": "[DRAFT] Llama Stack Specification",
|
"title": "[DRAFT] Llama Stack Specification",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"description": "This is the specification of the llama stack that provides\n a set of endpoints and their corresponding interfaces that are tailored to\n best leverage Llama Models. The specification is still in draft and subject to change.\n Generated at 2024-11-14 12:51:12.176325"
|
"description": "This is the specification of the llama stack that provides\n a set of endpoints and their corresponding interfaces that are tailored to\n best leverage Llama Models. The specification is still in draft and subject to change.\n Generated at 2024-11-14 14:47:24.435917"
|
||||||
},
|
},
|
||||||
"servers": [
|
"servers": [
|
||||||
{
|
{
|
||||||
|
@ -429,6 +429,39 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"/memory_banks/delete": {
|
||||||
|
"post": {
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"MemoryBanks"
|
||||||
|
],
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"name": "X-LlamaStack-ProviderData",
|
||||||
|
"in": "header",
|
||||||
|
"description": "JSON-encoded provider data which will be made available to the adapter servicing the API",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"requestBody": {
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/DeleteMemoryBankRequest"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"/models/delete": {
|
"/models/delete": {
|
||||||
"post": {
|
"post": {
|
||||||
"responses": {
|
"responses": {
|
||||||
|
@ -2259,6 +2292,35 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"/memory_banks/update": {
|
||||||
|
"post": {
|
||||||
|
"responses": {},
|
||||||
|
"tags": [
|
||||||
|
"MemoryBanks"
|
||||||
|
],
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"name": "X-LlamaStack-ProviderData",
|
||||||
|
"in": "header",
|
||||||
|
"description": "JSON-encoded provider data which will be made available to the adapter servicing the API",
|
||||||
|
"required": false,
|
||||||
|
"schema": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"requestBody": {
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/UpdateMemoryBankRequest"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"/models/update": {
|
"/models/update": {
|
||||||
"post": {
|
"post": {
|
||||||
"responses": {
|
"responses": {
|
||||||
|
@ -4622,6 +4684,18 @@
|
||||||
"session_id"
|
"session_id"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"DeleteMemoryBankRequest": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"memory_bank_id": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": false,
|
||||||
|
"required": [
|
||||||
|
"memory_bank_id"
|
||||||
|
]
|
||||||
|
},
|
||||||
"DeleteModelRequest": {
|
"DeleteModelRequest": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -7912,6 +7986,41 @@
|
||||||
],
|
],
|
||||||
"title": "Response from the synthetic data generation. Batch of (prompt, response, score) tuples that pass the threshold."
|
"title": "Response from the synthetic data generation. Batch of (prompt, response, score) tuples that pass the threshold."
|
||||||
},
|
},
|
||||||
|
"UpdateMemoryBankRequest": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"memory_bank_id": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"params": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/VectorMemoryBankParams"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/KeyValueMemoryBankParams"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/KeywordMemoryBankParams"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/GraphMemoryBankParams"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"provider_id": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"provider_memory_bank_id": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": false,
|
||||||
|
"required": [
|
||||||
|
"memory_bank_id",
|
||||||
|
"params"
|
||||||
|
]
|
||||||
|
},
|
||||||
"UpdateModelRequest": {
|
"UpdateModelRequest": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -8132,6 +8241,10 @@
|
||||||
"name": "DeleteAgentsSessionRequest",
|
"name": "DeleteAgentsSessionRequest",
|
||||||
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/DeleteAgentsSessionRequest\" />"
|
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/DeleteAgentsSessionRequest\" />"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "DeleteMemoryBankRequest",
|
||||||
|
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/DeleteMemoryBankRequest\" />"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "DeleteModelRequest",
|
"name": "DeleteModelRequest",
|
||||||
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/DeleteModelRequest\" />"
|
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/DeleteModelRequest\" />"
|
||||||
|
@ -8566,6 +8679,10 @@
|
||||||
"name": "UnstructuredLogEvent",
|
"name": "UnstructuredLogEvent",
|
||||||
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/UnstructuredLogEvent\" />"
|
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/UnstructuredLogEvent\" />"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "UpdateMemoryBankRequest",
|
||||||
|
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/UpdateMemoryBankRequest\" />"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "UpdateModelRequest",
|
"name": "UpdateModelRequest",
|
||||||
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/UpdateModelRequest\" />"
|
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/UpdateModelRequest\" />"
|
||||||
|
@ -8657,6 +8774,7 @@
|
||||||
"Dataset",
|
"Dataset",
|
||||||
"DeleteAgentsRequest",
|
"DeleteAgentsRequest",
|
||||||
"DeleteAgentsSessionRequest",
|
"DeleteAgentsSessionRequest",
|
||||||
|
"DeleteMemoryBankRequest",
|
||||||
"DeleteModelRequest",
|
"DeleteModelRequest",
|
||||||
"DoraFinetuningConfig",
|
"DoraFinetuningConfig",
|
||||||
"EmbeddingsRequest",
|
"EmbeddingsRequest",
|
||||||
|
@ -8755,6 +8873,7 @@
|
||||||
"Turn",
|
"Turn",
|
||||||
"URL",
|
"URL",
|
||||||
"UnstructuredLogEvent",
|
"UnstructuredLogEvent",
|
||||||
|
"UpdateMemoryBankRequest",
|
||||||
"UpdateModelRequest",
|
"UpdateModelRequest",
|
||||||
"UserMessage",
|
"UserMessage",
|
||||||
"VectorMemoryBank",
|
"VectorMemoryBank",
|
||||||
|
|
|
@ -867,6 +867,14 @@ components:
|
||||||
- agent_id
|
- agent_id
|
||||||
- session_id
|
- session_id
|
||||||
type: object
|
type: object
|
||||||
|
DeleteMemoryBankRequest:
|
||||||
|
additionalProperties: false
|
||||||
|
properties:
|
||||||
|
memory_bank_id:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- memory_bank_id
|
||||||
|
type: object
|
||||||
DeleteModelRequest:
|
DeleteModelRequest:
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
properties:
|
properties:
|
||||||
|
@ -3280,6 +3288,25 @@ components:
|
||||||
- message
|
- message
|
||||||
- severity
|
- severity
|
||||||
type: object
|
type: object
|
||||||
|
UpdateMemoryBankRequest:
|
||||||
|
additionalProperties: false
|
||||||
|
properties:
|
||||||
|
memory_bank_id:
|
||||||
|
type: string
|
||||||
|
params:
|
||||||
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/VectorMemoryBankParams'
|
||||||
|
- $ref: '#/components/schemas/KeyValueMemoryBankParams'
|
||||||
|
- $ref: '#/components/schemas/KeywordMemoryBankParams'
|
||||||
|
- $ref: '#/components/schemas/GraphMemoryBankParams'
|
||||||
|
provider_id:
|
||||||
|
type: string
|
||||||
|
provider_memory_bank_id:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- memory_bank_id
|
||||||
|
- params
|
||||||
|
type: object
|
||||||
UpdateModelRequest:
|
UpdateModelRequest:
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
properties:
|
properties:
|
||||||
|
@ -3414,7 +3441,7 @@ info:
|
||||||
description: "This is the specification of the llama stack that provides\n \
|
description: "This is the specification of the llama stack that provides\n \
|
||||||
\ a set of endpoints and their corresponding interfaces that are tailored\
|
\ a set of endpoints and their corresponding interfaces that are tailored\
|
||||||
\ to\n best leverage Llama Models. The specification is still in\
|
\ to\n best leverage Llama Models. The specification is still in\
|
||||||
\ draft and subject to change.\n Generated at 2024-11-14 12:51:12.176325"
|
\ draft and subject to change.\n Generated at 2024-11-14 14:47:24.435917"
|
||||||
title: '[DRAFT] Llama Stack Specification'
|
title: '[DRAFT] Llama Stack Specification'
|
||||||
version: 0.0.1
|
version: 0.0.1
|
||||||
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
|
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
|
||||||
|
@ -4144,6 +4171,27 @@ paths:
|
||||||
description: OK
|
description: OK
|
||||||
tags:
|
tags:
|
||||||
- Memory
|
- Memory
|
||||||
|
/memory_banks/delete:
|
||||||
|
post:
|
||||||
|
parameters:
|
||||||
|
- description: JSON-encoded provider data which will be made available to the
|
||||||
|
adapter servicing the API
|
||||||
|
in: header
|
||||||
|
name: X-LlamaStack-ProviderData
|
||||||
|
required: false
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/DeleteMemoryBankRequest'
|
||||||
|
required: true
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: OK
|
||||||
|
tags:
|
||||||
|
- MemoryBanks
|
||||||
/memory_banks/get:
|
/memory_banks/get:
|
||||||
get:
|
get:
|
||||||
parameters:
|
parameters:
|
||||||
|
@ -4216,6 +4264,25 @@ paths:
|
||||||
responses: {}
|
responses: {}
|
||||||
tags:
|
tags:
|
||||||
- MemoryBanks
|
- MemoryBanks
|
||||||
|
/memory_banks/update:
|
||||||
|
post:
|
||||||
|
parameters:
|
||||||
|
- description: JSON-encoded provider data which will be made available to the
|
||||||
|
adapter servicing the API
|
||||||
|
in: header
|
||||||
|
name: X-LlamaStack-ProviderData
|
||||||
|
required: false
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/UpdateMemoryBankRequest'
|
||||||
|
required: true
|
||||||
|
responses: {}
|
||||||
|
tags:
|
||||||
|
- MemoryBanks
|
||||||
/models/delete:
|
/models/delete:
|
||||||
post:
|
post:
|
||||||
parameters:
|
parameters:
|
||||||
|
@ -4960,6 +5027,9 @@ tags:
|
||||||
- description: <SchemaDefinition schemaRef="#/components/schemas/DeleteAgentsSessionRequest"
|
- description: <SchemaDefinition schemaRef="#/components/schemas/DeleteAgentsSessionRequest"
|
||||||
/>
|
/>
|
||||||
name: DeleteAgentsSessionRequest
|
name: DeleteAgentsSessionRequest
|
||||||
|
- description: <SchemaDefinition schemaRef="#/components/schemas/DeleteMemoryBankRequest"
|
||||||
|
/>
|
||||||
|
name: DeleteMemoryBankRequest
|
||||||
- description: <SchemaDefinition schemaRef="#/components/schemas/DeleteModelRequest"
|
- description: <SchemaDefinition schemaRef="#/components/schemas/DeleteModelRequest"
|
||||||
/>
|
/>
|
||||||
name: DeleteModelRequest
|
name: DeleteModelRequest
|
||||||
|
@ -5260,6 +5330,9 @@ tags:
|
||||||
- description: <SchemaDefinition schemaRef="#/components/schemas/UnstructuredLogEvent"
|
- description: <SchemaDefinition schemaRef="#/components/schemas/UnstructuredLogEvent"
|
||||||
/>
|
/>
|
||||||
name: UnstructuredLogEvent
|
name: UnstructuredLogEvent
|
||||||
|
- description: <SchemaDefinition schemaRef="#/components/schemas/UpdateMemoryBankRequest"
|
||||||
|
/>
|
||||||
|
name: UpdateMemoryBankRequest
|
||||||
- description: <SchemaDefinition schemaRef="#/components/schemas/UpdateModelRequest"
|
- description: <SchemaDefinition schemaRef="#/components/schemas/UpdateModelRequest"
|
||||||
/>
|
/>
|
||||||
name: UpdateModelRequest
|
name: UpdateModelRequest
|
||||||
|
@ -5338,6 +5411,7 @@ x-tagGroups:
|
||||||
- Dataset
|
- Dataset
|
||||||
- DeleteAgentsRequest
|
- DeleteAgentsRequest
|
||||||
- DeleteAgentsSessionRequest
|
- DeleteAgentsSessionRequest
|
||||||
|
- DeleteMemoryBankRequest
|
||||||
- DeleteModelRequest
|
- DeleteModelRequest
|
||||||
- DoraFinetuningConfig
|
- DoraFinetuningConfig
|
||||||
- EmbeddingsRequest
|
- EmbeddingsRequest
|
||||||
|
@ -5436,6 +5510,7 @@ x-tagGroups:
|
||||||
- Turn
|
- Turn
|
||||||
- URL
|
- URL
|
||||||
- UnstructuredLogEvent
|
- UnstructuredLogEvent
|
||||||
|
- UpdateMemoryBankRequest
|
||||||
- UpdateModelRequest
|
- UpdateModelRequest
|
||||||
- UserMessage
|
- UserMessage
|
||||||
- VectorMemoryBank
|
- VectorMemoryBank
|
||||||
|
|
|
@ -144,3 +144,15 @@ class MemoryBanks(Protocol):
|
||||||
provider_id: Optional[str] = None,
|
provider_id: Optional[str] = None,
|
||||||
provider_memory_bank_id: Optional[str] = None,
|
provider_memory_bank_id: Optional[str] = None,
|
||||||
) -> MemoryBank: ...
|
) -> MemoryBank: ...
|
||||||
|
|
||||||
|
@webmethod(route="/memory_banks/update", method="POST")
|
||||||
|
async def update_memory_bank(
|
||||||
|
self,
|
||||||
|
memory_bank_id: str,
|
||||||
|
params: BankParams,
|
||||||
|
provider_id: Optional[str] = None,
|
||||||
|
provider_memory_bank_id: Optional[str] = None,
|
||||||
|
) -> MemoryBank: ...
|
||||||
|
|
||||||
|
@webmethod(route="/memory_banks/delete", method="POST")
|
||||||
|
async def delete_memory_bank(self, memory_bank_id: str) -> None: ...
|
||||||
|
|
|
@ -158,7 +158,7 @@ class CommonRoutingTableImpl(RoutingTable):
|
||||||
registered_obj = await register_object_with_provider(
|
registered_obj = await register_object_with_provider(
|
||||||
obj, self.impls_by_provider_id[obj.provider_id]
|
obj, self.impls_by_provider_id[obj.provider_id]
|
||||||
)
|
)
|
||||||
return await self.dist_registry.update(registered_obj)
|
return await self.dist_registry.update(registered_obj or obj)
|
||||||
|
|
||||||
async def register_object(
|
async def register_object(
|
||||||
self, obj: RoutableObjectWithProvider
|
self, obj: RoutableObjectWithProvider
|
||||||
|
@ -333,6 +333,37 @@ class MemoryBanksRoutingTable(CommonRoutingTableImpl, MemoryBanks):
|
||||||
await self.register_object(memory_bank)
|
await self.register_object(memory_bank)
|
||||||
return memory_bank
|
return memory_bank
|
||||||
|
|
||||||
|
async def update_memory_bank(
|
||||||
|
self,
|
||||||
|
memory_bank_id: str,
|
||||||
|
params: BankParams,
|
||||||
|
provider_id: Optional[str] = None,
|
||||||
|
provider_memory_bank_id: Optional[str] = None,
|
||||||
|
) -> MemoryBank:
|
||||||
|
existing_bank = await self.get_memory_bank(memory_bank_id)
|
||||||
|
if existing_bank is None:
|
||||||
|
raise ValueError(f"Memory bank {memory_bank_id} not found")
|
||||||
|
|
||||||
|
updated_bank = parse_obj_as(
|
||||||
|
MemoryBank,
|
||||||
|
{
|
||||||
|
"identifier": memory_bank_id,
|
||||||
|
"type": ResourceType.memory_bank.value,
|
||||||
|
"provider_id": provider_id or existing_bank.provider_id,
|
||||||
|
"provider_resource_id": provider_memory_bank_id
|
||||||
|
or existing_bank.provider_resource_id,
|
||||||
|
**params.model_dump(),
|
||||||
|
},
|
||||||
|
)
|
||||||
|
registered_bank = await self.update_object(updated_bank)
|
||||||
|
return registered_bank
|
||||||
|
|
||||||
|
async def delete_memory_bank(self, memory_bank_id: str) -> None:
|
||||||
|
existing_bank = await self.get_memory_bank(memory_bank_id)
|
||||||
|
if existing_bank is None:
|
||||||
|
raise ValueError(f"Memory bank {memory_bank_id} not found")
|
||||||
|
await self.delete_object(existing_bank)
|
||||||
|
|
||||||
|
|
||||||
class DatasetsRoutingTable(CommonRoutingTableImpl, Datasets):
|
class DatasetsRoutingTable(CommonRoutingTableImpl, Datasets):
|
||||||
async def list_datasets(self) -> List[Dataset]:
|
async def list_datasets(self) -> List[Dataset]:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue