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
         |