mapper.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. class ChatResult(BaseMySQLClient):
  26. async def insert_chat_result(
  27. self, query_text, dataset_ids, search_res, chat_res, score, has_answer
  28. ):
  29. query = """
  30. INSERT INTO chat_res
  31. (query, dataset_ids, search_res, chat_res, score, has_answer)
  32. VALUES (%s, %s, %s, %s, %s, %s);
  33. """
  34. return await self.pool.async_save(
  35. query=query,
  36. params=(query_text, dataset_ids, search_res, chat_res, score, has_answer),
  37. )