Add KnowledgeFilter struct and update database configuration in README
- Changed the database configuration example from 'app.yao' to 'neo.yml' for clarity. - Introduced the KnowledgeFilter struct to facilitate filtering of knowledge collections by various criteria such as user ID, collection name, public status, and pagination. - Added usage examples for retrieving system and readonly knowledge collections with specific fields.
This commit is contained in:
parent
e1f2899723
commit
68e4e64e35
1 changed files with 35 additions and 2 deletions
|
|
@ -77,7 +77,7 @@ type Setting struct {
|
||||||
#### Database Configuration
|
#### Database Configuration
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# app.yao
|
# neo.yml
|
||||||
neo:
|
neo:
|
||||||
store:
|
store:
|
||||||
connector: "mysql" # or "postgresql", "sqlite", "default"
|
connector: "mysql" # or "postgresql", "sqlite", "default"
|
||||||
|
|
@ -381,6 +381,22 @@ type AttachmentFilter struct {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### KnowledgeFilter
|
||||||
|
|
||||||
|
```go
|
||||||
|
type KnowledgeFilter struct {
|
||||||
|
UID string `json:"uid,omitempty"` // Filter by user ID
|
||||||
|
Name string `json:"name,omitempty"` // Filter by collection name
|
||||||
|
Keywords string `json:"keywords,omitempty"` // Search in name and description
|
||||||
|
Public *bool `json:"public,omitempty"` // Filter by public status
|
||||||
|
Readonly *bool `json:"readonly,omitempty"` // Filter by readonly status
|
||||||
|
System *bool `json:"system,omitempty"` // Filter by system status
|
||||||
|
Page int `json:"page,omitempty"` // Page number
|
||||||
|
PageSize int `json:"pagesize,omitempty"` // Items per page
|
||||||
|
Select []string `json:"select,omitempty"` // Fields to return
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## Usage Examples
|
## Usage Examples
|
||||||
|
|
||||||
### 1. Chat Management
|
### 1. Chat Management
|
||||||
|
|
@ -550,6 +566,23 @@ filter := KnowledgeFilter{
|
||||||
PageSize: 10,
|
PageSize: 10,
|
||||||
}
|
}
|
||||||
collections, err := store.GetKnowledges(filter)
|
collections, err := store.GetKnowledges(filter)
|
||||||
|
|
||||||
|
// Get system knowledge collections
|
||||||
|
systemFilter := KnowledgeFilter{
|
||||||
|
System: &[]bool{true}[0],
|
||||||
|
Page: 1,
|
||||||
|
PageSize: 20,
|
||||||
|
}
|
||||||
|
systemCollections, err := store.GetKnowledges(systemFilter)
|
||||||
|
|
||||||
|
// Get readonly knowledge collections with specific fields
|
||||||
|
readonlyFilter := KnowledgeFilter{
|
||||||
|
Readonly: &[]bool{true}[0],
|
||||||
|
Select: []string{"collection_id", "name", "description", "sort"},
|
||||||
|
Page: 1,
|
||||||
|
PageSize: 15,
|
||||||
|
}
|
||||||
|
readonlyCollections, err := store.GetKnowledges(readonlyFilter)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 5. Internationalization Support
|
### 5. Internationalization Support
|
||||||
|
|
@ -721,4 +754,4 @@ Key metrics to monitor:
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
This project is part of the YAO framework and follows the same license terms.
|
This project is part of the Yao App Engine and follows the same license terms.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue