You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

t_session.py 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. from ragflow import RAGFlow,Session
  2. import time
  3. HOST_ADDRESS = 'http://127.0.0.1:9380'
  4. def test_create_session_with_success(get_api_key_fixture):
  5. API_KEY = get_api_key_fixture
  6. rag = RAGFlow(API_KEY, HOST_ADDRESS)
  7. kb = rag.create_dataset(name="test_create_session")
  8. displayed_name = "ragflow.txt"
  9. with open("./ragflow.txt", "rb") as file:
  10. blob = file.read()
  11. document = {"displayed_name": displayed_name, "blob": blob}
  12. documents = []
  13. documents.append(document)
  14. doc_ids = []
  15. docs = kb.upload_documents(documents)
  16. for doc in docs:
  17. doc_ids.append(doc.id)
  18. kb.async_parse_documents(doc_ids)
  19. time.sleep(60)
  20. assistant = rag.create_chat(name="test_create_session", datasets=[kb])
  21. assistant.create_session()
  22. def test_create_conversation_with_success(get_api_key_fixture):
  23. API_KEY = get_api_key_fixture
  24. rag = RAGFlow(API_KEY, HOST_ADDRESS)
  25. kb = rag.create_dataset(name="test_create_conversation")
  26. displayed_name = "ragflow.txt"
  27. with open("./ragflow.txt","rb") as file:
  28. blob = file.read()
  29. document = {"displayed_name":displayed_name,"blob":blob}
  30. documents = []
  31. documents.append(document)
  32. doc_ids = []
  33. docs= kb.upload_documents(documents)
  34. for doc in docs:
  35. doc_ids.append(doc.id)
  36. kb.async_parse_documents(doc_ids)
  37. time.sleep(60)
  38. assistant = rag.create_chat(name="test_create_conversation", datasets=[kb])
  39. session = assistant.create_session()
  40. question = "What is AI"
  41. for ans in session.ask(question, stream=True):
  42. pass
  43. assert not ans.content.startswith("**ERROR**"), "Please check this error."
  44. def test_delete_sessions_with_success(get_api_key_fixture):
  45. API_KEY = get_api_key_fixture
  46. rag = RAGFlow(API_KEY, HOST_ADDRESS)
  47. kb = rag.create_dataset(name="test_delete_session")
  48. displayed_name = "ragflow.txt"
  49. with open("./ragflow.txt","rb") as file:
  50. blob = file.read()
  51. document = {"displayed_name":displayed_name,"blob":blob}
  52. documents = []
  53. documents.append(document)
  54. doc_ids = []
  55. docs= kb.upload_documents(documents)
  56. for doc in docs:
  57. doc_ids.append(doc.id)
  58. kb.async_parse_documents(doc_ids)
  59. time.sleep(60)
  60. assistant = rag.create_chat(name="test_delete_session", datasets=[kb])
  61. session = assistant.create_session()
  62. assistant.delete_sessions(ids=[session.id])
  63. def test_update_session_with_name(get_api_key_fixture):
  64. API_KEY = get_api_key_fixture
  65. rag = RAGFlow(API_KEY, HOST_ADDRESS)
  66. kb = rag.create_dataset(name="test_update_session")
  67. displayed_name = "ragflow.txt"
  68. with open("./ragflow.txt","rb") as file:
  69. blob = file.read()
  70. document = {"displayed_name":displayed_name,"blob":blob}
  71. documents = []
  72. documents.append(document)
  73. doc_ids = []
  74. docs= kb.upload_documents(documents)
  75. for doc in docs:
  76. doc_ids.append(doc.id)
  77. kb.async_parse_documents(doc_ids)
  78. time.sleep(60)
  79. assistant = rag.create_chat(name="test_update_session", datasets=[kb])
  80. session = assistant.create_session(name="old session")
  81. session.update({"name": "new session"})
  82. def test_list_sessions_with_success(get_api_key_fixture):
  83. API_KEY = get_api_key_fixture
  84. rag = RAGFlow(API_KEY, HOST_ADDRESS)
  85. kb = rag.create_dataset(name="test_list_session")
  86. displayed_name = "ragflow.txt"
  87. with open("./ragflow.txt","rb") as file:
  88. blob = file.read()
  89. document = {"displayed_name":displayed_name,"blob":blob}
  90. documents = []
  91. documents.append(document)
  92. doc_ids = []
  93. docs= kb.upload_documents(documents)
  94. for doc in docs:
  95. doc_ids.append(doc.id)
  96. kb.async_parse_documents(doc_ids)
  97. time.sleep(60)
  98. assistant = rag.create_chat(name="test_list_session", datasets=[kb])
  99. assistant.create_session("test_1")
  100. assistant.create_session("test_2")
  101. assistant.list_sessions()