mapper.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from .base import BaseMySQLClient
  2. class Dataset(BaseMySQLClient):
  3. async def update_dataset_status(self, dataset_id, ori_status, new_status):
  4. query = """
  5. UPDATE dataset SET status = %s WHERE id = %s AND status = %s;
  6. """
  7. return await self.pool.async_save(
  8. query=query, params=(new_status, dataset_id, ori_status)
  9. )
  10. async def select_dataset(self, status=1):
  11. query = """
  12. SELECT * FROM dataset WHERE status = %s;
  13. """
  14. return await self.pool.async_fetch(query=query, params=(status,))
  15. async def add_dataset(self, name):
  16. query = """
  17. INSERT INTO dataset (name) VALUES (%s);
  18. """
  19. return await self.pool.async_save(query=query, params=(name,))
  20. async def select_dataset_by_id(self, id_, status: int = 1):
  21. query = """
  22. SELECT * FROM dataset WHERE id = %s AND status = %s;
  23. """
  24. return await self.pool.async_fetch(query=query, params=(id_, status))
  25. async def select_dataset_by_name(self, name, status: int = 1):
  26. query = """
  27. SELECT * FROM dataset WHERE name = %s AND status = %s;
  28. """
  29. return await self.pool.async_fetch(query=query, params=(name, status))
  30. class ChatResult(BaseMySQLClient):
  31. async def insert_chat_result(
  32. self, query_text, dataset_ids, search_res, chat_res, score, has_answer, ai_answer, ai_source, ai_status
  33. ):
  34. query = """
  35. INSERT INTO chat_res
  36. (query, dataset_ids, search_res, chat_res, score, has_answer, ai_answer, ai_source, ai_status)
  37. VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s);
  38. """
  39. return await self.pool.async_save(
  40. query=query,
  41. params=(query_text, dataset_ids, search_res, chat_res, score, has_answer, ai_answer, ai_source, ai_status),
  42. )