e_chat_dataset.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package entity
  2. import (
  3. "context"
  4. "gorm.io/gorm"
  5. "yx-dataset-server/app/schema"
  6. )
  7. // GetChatDatasetDB 获取ChatDataset存储
  8. func GetChatDatasetDB(ctx context.Context, defDB *gorm.DB) *gorm.DB {
  9. return getDBWithModel(ctx, defDB, ChatDataset{})
  10. }
  11. // SchemaChatDataset ChatDataset对象
  12. type SchemaChatDataset schema.ChatDataset
  13. // ToChatDataset 转换为ChatDataset实体
  14. func (a SchemaChatDataset) ToChatDataset() *ChatDataset {
  15. item := &ChatDataset{
  16. RecordID: a.RecordID,
  17. ChatAssistantId: a.ChatAssistantId,
  18. DatasetId: a.DatasetId,
  19. RagDataId: a.RagDataId,
  20. }
  21. return item
  22. }
  23. // ToSchemaChatDataset 转换为ChatDataset对象
  24. func (a ChatDataset) ToSchemaChatDataset() *schema.ChatDataset {
  25. item := &schema.ChatDataset{
  26. RecordID: a.RecordID,
  27. ChatAssistantId: a.ChatAssistantId,
  28. DatasetId: a.DatasetId,
  29. RagDataId: a.RagDataId,
  30. }
  31. return item
  32. }
  33. // ChatDataset ChatDataset实体
  34. type ChatDataset struct {
  35. gorm.Model
  36. RecordID string `gorm:"column:record_id;size:32;index;"`
  37. ChatAssistantId string `gorm:"column:chat_assistant_id;size:32;index;"`
  38. DatasetId string `gorm:"column:dataset_id;size:32;index;"`
  39. RagDataId string `gorm:"column:rag_data_id;size:32;"`
  40. }
  41. // ChatDatasets ChatDataset列表
  42. type ChatDatasets []*ChatDataset
  43. // ToSchemaChatDatasets 转换为ChatDataset对象列表
  44. func (a ChatDatasets) ToSchemaChatDatasets() []*schema.ChatDataset {
  45. list := make([]*schema.ChatDataset, len(a))
  46. for i, item := range a {
  47. list[i] = item.ToSchemaChatDataset()
  48. }
  49. return list
  50. }