hjxdl 0.2.40__py3-none-any.whl → 0.2.42__py3-none-any.whl
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.
- hdl/_version.py +2 -2
- hdl/utils/database_tools/web.py +53 -2
- hdl/utils/llm/chat.py +28 -0
- {hjxdl-0.2.40.dist-info → hjxdl-0.2.42.dist-info}/METADATA +1 -1
- {hjxdl-0.2.40.dist-info → hjxdl-0.2.42.dist-info}/RECORD +7 -7
- {hjxdl-0.2.40.dist-info → hjxdl-0.2.42.dist-info}/WHEEL +0 -0
- {hjxdl-0.2.40.dist-info → hjxdl-0.2.42.dist-info}/top_level.txt +0 -0
hdl/_version.py
CHANGED
hdl/utils/database_tools/web.py
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
|
1
|
+
import os
|
2
|
+
|
2
3
|
import requests
|
3
4
|
from bs4 import BeautifulSoup
|
4
5
|
|
@@ -15,6 +16,7 @@ def web_search_text(
|
|
15
16
|
Returns:
|
16
17
|
str: Text retrieved from the web search results.
|
17
18
|
"""
|
19
|
+
from duckduckgo_search import DDGS
|
18
20
|
if max_results < 3:
|
19
21
|
max_results = 3
|
20
22
|
elif max_results > 5:
|
@@ -93,4 +95,53 @@ def fetch_baidu_results(query, max_n_links=3):
|
|
93
95
|
print(f"Failed to fetch {link}: {e}")
|
94
96
|
|
95
97
|
# 返回拼接的文本内容
|
96
|
-
return '\n'.join(text_content)
|
98
|
+
return '\n'.join(text_content)
|
99
|
+
|
100
|
+
|
101
|
+
def wolfram_alpha_calculate(query):
|
102
|
+
"""
|
103
|
+
This function sends a query to Wolfram Alpha and returns the calculation result.
|
104
|
+
|
105
|
+
Parameters:
|
106
|
+
query (str): The query string to send to Wolfram Alpha.
|
107
|
+
|
108
|
+
Returns:
|
109
|
+
str: The calculation result from Wolfram Alpha, or an error message if the request fails.
|
110
|
+
"""
|
111
|
+
# Get the Wolfram Alpha App ID from environment variables
|
112
|
+
app_id = os.getenv('WOLFRAM_APP_ID', None)
|
113
|
+
if not app_id:
|
114
|
+
return "Error: Wolfram Alpha App ID is not set in environment variables."
|
115
|
+
|
116
|
+
# Define the API endpoint for Wolfram Alpha
|
117
|
+
url = 'https://api.wolframalpha.com/v2/query'
|
118
|
+
# Prepare the request parameters
|
119
|
+
params = {
|
120
|
+
'appid': app_id,
|
121
|
+
'input': query,
|
122
|
+
'output': 'json',
|
123
|
+
}
|
124
|
+
|
125
|
+
try:
|
126
|
+
# Send a GET request to Wolfram Alpha
|
127
|
+
response = requests.get(url, params=params, timeout=20)
|
128
|
+
# Parse the returned data as JSON
|
129
|
+
data = response.json()
|
130
|
+
|
131
|
+
# Check if the query was successful
|
132
|
+
if data['queryresult']['success']:
|
133
|
+
result = ''
|
134
|
+
# Iterate through the returned data to extract and accumulate the plaintext results
|
135
|
+
for pod in data['queryresult']['pods']:
|
136
|
+
for subpod in pod.get('subpods', []):
|
137
|
+
plaintext = subpod.get('plaintext')
|
138
|
+
if plaintext:
|
139
|
+
result += f"{plaintext}\n"
|
140
|
+
# Return the accumulated result, or a message if no plaintext result is available
|
141
|
+
return result.strip() if result else "No plaintext result available."
|
142
|
+
else:
|
143
|
+
return "No results found for the query."
|
144
|
+
except requests.Timeout:
|
145
|
+
return "Error: The request to Wolfram Alpha timed out."
|
146
|
+
except Exception as e:
|
147
|
+
return f"An error occurred: {str(e)}"
|
hdl/utils/llm/chat.py
CHANGED
@@ -140,10 +140,33 @@ class OpenAI_M():
|
|
140
140
|
if tool_desc is not None:
|
141
141
|
self.tool_desc = self.tool_desc | tool_desc
|
142
142
|
|
143
|
+
def get_thought_chain(
|
144
|
+
self,
|
145
|
+
prompt,
|
146
|
+
**kwargs
|
147
|
+
):
|
148
|
+
steps = []
|
149
|
+
total_thinking_time = 0
|
150
|
+
is_final: bool = False
|
151
|
+
while True:
|
152
|
+
yield {
|
153
|
+
"type": "step",
|
154
|
+
"data": steps,
|
155
|
+
"extra": None
|
156
|
+
}
|
157
|
+
if is_final:
|
158
|
+
break
|
159
|
+
yield {
|
160
|
+
"type": "final",
|
161
|
+
"data": steps,
|
162
|
+
"total_time": total_thinking_time
|
163
|
+
}
|
164
|
+
|
143
165
|
def get_resp(
|
144
166
|
self,
|
145
167
|
prompt : str,
|
146
168
|
sys_info: str = None,
|
169
|
+
assis_info: str = None,
|
147
170
|
images: list = None,
|
148
171
|
image_keys: tuple = ("image_url", "url"),
|
149
172
|
stop: list[str] | None = ["USER:", "ASSISTANT:"],
|
@@ -198,6 +221,11 @@ class OpenAI_M():
|
|
198
221
|
"role": "user",
|
199
222
|
"content": content
|
200
223
|
})
|
224
|
+
if assis_info:
|
225
|
+
messages.append({
|
226
|
+
"role": "assistant",
|
227
|
+
"content": assis_info
|
228
|
+
})
|
201
229
|
|
202
230
|
response = self.client.chat.completions.create(
|
203
231
|
messages=messages,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
hdl/__init__.py,sha256=GffnD0jLJdhkd-vo989v40N90sQbofkayRBwxc6TVhQ,72
|
2
|
-
hdl/_version.py,sha256=
|
2
|
+
hdl/_version.py,sha256=ErCkM0K6ix4_v_PL5flvrXq2XQXCxsWfoy3q3rTAsOY,413
|
3
3
|
hdl/args/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
4
|
hdl/args/loss_args.py,sha256=s7YzSdd7IjD24rZvvOrxLLFqMZQb9YylxKeyelSdrTk,70
|
5
5
|
hdl/controllers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -120,7 +120,7 @@ hdl/utils/chemical_tools/sdf.py,sha256=71PEqU0H885L6IeGHEa6n7ZLZThvMsZOVLuFG2wno
|
|
120
120
|
hdl/utils/database_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
121
121
|
hdl/utils/database_tools/connect.py,sha256=xCacGucKxlQUXs6AsNddpeECvdqT1180V1ZWqHrUdNA,875
|
122
122
|
hdl/utils/database_tools/datetime.py,sha256=xqE2xNiOpADzX-R8_bM0bioJRF3Ay9Jp1CAG6dy6uVI,1202
|
123
|
-
hdl/utils/database_tools/web.py,sha256=
|
123
|
+
hdl/utils/database_tools/web.py,sha256=PJ7R1chUD-vz-Up0orfFqdrZq3CFOlwiO9gIjFSb-R8,5224
|
124
124
|
hdl/utils/desc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
125
125
|
hdl/utils/desc/func_desc.py,sha256=tDGEuUuqg6LnBVpmWQIxYZPvrcb0N70A9i20PbujCks,2660
|
126
126
|
hdl/utils/desc/template.py,sha256=a0UAkkKctt_EHY9UECsIIAwVkGPcM1Hr01HSkRMeIuw,1272
|
@@ -128,7 +128,7 @@ hdl/utils/general/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
|
|
128
128
|
hdl/utils/general/glob.py,sha256=8-RCnt6L297wMIfn34ZAMCsGCZUjHG3MGglGZI1cX0g,491
|
129
129
|
hdl/utils/general/runners.py,sha256=w9kgR9UgGug0s6NR27hpfPQbbFvRtmtqz5IfwyMTC1E,2351
|
130
130
|
hdl/utils/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
131
|
-
hdl/utils/llm/chat.py,sha256=
|
131
|
+
hdl/utils/llm/chat.py,sha256=tSIg5FcMutcsmEnjOJI-ZP0OkQeB8csuUu2cwsapsAg,15658
|
132
132
|
hdl/utils/llm/chatgr.py,sha256=lKaDeimYz-Bw32QXYtde51xjf7gbfS2CEYt5R0ODunM,4075
|
133
133
|
hdl/utils/llm/embs.py,sha256=Tf0FOYrOFZp7qQpEPiSCXzlgyHH0X9HVTUtsup74a9E,7174
|
134
134
|
hdl/utils/llm/extract.py,sha256=2sK_WJzmYIc8iuWaM9DA6Nw3_6q1O4lJ5pKpcZo-bBA,6512
|
@@ -139,7 +139,7 @@ hdl/utils/schedulers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
139
139
|
hdl/utils/schedulers/norm_lr.py,sha256=bDwCmdEK-WkgxQMFBiMuchv8Mm7C0-GZJ6usm-PQk14,4461
|
140
140
|
hdl/utils/weather/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
141
141
|
hdl/utils/weather/weather.py,sha256=k11o6wM15kF8b9NMlEfrg68ak-SfSYLN3nOOflFUv-I,4381
|
142
|
-
hjxdl-0.2.
|
143
|
-
hjxdl-0.2.
|
144
|
-
hjxdl-0.2.
|
145
|
-
hjxdl-0.2.
|
142
|
+
hjxdl-0.2.42.dist-info/METADATA,sha256=6uQ_KhJW8cYaF0ufn0n4RpyZeYby0vKwTzvQ15JCIas,836
|
143
|
+
hjxdl-0.2.42.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
144
|
+
hjxdl-0.2.42.dist-info/top_level.txt,sha256=-kxwTM5JPhylp06z3zAVO3w6_h7wtBfBo2zgM6YZoTk,4
|
145
|
+
hjxdl-0.2.42.dist-info/RECORD,,
|
File without changes
|
File without changes
|