pycoze 0.1.202__tar.gz → 0.1.203__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. {pycoze-0.1.202 → pycoze-0.1.203}/PKG-INFO +1 -1
  2. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/bot/bot.py +17 -29
  3. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze.egg-info/PKG-INFO +1 -1
  4. {pycoze-0.1.202 → pycoze-0.1.203}/setup.py +1 -1
  5. {pycoze-0.1.202 → pycoze-0.1.203}/LICENSE +0 -0
  6. {pycoze-0.1.202 → pycoze-0.1.203}/README.md +0 -0
  7. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/__init__.py +0 -0
  8. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/ai/__init__.py +0 -0
  9. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/ai/vram_reserve.py +0 -0
  10. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/automation/__init__.py +0 -0
  11. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/automation/browser/__init__.py +0 -0
  12. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/automation/browser/edge_driver_manager.py +0 -0
  13. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/bot/__init__.py +0 -0
  14. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/bot/agent/__init__.py +0 -0
  15. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/bot/agent/agent.py +0 -0
  16. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/bot/agent/agent_types/__init__.py +0 -0
  17. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/bot/agent/agent_types/const.py +0 -0
  18. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/bot/agent/agent_types/openai_func_call_agent.py +0 -0
  19. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/bot/agent/assistant.py +0 -0
  20. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/bot/agent/chat.py +0 -0
  21. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/bot/agent_chat.py +0 -0
  22. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/reference/__init__.py +0 -0
  23. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/reference/bot.py +0 -0
  24. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/reference/lib.py +0 -0
  25. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/reference/tool.py +0 -0
  26. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/reference/workflow.py +0 -0
  27. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/ui/__init__.py +0 -0
  28. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/ui/base.py +0 -0
  29. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/ui/color.py +0 -0
  30. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/ui/typ.py +0 -0
  31. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/ui/ui_def.py +0 -0
  32. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/utils/__init__.py +0 -0
  33. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/utils/arg.py +0 -0
  34. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/utils/env.py +0 -0
  35. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze/utils/text_or_file.py +0 -0
  36. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze.egg-info/SOURCES.txt +0 -0
  37. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze.egg-info/dependency_links.txt +0 -0
  38. {pycoze-0.1.202 → pycoze-0.1.203}/pycoze.egg-info/top_level.txt +0 -0
  39. {pycoze-0.1.202 → pycoze-0.1.203}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycoze
3
- Version: 0.1.202
3
+ Version: 0.1.203
4
4
  Summary: Package for pycoze only!
5
5
  Author: Yuan Jie Xiong
6
6
  Author-email: aiqqqqqqq@qq.com
@@ -6,8 +6,6 @@ import threading
6
6
  import queue
7
7
  import time
8
8
  import asyncio
9
- import multiprocessing
10
- from multiprocessing import Queue, Event
11
9
 
12
10
 
13
11
  class PeekableQueue(queue.Queue):
@@ -16,16 +14,6 @@ class PeekableQueue(queue.Queue):
16
14
  return self._get()
17
15
  except queue.Empty:
18
16
  return None
19
-
20
- async def handle_input_queue(input_queue, should_exit, history):
21
- while not should_exit.is_set():
22
- if not input_queue.empty():
23
- next_input_text = input_queue.get_nowait()
24
- if next_input_text == INTERRUPT_MESSAGE:
25
- history.append(AIMessage(content=CHAT_DATA["info"]))
26
- should_exit.set() # 设置退出标志
27
- break
28
- await asyncio.sleep(0.1) # 非阻塞地等待一段时间
29
17
 
30
18
  def chat(bot_setting_file: str):
31
19
  history = []
@@ -38,6 +26,7 @@ def chat(bot_setting_file: str):
38
26
  input_queue.put(input_text)
39
27
  else:
40
28
  raise ValueError("Invalid message")
29
+
41
30
 
42
31
  input_thread_instance = threading.Thread(target=input_thread, args=(input_queue,))
43
32
  input_thread_instance.start()
@@ -53,24 +42,22 @@ def chat(bot_setting_file: str):
53
42
  history.append(HumanMessage(message["content"]))
54
43
  clear_chat_data()
55
44
 
56
- # 创建一个异步事件循环
57
- loop = asyncio.new_event_loop()
58
- asyncio.set_event_loop(loop)
59
-
60
- # 创建一个 Event 对象用于中断
61
- should_exit = asyncio.Event()
62
-
63
- # 并发运行 agent_chat 和 handle_input_queue
64
- agent_chat_task = loop.create_task(agent_chat(bot_setting_file, history, should_exit))
65
- input_handler_task = loop.create_task(handle_input_queue(input_queue, should_exit, history))
66
-
67
- # 运行所有任务
68
- loop.run_until_complete(asyncio.gather(agent_chat_task, input_handler_task))
69
-
70
- # 如果没有中断,则添加 AI 的响应到历史记录
71
- if not should_exit.is_set():
45
+ # 为每个线程创建一个独立的退出标志
46
+ should_exit = threading.Event()
47
+ agent_chat_thread = threading.Thread(target=asyncio.run, args=(agent_chat(bot_setting_file, history, should_exit),))
48
+ agent_chat_thread.start()
49
+
50
+ next_input_text = ""
51
+ while agent_chat_thread.is_alive():
52
+ if not input_queue.empty():
53
+ next_input_text = input_queue.peek()
54
+ if next_input_text == INTERRUPT_MESSAGE:
55
+ history.append(AIMessage(content=CHAT_DATA["info"]))
56
+ should_exit.set() # 设置退出标志
57
+ break
58
+ time.sleep(0.1) # 每隔 0.1 秒检查一次
59
+ if next_input_text != INTERRUPT_MESSAGE:
72
60
  history.append(AIMessage(content=CHAT_DATA["output"]))
73
-
74
61
  except json.JSONDecodeError:
75
62
  print("Invalid JSON format in input message.")
76
63
  except KeyError:
@@ -81,6 +68,7 @@ def chat(bot_setting_file: str):
81
68
  input_thread_instance.join()
82
69
 
83
70
 
71
+
84
72
  def get_chat_response(bot_setting_file: str, input_text: str):
85
73
  history = [HumanMessage(input_text)]
86
74
  clear_chat_data()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycoze
3
- Version: 0.1.202
3
+ Version: 0.1.203
4
4
  Summary: Package for pycoze only!
5
5
  Author: Yuan Jie Xiong
6
6
  Author-email: aiqqqqqqq@qq.com
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="pycoze",
5
- version="0.1.202",
5
+ version="0.1.203",
6
6
  packages=find_packages(),
7
7
  install_requires=[],
8
8
  author="Yuan Jie Xiong",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes