pycoze 0.1.55__tar.gz → 0.1.57__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. {pycoze-0.1.55 → pycoze-0.1.57}/PKG-INFO +1 -1
  2. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/bot/agent/agent.py +11 -4
  3. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/bot/agent/agent_types/openai_func_call_agent.py +52 -57
  4. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze.egg-info/PKG-INFO +1 -1
  5. {pycoze-0.1.55 → pycoze-0.1.57}/setup.py +1 -1
  6. {pycoze-0.1.55 → pycoze-0.1.57}/LICENSE +0 -0
  7. {pycoze-0.1.55 → pycoze-0.1.57}/README.md +0 -0
  8. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/__init__.py +0 -0
  9. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/access/__init__.py +0 -0
  10. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/access/tool_for_bot.py +0 -0
  11. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/bot/__init__.py +0 -0
  12. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/bot/agent/__init__.py +0 -0
  13. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/bot/agent/agent_types/__init__.py +0 -0
  14. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/bot/agent/agent_types/react_agent.py +0 -0
  15. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/bot/agent/agent_types/react_prompt.py +0 -0
  16. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/bot/agent/assistant.py +0 -0
  17. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/bot/agent/chat.py +0 -0
  18. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/bot/bot.py +0 -0
  19. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/gpu/__init__.py +0 -0
  20. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/gpu/gpu_reserve.py +0 -0
  21. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/module.py +0 -0
  22. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/ui/__init__.py +0 -0
  23. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/ui/base.py +0 -0
  24. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/ui/color.py +0 -0
  25. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/ui/typ.py +0 -0
  26. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/ui/ui_def.py +0 -0
  27. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/utils/__init__.py +0 -0
  28. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/utils/arg.py +0 -0
  29. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze/utils/text_or_file.py +0 -0
  30. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze.egg-info/SOURCES.txt +0 -0
  31. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze.egg-info/dependency_links.txt +0 -0
  32. {pycoze-0.1.55 → pycoze-0.1.57}/pycoze.egg-info/top_level.txt +0 -0
  33. {pycoze-0.1.55 → pycoze-0.1.57}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycoze
3
- Version: 0.1.55
3
+ Version: 0.1.57
4
4
  Summary: Package for pycoze only!
5
5
  Author: Yuan Jie Xiong
6
6
  Author-email: aiqqqqqqq@qq.com
@@ -3,7 +3,12 @@ import json
3
3
  from langchain_openai import ChatOpenAI
4
4
  from .chat import info
5
5
  from .assistant import Runnable
6
- from langchain_core.messages import HumanMessage, AIMessage, AIMessageChunk
6
+ from langchain_core.messages import (
7
+ HumanMessage,
8
+ AIMessage,
9
+ AIMessageChunk,
10
+ SystemMessage,
11
+ )
7
12
  from langchain_core.agents import AgentFinish
8
13
 
9
14
 
@@ -22,15 +27,17 @@ async def run_agent(agent, inputs: list):
22
27
  and isinstance(event["data"]["input"], list)
23
28
  ):
24
29
  input_list = event["data"]["input"]
25
- print("input_list", input_list)
26
30
  for msg in input_list:
31
+ if isinstance(msg, HumanMessage) or isinstance(
32
+ msg, SystemMessage
33
+ ):
34
+ content_list = []
27
35
  if isinstance(msg, AIMessage) and not isinstance(
28
36
  msg, AIMessageChunk
29
37
  ):
30
38
  content = msg.content
31
39
  if content:
32
- # content_list.append(content)
33
- content_list = [content]
40
+ content_list.append(content)
34
41
  elif kind == "on_chat_model_stream":
35
42
  content = event["data"]["chunk"].content
36
43
  if content:
@@ -60,65 +60,60 @@ def create_openai_func_call_agent_executor(
60
60
  last_message = messages[-1]
61
61
  if last_message.content.strip().endswith("```"):
62
62
  last_message.content = last_message.content + "\n\n" # 避免影响阅读
63
- # if not last_message.tool_calls:
64
- # if (
65
- # "接下来我将" in last_message.content
66
- # or "接下来,我将" in last_message.content
67
- # ):
68
- # print("deepseek的bug: “接下来我将” 模式,使用a_delay_function骗过llm")
69
- # last_message.additional_kwargs["tool_calls"] = (
70
- # last_message.tool_calls
71
- # ) = [
72
- # {
73
- # "function": {"name": "a_delay_function", "arguments": "{}"},
74
- # "id": random.randint(0, 1000000),
75
- # }
76
- # ]
77
- # return "continue"
78
- if (
79
- '"name"' in last_message.content
80
- and '"parameters":' in last_message.content
81
- ):
82
- print("deepseek的bug: name paremeters 模式")
83
- all_json = get_all_markdown_json(last_message.content)
84
- tool_calls = []
85
- for tool_call in all_json:
86
- if "name" not in tool_call or "parameters" not in tool_call:
87
- return "end"
88
- tool_call["arguments"] = json.dumps(tool_call["parameters"])
89
- tool_call.pop("parameters")
90
- tool_calls.append(
91
- {
92
- "function": tool_call,
93
- "id": random.randint(0, 1000000),
94
- }
95
- )
96
- last_message.tool_calls = tool_calls
97
- last_message.additional_kwargs["tool_calls"] = tool_calls
98
- return "continue"
99
- if "<|tool▁sep|>" in last_message.content:
100
- print("deepseek的bug: <|tool▁sep|> 模式")
101
- name = (
102
- last_message.content.split("<|tool▁sep|>")[1]
103
- .split("```")[0]
104
- .strip()
63
+ # if not last_message.tool_calls:
64
+ # if (
65
+ # "接下来我将" in last_message.content
66
+ # or "接下来,我将" in last_message.content
67
+ # ):
68
+ # print("deepseek的bug: “接下来我将” 模式,使用a_delay_function骗过llm")
69
+ # last_message.additional_kwargs["tool_calls"] = (
70
+ # last_message.tool_calls
71
+ # ) = [
72
+ # {
73
+ # "function": {"name": "a_delay_function", "arguments": "{}"},
74
+ # "id": random.randint(0, 1000000),
75
+ # }
76
+ # ]
77
+ # return "continue"
78
+ if '"name"' in last_message.content and '"parameters":' in last_message.content:
79
+ print("deepseek的bug: name paremeters 模式")
80
+ all_json = get_all_markdown_json(last_message.content)
81
+ tool_calls = []
82
+ for tool_call in all_json:
83
+ if "name" not in tool_call or "parameters" not in tool_call:
84
+ return "end"
85
+ tool_call["arguments"] = json.dumps(tool_call["parameters"])
86
+ tool_call.pop("parameters")
87
+ tool_calls.append(
88
+ {
89
+ "function": tool_call,
90
+ "id": random.randint(0, 1000000),
91
+ }
92
+ )
93
+ last_message.tool_calls = tool_calls
94
+ last_message.additional_kwargs["tool_calls"] = tool_calls
95
+ return "continue"
96
+ if "<|tool▁sep|>" in last_message.content:
97
+ print("deepseek的bug: <|tool▁sep|> 模式")
98
+ name = (
99
+ last_message.content.split("<|tool▁sep|>")[1].split("```")[0].strip()
100
+ )
101
+ all_json = get_all_markdown_json(last_message.content)
102
+ tool_calls = []
103
+ for argument in all_json:
104
+ tool_calls.append(
105
+ {
106
+ "function": {
107
+ "name": name,
108
+ "arguments": json.dumps(argument),
109
+ },
110
+ "id": random.randint(0, 1000000),
111
+ }
105
112
  )
106
- all_json = get_all_markdown_json(last_message.content)
107
- tool_calls = []
108
- for argument in all_json:
109
- tool_calls.append(
110
- {
111
- "function": {
112
- "name": name,
113
- "arguments": json.dumps(argument),
114
- },
115
- "id": random.randint(0, 1000000),
116
- }
117
- )
118
113
 
119
- last_message.additional_kwargs["tool_calls"] = tool_calls
120
- last_message.tool_calls = tool_calls
121
- return "continue"
114
+ last_message.additional_kwargs["tool_calls"] = tool_calls
115
+ last_message.tool_calls = tool_calls
116
+ return "continue"
122
117
 
123
118
  if not last_message.tool_calls:
124
119
  return "end"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycoze
3
- Version: 0.1.55
3
+ Version: 0.1.57
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.55",
5
+ version="0.1.57",
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
File without changes
File without changes