Golfn commited on
Commit
febf2df
·
1 Parent(s): 4f426e8

Update weather search and renamed Alfred

Browse files
Files changed (4) hide show
  1. Alfred_Agent.py +89 -0
  2. Webserch_tool.py +54 -0
  3. pdm.lock +1015 -6
  4. pyproject.toml +1 -1
Alfred_Agent.py ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import datasets
2
+ from langchain.docstore.document import Document
3
+
4
+ # Load the dataset
5
+ guest_dataset = datasets.load_dataset("agents-course/unit3-invitees", split="train")
6
+
7
+ # Convert dataset entries into Document objects
8
+ docs = [
9
+ Document(
10
+ page_content="\n".join([
11
+ f"Name: {guest['name']}",
12
+ f"Relation: {guest['relation']}",
13
+ f"Description: {guest['description']}",
14
+ f"Email: {guest['email']}"
15
+ ]),
16
+ metadata={"name": guest["name"]}
17
+ )
18
+ for guest in guest_dataset
19
+ ]
20
+
21
+ from langchain_community.retrievers import BM25Retriever
22
+ from langchain.tools import Tool
23
+
24
+ bm25_retriever = BM25Retriever.from_documents(docs)
25
+
26
+ def extract_text(query: str) -> str:
27
+ """Retrieves detailed information about gala guests based on their name or relation."""
28
+ results = bm25_retriever.invoke(query)
29
+ if results:
30
+ return "\n\n".join([doc.page_content for doc in results[:3]])
31
+ else:
32
+ return "No matching guest information found."
33
+
34
+ guest_info_tool = Tool(
35
+ name="guest_info_retriever",
36
+ func=extract_text,
37
+ description="Retrieves detailed information about gala guests based on their name or relation."
38
+ )
39
+
40
+ from typing import TypedDict, Annotated
41
+ from langgraph.graph.message import add_messages
42
+ from langchain_core.messages import AnyMessage, HumanMessage, AIMessage
43
+ from langgraph.prebuilt import ToolNode
44
+ from langgraph.graph import START, StateGraph
45
+ from langgraph.prebuilt import tools_condition
46
+ from langchain_openai import ChatOpenAI
47
+ from Webserch_tool import search_tool,weather_info_tool
48
+ import os
49
+ from dotenv import load_dotenv
50
+ load_dotenv()
51
+ # Generate the chat interface, including the tools
52
+ llm = ChatOpenAI(temperature=0
53
+ , model="gpt-4o-mini", openai_api_key=os.getenv("OPENAI_KEY"))
54
+
55
+ tools = [guest_info_tool,search_tool,weather_info_tool]
56
+ chat_with_tools = llm.bind_tools(tools)
57
+
58
+ # Generate the AgentState and Agent graph
59
+ class AgentState(TypedDict):
60
+ messages: Annotated[list[AnyMessage], add_messages]
61
+
62
+ def assistant(state: AgentState):
63
+ return {
64
+ "messages": [chat_with_tools.invoke(state["messages"])],
65
+ }
66
+
67
+ ## The graph
68
+ builder = StateGraph(AgentState)
69
+
70
+ # Define nodes: these do the work
71
+ builder.add_node("assistant", assistant)
72
+ builder.add_node("tools", ToolNode(tools))
73
+
74
+ # Define edges: these determine how the control flow moves
75
+ builder.add_edge(START, "assistant")
76
+ builder.add_conditional_edges(
77
+ "assistant",
78
+ # If the latest message requires a tool, route to tools
79
+ # Otherwise, provide a direct response
80
+ tools_condition,
81
+ )
82
+ builder.add_edge("tools", "assistant")
83
+ alfred = builder.compile()
84
+
85
+ messages = [HumanMessage(content="Tell me about our guest named 'Dr. Nikola Tesla' and What's the weather in Bangkok.")]
86
+ response = alfred.invoke({"messages": messages})
87
+
88
+ print("🎩 Alfred's Response:")
89
+ print(response['messages'][-1].content)
Webserch_tool.py ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from langchain_community.tools import DuckDuckGoSearchRun
2
+
3
+ search_tool = DuckDuckGoSearchRun()
4
+ results = search_tool.invoke("Who's the current President of France?")
5
+ print(results)
6
+
7
+ from langchain.tools import Tool
8
+ import random
9
+ import requests
10
+ import os
11
+ from dotenv import load_dotenv
12
+ load_dotenv()
13
+ weather_API_key = os.getenv("OPENWEATHER_KEY")
14
+ print(f'weather_API_key: {weather_API_key}')
15
+ def get_weather_info(location: str) -> str:
16
+ """Fetches weather information for a given location."""
17
+ try:
18
+ base_url = "https://api.openweathermap.org/data/2.5/weather"
19
+ params = {
20
+ "q": location,
21
+ "appid": weather_API_key,
22
+ "units": "metric"
23
+ }
24
+ response = requests.get(base_url, params=params)
25
+ if response.status_code == 200:
26
+ data = response.json()
27
+ weather = data["weather"][0]["description"]
28
+ temp = data["main"]["temp"]
29
+ feels_like = data["main"]["feels_like"]
30
+ humidity = data["main"]["humidity"]
31
+ print(f"\nWeather in {location.title()}:")
32
+ print(f"- Condition: {weather}")
33
+ print(f"- Temperature: {temp}°C (feels like {feels_like}°C)")
34
+ print(f"- Humidity: {humidity}%")
35
+ data= {"condition": weather, "temp_c": temp,"humidity": humidity}
36
+ except requests.exceptions.RequestException as e:
37
+ print(f"Error: {e}")
38
+ # If the API call fails, we can use dummy data
39
+ # Dummy weather data
40
+ weather_conditions = [
41
+ {"condition": "Rainy", "temp_c": 15,"humidity": 30},
42
+ {"condition": "Clear", "temp_c": 25,"humidity": 50},
43
+ {"condition": "Windy", "temp_c": 20,"humidity": 80}
44
+ ]
45
+ # Randomly select a weather condition
46
+ data = random.choice(weather_conditions)
47
+ return f"Weather in {location}: {data['condition']}, {data['temp_c']}°C"
48
+
49
+ # Initialize the tool
50
+ weather_info_tool = Tool(
51
+ name="get_weather_info",
52
+ func=get_weather_info,
53
+ description="Fetches dummy weather information for a given location."
54
+ )
pdm.lock CHANGED
@@ -5,11 +5,72 @@
5
  groups = ["default"]
6
  strategy = ["inherit_metadata"]
7
  lock_version = "4.5.0"
8
- content_hash = "sha256:dd76d2d0b451a1501d4c6609f4045fb2fb46aebf3f2f6c1d98fbc9462822accc"
9
 
10
  [[metadata.targets]]
11
  requires_python = "==3.12.*"
12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  [[package]]
14
  name = "annotated-types"
15
  version = "0.7.0"
@@ -41,6 +102,17 @@ files = [
41
  {file = "anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028"},
42
  ]
43
 
 
 
 
 
 
 
 
 
 
 
 
44
  [[package]]
45
  name = "certifi"
46
  version = "2025.4.26"
@@ -101,6 +173,20 @@ files = [
101
  {file = "charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63"},
102
  ]
103
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  [[package]]
105
  name = "colorama"
106
  version = "0.4.6"
@@ -113,6 +199,58 @@ files = [
113
  {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
114
  ]
115
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
  [[package]]
117
  name = "distro"
118
  version = "1.9.0"
@@ -136,6 +274,22 @@ files = [
136
  {file = "dotenv-0.9.9-py2.py3-none-any.whl", hash = "sha256:29cf74a087b31dafdb5a446b6d7e11cbce8ed2741540e2339c69fbef92c94ce9"},
137
  ]
138
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
  [[package]]
140
  name = "filelock"
141
  version = "3.18.0"
@@ -148,14 +302,58 @@ files = [
148
  ]
149
 
150
  [[package]]
151
- name = "fsspec"
152
- version = "2025.3.2"
153
  requires_python = ">=3.9"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
154
  summary = "File-system specification"
155
  groups = ["default"]
156
  files = [
157
- {file = "fsspec-2025.3.2-py3-none-any.whl", hash = "sha256:2daf8dc3d1dfa65b6aa37748d112773a7a08416f6c70d96b264c96476ecaf711"},
158
- {file = "fsspec-2025.3.2.tar.gz", hash = "sha256:e52c77ef398680bbd6a98c0e628fbc469491282981209907bbc8aea76a04fdc6"},
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
159
  ]
160
 
161
  [[package]]
@@ -221,6 +419,17 @@ files = [
221
  {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"},
222
  ]
223
 
 
 
 
 
 
 
 
 
 
 
 
224
  [[package]]
225
  name = "huggingface-hub"
226
  version = "0.31.2"
@@ -252,6 +461,20 @@ files = [
252
  {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"},
253
  ]
254
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
255
  [[package]]
256
  name = "jiter"
257
  version = "0.9.0"
@@ -274,6 +497,17 @@ files = [
274
  {file = "jiter-0.9.0.tar.gz", hash = "sha256:aadba0964deb424daa24492abc3d229c60c4a31bfee205aedbf1acc7639d7893"},
275
  ]
276
 
 
 
 
 
 
 
 
 
 
 
 
277
  [[package]]
278
  name = "jsonpatch"
279
  version = "1.33"
@@ -320,6 +554,32 @@ files = [
320
  {file = "langchain-0.3.25.tar.gz", hash = "sha256:a1d72aa39546a23db08492d7228464af35c9ee83379945535ceef877340d2a3a"},
321
  ]
322
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
323
  [[package]]
324
  name = "langchain-core"
325
  version = "0.3.60"
@@ -340,6 +600,24 @@ files = [
340
  {file = "langchain_core-0.3.60.tar.gz", hash = "sha256:63dd1bdf7939816115399522661ca85a2f3686a61440f2f46ebd86d1b028595b"},
341
  ]
342
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
343
  [[package]]
344
  name = "langchain-openai"
345
  version = "0.3.17"
@@ -457,13 +735,150 @@ files = [
457
  {file = "langsmith-0.3.42.tar.gz", hash = "sha256:2b5cbc450ab808b992362aac6943bb1d285579aa68a3a8be901d30a393458f25"},
458
  ]
459
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
460
  [[package]]
461
  name = "numpy"
462
  version = "2.2.5"
463
  requires_python = ">=3.10"
464
  summary = "Fundamental package for array computing in Python"
465
  groups = ["default"]
466
- marker = "python_version >= \"3.12\""
467
  files = [
468
  {file = "numpy-2.2.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ee461a4eaab4f165b68780a6a1af95fb23a29932be7569b9fab666c407969051"},
469
  {file = "numpy-2.2.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ec31367fd6a255dc8de4772bd1658c3e926d8e860a0b6e922b615e532d320ddc"},
@@ -478,6 +893,213 @@ files = [
478
  {file = "numpy-2.2.5.tar.gz", hash = "sha256:a9c0d994680cd991b1cb772e8b297340085466a6fe964bc9d4e80f5e2f43c291"},
479
  ]
480
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
481
  [[package]]
482
  name = "openai"
483
  version = "1.79.0"
@@ -579,6 +1201,91 @@ files = [
579
  {file = "pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667"},
580
  ]
581
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
582
  [[package]]
583
  name = "pycparser"
584
  version = "2.22"
@@ -635,6 +1342,22 @@ files = [
635
  {file = "pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc"},
636
  ]
637
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
638
  [[package]]
639
  name = "python-dateutil"
640
  version = "2.9.0.post0"
@@ -689,6 +1412,19 @@ files = [
689
  {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"},
690
  ]
691
 
 
 
 
 
 
 
 
 
 
 
 
 
 
692
  [[package]]
693
  name = "regex"
694
  version = "2024.11.6"
@@ -745,6 +1481,106 @@ files = [
745
  {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"},
746
  ]
747
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
748
  [[package]]
749
  name = "six"
750
  version = "1.17.0"
@@ -791,6 +1627,20 @@ files = [
791
  {file = "sqlalchemy-2.0.41.tar.gz", hash = "sha256:edba70118c4be3c2b1f90754d308d0b79c6fe2c0fdc52d8ddf603916f83f4db9"},
792
  ]
793
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
794
  [[package]]
795
  name = "tenacity"
796
  version = "9.1.2"
@@ -802,6 +1652,17 @@ files = [
802
  {file = "tenacity-9.1.2.tar.gz", hash = "sha256:1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb"},
803
  ]
804
 
 
 
 
 
 
 
 
 
 
 
 
805
  [[package]]
806
  name = "tiktoken"
807
  version = "0.9.0"
@@ -822,6 +1683,70 @@ files = [
822
  {file = "tiktoken-0.9.0.tar.gz", hash = "sha256:d02a5ca6a938e0490e1ff957bc48c8b078c88cb83977be1625b1fd8aac792c5d"},
823
  ]
824
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
825
  [[package]]
826
  name = "tqdm"
827
  version = "4.67.1"
@@ -836,6 +1761,42 @@ files = [
836
  {file = "tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2"},
837
  ]
838
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
839
  [[package]]
840
  name = "typing-extensions"
841
  version = "4.13.2"
@@ -847,6 +1808,21 @@ files = [
847
  {file = "typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef"},
848
  ]
849
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
850
  [[package]]
851
  name = "typing-inspection"
852
  version = "0.4.0"
@@ -908,6 +1884,39 @@ files = [
908
  {file = "xxhash-3.5.0.tar.gz", hash = "sha256:84f2caddf951c9cbf8dc2e22a89d4ccf5d86391ac6418fe81e3c67d0cf60b45f"},
909
  ]
910
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
911
  [[package]]
912
  name = "zstandard"
913
  version = "0.23.0"
 
5
  groups = ["default"]
6
  strategy = ["inherit_metadata"]
7
  lock_version = "4.5.0"
8
+ content_hash = "sha256:da5747f1ee40700b81298a5464962761e4777d0a7790ba934a6c71bf4bb35d58"
9
 
10
  [[metadata.targets]]
11
  requires_python = "==3.12.*"
12
 
13
+ [[package]]
14
+ name = "aiohappyeyeballs"
15
+ version = "2.6.1"
16
+ requires_python = ">=3.9"
17
+ summary = "Happy Eyeballs for asyncio"
18
+ groups = ["default"]
19
+ files = [
20
+ {file = "aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8"},
21
+ {file = "aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558"},
22
+ ]
23
+
24
+ [[package]]
25
+ name = "aiohttp"
26
+ version = "3.11.18"
27
+ requires_python = ">=3.9"
28
+ summary = "Async http client/server framework (asyncio)"
29
+ groups = ["default"]
30
+ dependencies = [
31
+ "aiohappyeyeballs>=2.3.0",
32
+ "aiosignal>=1.1.2",
33
+ "async-timeout<6.0,>=4.0; python_version < \"3.11\"",
34
+ "attrs>=17.3.0",
35
+ "frozenlist>=1.1.1",
36
+ "multidict<7.0,>=4.5",
37
+ "propcache>=0.2.0",
38
+ "yarl<2.0,>=1.17.0",
39
+ ]
40
+ files = [
41
+ {file = "aiohttp-3.11.18-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:63d71eceb9cad35d47d71f78edac41fcd01ff10cacaa64e473d1aec13fa02df2"},
42
+ {file = "aiohttp-3.11.18-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d1929da615840969929e8878d7951b31afe0bac883d84418f92e5755d7b49508"},
43
+ {file = "aiohttp-3.11.18-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7d0aebeb2392f19b184e3fdd9e651b0e39cd0f195cdb93328bd124a1d455cd0e"},
44
+ {file = "aiohttp-3.11.18-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3849ead845e8444f7331c284132ab314b4dac43bfae1e3cf350906d4fff4620f"},
45
+ {file = "aiohttp-3.11.18-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e8452ad6b2863709f8b3d615955aa0807bc093c34b8e25b3b52097fe421cb7f"},
46
+ {file = "aiohttp-3.11.18-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b8d2b42073611c860a37f718b3d61ae8b4c2b124b2e776e2c10619d920350ec"},
47
+ {file = "aiohttp-3.11.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fbf91f6a0ac317c0a07eb328a1384941872f6761f2e6f7208b63c4cc0a7ff6"},
48
+ {file = "aiohttp-3.11.18-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ff5625413fec55216da5eaa011cf6b0a2ed67a565914a212a51aa3755b0009"},
49
+ {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7f33a92a2fde08e8c6b0c61815521324fc1612f397abf96eed86b8e31618fdb4"},
50
+ {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:11d5391946605f445ddafda5eab11caf310f90cdda1fd99865564e3164f5cff9"},
51
+ {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3cc314245deb311364884e44242e00c18b5896e4fe6d5f942e7ad7e4cb640adb"},
52
+ {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0f421843b0f70740772228b9e8093289924359d306530bcd3926f39acbe1adda"},
53
+ {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e220e7562467dc8d589e31c1acd13438d82c03d7f385c9cd41a3f6d1d15807c1"},
54
+ {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ab2ef72f8605046115bc9aa8e9d14fd49086d405855f40b79ed9e5c1f9f4faea"},
55
+ {file = "aiohttp-3.11.18-cp312-cp312-win32.whl", hash = "sha256:12a62691eb5aac58d65200c7ae94d73e8a65c331c3a86a2e9670927e94339ee8"},
56
+ {file = "aiohttp-3.11.18-cp312-cp312-win_amd64.whl", hash = "sha256:364329f319c499128fd5cd2d1c31c44f234c58f9b96cc57f743d16ec4f3238c8"},
57
+ {file = "aiohttp-3.11.18.tar.gz", hash = "sha256:ae856e1138612b7e412db63b7708735cff4d38d0399f6a5435d3dac2669f558a"},
58
+ ]
59
+
60
+ [[package]]
61
+ name = "aiosignal"
62
+ version = "1.3.2"
63
+ requires_python = ">=3.9"
64
+ summary = "aiosignal: a list of registered asynchronous callbacks"
65
+ groups = ["default"]
66
+ dependencies = [
67
+ "frozenlist>=1.1.0",
68
+ ]
69
+ files = [
70
+ {file = "aiosignal-1.3.2-py2.py3-none-any.whl", hash = "sha256:45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5"},
71
+ {file = "aiosignal-1.3.2.tar.gz", hash = "sha256:a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54"},
72
+ ]
73
+
74
  [[package]]
75
  name = "annotated-types"
76
  version = "0.7.0"
 
102
  {file = "anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028"},
103
  ]
104
 
105
+ [[package]]
106
+ name = "attrs"
107
+ version = "25.3.0"
108
+ requires_python = ">=3.8"
109
+ summary = "Classes Without Boilerplate"
110
+ groups = ["default"]
111
+ files = [
112
+ {file = "attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3"},
113
+ {file = "attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b"},
114
+ ]
115
+
116
  [[package]]
117
  name = "certifi"
118
  version = "2025.4.26"
 
173
  {file = "charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63"},
174
  ]
175
 
176
+ [[package]]
177
+ name = "click"
178
+ version = "8.2.0"
179
+ requires_python = ">=3.10"
180
+ summary = "Composable command line interface toolkit"
181
+ groups = ["default"]
182
+ dependencies = [
183
+ "colorama; platform_system == \"Windows\"",
184
+ ]
185
+ files = [
186
+ {file = "click-8.2.0-py3-none-any.whl", hash = "sha256:6b303f0b2aa85f1cb4e5303078fadcbcd4e476f114fab9b5007005711839325c"},
187
+ {file = "click-8.2.0.tar.gz", hash = "sha256:f5452aeddd9988eefa20f90f05ab66f17fce1ee2a36907fd30b05bbb5953814d"},
188
+ ]
189
+
190
  [[package]]
191
  name = "colorama"
192
  version = "0.4.6"
 
199
  {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
200
  ]
201
 
202
+ [[package]]
203
+ name = "dataclasses-json"
204
+ version = "0.6.7"
205
+ requires_python = "<4.0,>=3.7"
206
+ summary = "Easily serialize dataclasses to and from JSON."
207
+ groups = ["default"]
208
+ dependencies = [
209
+ "marshmallow<4.0.0,>=3.18.0",
210
+ "typing-inspect<1,>=0.4.0",
211
+ ]
212
+ files = [
213
+ {file = "dataclasses_json-0.6.7-py3-none-any.whl", hash = "sha256:0dbf33f26c8d5305befd61b39d2b3414e8a407bedc2834dea9b8d642666fb40a"},
214
+ {file = "dataclasses_json-0.6.7.tar.gz", hash = "sha256:b6b3e528266ea45b9535223bc53ca645f5208833c29229e847b3f26a1cc55fc0"},
215
+ ]
216
+
217
+ [[package]]
218
+ name = "datasets"
219
+ version = "3.6.0"
220
+ requires_python = ">=3.9.0"
221
+ summary = "HuggingFace community-driven open-source library of datasets"
222
+ groups = ["default"]
223
+ dependencies = [
224
+ "dill<0.3.9,>=0.3.0",
225
+ "filelock",
226
+ "fsspec[http]<=2025.3.0,>=2023.1.0",
227
+ "huggingface-hub>=0.24.0",
228
+ "multiprocess<0.70.17",
229
+ "numpy>=1.17",
230
+ "packaging",
231
+ "pandas",
232
+ "pyarrow>=15.0.0",
233
+ "pyyaml>=5.1",
234
+ "requests>=2.32.2",
235
+ "tqdm>=4.66.3",
236
+ "xxhash",
237
+ ]
238
+ files = [
239
+ {file = "datasets-3.6.0-py3-none-any.whl", hash = "sha256:25000c4a2c0873a710df127d08a202a06eab7bf42441a6bc278b499c2f72cd1b"},
240
+ {file = "datasets-3.6.0.tar.gz", hash = "sha256:1b2bf43b19776e2787e181cfd329cb0ca1a358ea014780c3581e0f276375e041"},
241
+ ]
242
+
243
+ [[package]]
244
+ name = "dill"
245
+ version = "0.3.8"
246
+ requires_python = ">=3.8"
247
+ summary = "serialize all of Python"
248
+ groups = ["default"]
249
+ files = [
250
+ {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"},
251
+ {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"},
252
+ ]
253
+
254
  [[package]]
255
  name = "distro"
256
  version = "1.9.0"
 
274
  {file = "dotenv-0.9.9-py2.py3-none-any.whl", hash = "sha256:29cf74a087b31dafdb5a446b6d7e11cbce8ed2741540e2339c69fbef92c94ce9"},
275
  ]
276
 
277
+ [[package]]
278
+ name = "duckduckgo-search"
279
+ version = "8.0.2"
280
+ requires_python = ">=3.9"
281
+ summary = "Search for words, documents, images, news, maps and text translation using the DuckDuckGo.com search engine."
282
+ groups = ["default"]
283
+ dependencies = [
284
+ "click>=8.1.8",
285
+ "lxml>=5.3.0",
286
+ "primp>=0.15.0",
287
+ ]
288
+ files = [
289
+ {file = "duckduckgo_search-8.0.2-py3-none-any.whl", hash = "sha256:b5ff8b6b8f169b8e1b15a788a5749aa900ebcefd6e1ab485787582f8d5b4f1ef"},
290
+ {file = "duckduckgo_search-8.0.2.tar.gz", hash = "sha256:3109a99967b29cab8862823bbe320d140d5c792415de851b9d6288de2311b3ec"},
291
+ ]
292
+
293
  [[package]]
294
  name = "filelock"
295
  version = "3.18.0"
 
302
  ]
303
 
304
  [[package]]
305
+ name = "frozenlist"
306
+ version = "1.6.0"
307
  requires_python = ">=3.9"
308
+ summary = "A list-like structure which implements collections.abc.MutableSequence"
309
+ groups = ["default"]
310
+ files = [
311
+ {file = "frozenlist-1.6.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c5b9e42ace7d95bf41e19b87cec8f262c41d3510d8ad7514ab3862ea2197bfb1"},
312
+ {file = "frozenlist-1.6.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ca9973735ce9f770d24d5484dcb42f68f135351c2fc81a7a9369e48cf2998a29"},
313
+ {file = "frozenlist-1.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6ac40ec76041c67b928ca8aaffba15c2b2ee3f5ae8d0cb0617b5e63ec119ca25"},
314
+ {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95b7a8a3180dfb280eb044fdec562f9b461614c0ef21669aea6f1d3dac6ee576"},
315
+ {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c444d824e22da6c9291886d80c7d00c444981a72686e2b59d38b285617cb52c8"},
316
+ {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb52c8166499a8150bfd38478248572c924c003cbb45fe3bcd348e5ac7c000f9"},
317
+ {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b35298b2db9c2468106278537ee529719228950a5fdda686582f68f247d1dc6e"},
318
+ {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d108e2d070034f9d57210f22fefd22ea0d04609fc97c5f7f5a686b3471028590"},
319
+ {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e1be9111cb6756868ac242b3c2bd1f09d9aea09846e4f5c23715e7afb647103"},
320
+ {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:94bb451c664415f02f07eef4ece976a2c65dcbab9c2f1705b7031a3a75349d8c"},
321
+ {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:d1a686d0b0949182b8faddea596f3fc11f44768d1f74d4cad70213b2e139d821"},
322
+ {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:ea8e59105d802c5a38bdbe7362822c522230b3faba2aa35c0fa1765239b7dd70"},
323
+ {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:abc4e880a9b920bc5020bf6a431a6bb40589d9bca3975c980495f63632e8382f"},
324
+ {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9a79713adfe28830f27a3c62f6b5406c37376c892b05ae070906f07ae4487046"},
325
+ {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9a0318c2068e217a8f5e3b85e35899f5a19e97141a45bb925bb357cfe1daf770"},
326
+ {file = "frozenlist-1.6.0-cp312-cp312-win32.whl", hash = "sha256:853ac025092a24bb3bf09ae87f9127de9fe6e0c345614ac92536577cf956dfcc"},
327
+ {file = "frozenlist-1.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:2bdfe2d7e6c9281c6e55523acd6c2bf77963cb422fdc7d142fb0cb6621b66878"},
328
+ {file = "frozenlist-1.6.0-py3-none-any.whl", hash = "sha256:535eec9987adb04701266b92745d6cdcef2e77669299359c3009c3404dd5d191"},
329
+ {file = "frozenlist-1.6.0.tar.gz", hash = "sha256:b99655c32c1c8e06d111e7f41c06c29a5318cb1835df23a45518e02a47c63b68"},
330
+ ]
331
+
332
+ [[package]]
333
+ name = "fsspec"
334
+ version = "2025.3.0"
335
+ requires_python = ">=3.8"
336
  summary = "File-system specification"
337
  groups = ["default"]
338
  files = [
339
+ {file = "fsspec-2025.3.0-py3-none-any.whl", hash = "sha256:efb87af3efa9103f94ca91a7f8cb7a4df91af9f74fc106c9c7ea0efd7277c1b3"},
340
+ {file = "fsspec-2025.3.0.tar.gz", hash = "sha256:a935fd1ea872591f2b5148907d103488fc523295e6c64b835cfad8c3eca44972"},
341
+ ]
342
+
343
+ [[package]]
344
+ name = "fsspec"
345
+ version = "2025.3.0"
346
+ extras = ["http"]
347
+ requires_python = ">=3.8"
348
+ summary = "File-system specification"
349
+ groups = ["default"]
350
+ dependencies = [
351
+ "aiohttp!=4.0.0a0,!=4.0.0a1",
352
+ "fsspec==2025.3.0",
353
+ ]
354
+ files = [
355
+ {file = "fsspec-2025.3.0-py3-none-any.whl", hash = "sha256:efb87af3efa9103f94ca91a7f8cb7a4df91af9f74fc106c9c7ea0efd7277c1b3"},
356
+ {file = "fsspec-2025.3.0.tar.gz", hash = "sha256:a935fd1ea872591f2b5148907d103488fc523295e6c64b835cfad8c3eca44972"},
357
  ]
358
 
359
  [[package]]
 
419
  {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"},
420
  ]
421
 
422
+ [[package]]
423
+ name = "httpx-sse"
424
+ version = "0.4.0"
425
+ requires_python = ">=3.8"
426
+ summary = "Consume Server-Sent Event (SSE) messages with HTTPX."
427
+ groups = ["default"]
428
+ files = [
429
+ {file = "httpx-sse-0.4.0.tar.gz", hash = "sha256:1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721"},
430
+ {file = "httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f"},
431
+ ]
432
+
433
  [[package]]
434
  name = "huggingface-hub"
435
  version = "0.31.2"
 
461
  {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"},
462
  ]
463
 
464
+ [[package]]
465
+ name = "jinja2"
466
+ version = "3.1.6"
467
+ requires_python = ">=3.7"
468
+ summary = "A very fast and expressive template engine."
469
+ groups = ["default"]
470
+ dependencies = [
471
+ "MarkupSafe>=2.0",
472
+ ]
473
+ files = [
474
+ {file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"},
475
+ {file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d"},
476
+ ]
477
+
478
  [[package]]
479
  name = "jiter"
480
  version = "0.9.0"
 
497
  {file = "jiter-0.9.0.tar.gz", hash = "sha256:aadba0964deb424daa24492abc3d229c60c4a31bfee205aedbf1acc7639d7893"},
498
  ]
499
 
500
+ [[package]]
501
+ name = "joblib"
502
+ version = "1.5.0"
503
+ requires_python = ">=3.9"
504
+ summary = "Lightweight pipelining with Python functions"
505
+ groups = ["default"]
506
+ files = [
507
+ {file = "joblib-1.5.0-py3-none-any.whl", hash = "sha256:206144b320246485b712fc8cc51f017de58225fa8b414a1fe1764a7231aca491"},
508
+ {file = "joblib-1.5.0.tar.gz", hash = "sha256:d8757f955389a3dd7a23152e43bc297c2e0c2d3060056dad0feefc88a06939b5"},
509
+ ]
510
+
511
  [[package]]
512
  name = "jsonpatch"
513
  version = "1.33"
 
554
  {file = "langchain-0.3.25.tar.gz", hash = "sha256:a1d72aa39546a23db08492d7228464af35c9ee83379945535ceef877340d2a3a"},
555
  ]
556
 
557
+ [[package]]
558
+ name = "langchain-community"
559
+ version = "0.3.24"
560
+ requires_python = ">=3.9"
561
+ summary = "Community contributed LangChain integrations."
562
+ groups = ["default"]
563
+ dependencies = [
564
+ "PyYAML>=5.3",
565
+ "SQLAlchemy<3,>=1.4",
566
+ "aiohttp<4.0.0,>=3.8.3",
567
+ "dataclasses-json<0.7,>=0.5.7",
568
+ "httpx-sse<1.0.0,>=0.4.0",
569
+ "langchain-core<1.0.0,>=0.3.59",
570
+ "langchain<1.0.0,>=0.3.25",
571
+ "langsmith<0.4,>=0.1.125",
572
+ "numpy>=1.26.2; python_version < \"3.13\"",
573
+ "numpy>=2.1.0; python_version >= \"3.13\"",
574
+ "pydantic-settings<3.0.0,>=2.4.0",
575
+ "requests<3,>=2",
576
+ "tenacity!=8.4.0,<10,>=8.1.0",
577
+ ]
578
+ files = [
579
+ {file = "langchain_community-0.3.24-py3-none-any.whl", hash = "sha256:b6cdb376bf1c2f4d2503aca20f8f35f2d5b3d879c52848277f20ce1950e7afaf"},
580
+ {file = "langchain_community-0.3.24.tar.gz", hash = "sha256:62d9e8cf9aadf35182ec3925f9ec1c8e5e84fb4f199f67a01aee496d289dc264"},
581
+ ]
582
+
583
  [[package]]
584
  name = "langchain-core"
585
  version = "0.3.60"
 
600
  {file = "langchain_core-0.3.60.tar.gz", hash = "sha256:63dd1bdf7939816115399522661ca85a2f3686a61440f2f46ebd86d1b028595b"},
601
  ]
602
 
603
+ [[package]]
604
+ name = "langchain-huggingface"
605
+ version = "0.2.0"
606
+ requires_python = ">=3.9"
607
+ summary = "An integration package connecting Hugging Face and LangChain."
608
+ groups = ["default"]
609
+ dependencies = [
610
+ "huggingface-hub>=0.30.2",
611
+ "langchain-core<1.0.0,>=0.3.59",
612
+ "sentence-transformers>=2.6.0",
613
+ "tokenizers>=0.19.1",
614
+ "transformers>=4.39.0",
615
+ ]
616
+ files = [
617
+ {file = "langchain_huggingface-0.2.0-py3-none-any.whl", hash = "sha256:eed1fdfe51d16d761499fa754491a1a4dcb61798c1e5516335071d1dad852a41"},
618
+ {file = "langchain_huggingface-0.2.0.tar.gz", hash = "sha256:609acbfbade749bffa22acffd46d9e924a58e96cc59215d0562b8e9215b210f5"},
619
+ ]
620
+
621
  [[package]]
622
  name = "langchain-openai"
623
  version = "0.3.17"
 
735
  {file = "langsmith-0.3.42.tar.gz", hash = "sha256:2b5cbc450ab808b992362aac6943bb1d285579aa68a3a8be901d30a393458f25"},
736
  ]
737
 
738
+ [[package]]
739
+ name = "lxml"
740
+ version = "5.4.0"
741
+ requires_python = ">=3.6"
742
+ summary = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API."
743
+ groups = ["default"]
744
+ files = [
745
+ {file = "lxml-5.4.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b5aff6f3e818e6bdbbb38e5967520f174b18f539c2b9de867b1e7fde6f8d95a4"},
746
+ {file = "lxml-5.4.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942a5d73f739ad7c452bf739a62a0f83e2578afd6b8e5406308731f4ce78b16d"},
747
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:460508a4b07364d6abf53acaa0a90b6d370fafde5693ef37602566613a9b0779"},
748
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:529024ab3a505fed78fe3cc5ddc079464e709f6c892733e3f5842007cec8ac6e"},
749
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ca56ebc2c474e8f3d5761debfd9283b8b18c76c4fc0967b74aeafba1f5647f9"},
750
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a81e1196f0a5b4167a8dafe3a66aa67c4addac1b22dc47947abd5d5c7a3f24b5"},
751
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00b8686694423ddae324cf614e1b9659c2edb754de617703c3d29ff568448df5"},
752
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:c5681160758d3f6ac5b4fea370495c48aac0989d6a0f01bb9a72ad8ef5ab75c4"},
753
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:2dc191e60425ad70e75a68c9fd90ab284df64d9cd410ba8d2b641c0c45bc006e"},
754
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:67f779374c6b9753ae0a0195a892a1c234ce8416e4448fe1e9f34746482070a7"},
755
+ {file = "lxml-5.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:79d5bfa9c1b455336f52343130b2067164040604e41f6dc4d8313867ed540079"},
756
+ {file = "lxml-5.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3d3c30ba1c9b48c68489dc1829a6eede9873f52edca1dda900066542528d6b20"},
757
+ {file = "lxml-5.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1af80c6316ae68aded77e91cd9d80648f7dd40406cef73df841aa3c36f6907c8"},
758
+ {file = "lxml-5.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4d885698f5019abe0de3d352caf9466d5de2baded00a06ef3f1216c1a58ae78f"},
759
+ {file = "lxml-5.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea53d51859b6c64e7c51d522c03cc2c48b9b5d6172126854cc7f01aa11f52bc"},
760
+ {file = "lxml-5.4.0-cp312-cp312-win32.whl", hash = "sha256:d90b729fd2732df28130c064aac9bb8aff14ba20baa4aee7bd0795ff1187545f"},
761
+ {file = "lxml-5.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1dc4ca99e89c335a7ed47d38964abcb36c5910790f9bd106f2a8fa2ee0b909d2"},
762
+ {file = "lxml-5.4.0.tar.gz", hash = "sha256:d12832e1dbea4be280b22fd0ea7c9b87f0d8fc51ba06e92dc62d52f804f78ebd"},
763
+ ]
764
+
765
+ [[package]]
766
+ name = "markupsafe"
767
+ version = "3.0.2"
768
+ requires_python = ">=3.9"
769
+ summary = "Safely add untrusted strings to HTML/XML markup."
770
+ groups = ["default"]
771
+ files = [
772
+ {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"},
773
+ {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"},
774
+ {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"},
775
+ {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"},
776
+ {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"},
777
+ {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"},
778
+ {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"},
779
+ {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"},
780
+ {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"},
781
+ {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"},
782
+ {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"},
783
+ ]
784
+
785
+ [[package]]
786
+ name = "marshmallow"
787
+ version = "3.26.1"
788
+ requires_python = ">=3.9"
789
+ summary = "A lightweight library for converting complex datatypes to and from native Python datatypes."
790
+ groups = ["default"]
791
+ dependencies = [
792
+ "packaging>=17.0",
793
+ ]
794
+ files = [
795
+ {file = "marshmallow-3.26.1-py3-none-any.whl", hash = "sha256:3350409f20a70a7e4e11a27661187b77cdcaeb20abca41c1454fe33636bea09c"},
796
+ {file = "marshmallow-3.26.1.tar.gz", hash = "sha256:e6d8affb6cb61d39d26402096dc0aee12d5a26d490a121f118d2e81dc0719dc6"},
797
+ ]
798
+
799
+ [[package]]
800
+ name = "mpmath"
801
+ version = "1.3.0"
802
+ summary = "Python library for arbitrary-precision floating-point arithmetic"
803
+ groups = ["default"]
804
+ files = [
805
+ {file = "mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"},
806
+ {file = "mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f"},
807
+ ]
808
+
809
+ [[package]]
810
+ name = "multidict"
811
+ version = "6.4.3"
812
+ requires_python = ">=3.9"
813
+ summary = "multidict implementation"
814
+ groups = ["default"]
815
+ dependencies = [
816
+ "typing-extensions>=4.1.0; python_version < \"3.11\"",
817
+ ]
818
+ files = [
819
+ {file = "multidict-6.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1f1c2f58f08b36f8475f3ec6f5aeb95270921d418bf18f90dffd6be5c7b0e676"},
820
+ {file = "multidict-6.4.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:26ae9ad364fc61b936fb7bf4c9d8bd53f3a5b4417142cd0be5c509d6f767e2f1"},
821
+ {file = "multidict-6.4.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:659318c6c8a85f6ecfc06b4e57529e5a78dfdd697260cc81f683492ad7e9435a"},
822
+ {file = "multidict-6.4.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1eb72c741fd24d5a28242ce72bb61bc91f8451877131fa3fe930edb195f7054"},
823
+ {file = "multidict-6.4.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3cd06d88cb7398252284ee75c8db8e680aa0d321451132d0dba12bc995f0adcc"},
824
+ {file = "multidict-6.4.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4543d8dc6470a82fde92b035a92529317191ce993533c3c0c68f56811164ed07"},
825
+ {file = "multidict-6.4.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:30a3ebdc068c27e9d6081fca0e2c33fdf132ecea703a72ea216b81a66860adde"},
826
+ {file = "multidict-6.4.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b038f10e23f277153f86f95c777ba1958bcd5993194fda26a1d06fae98b2f00c"},
827
+ {file = "multidict-6.4.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c605a2b2dc14282b580454b9b5d14ebe0668381a3a26d0ac39daa0ca115eb2ae"},
828
+ {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8bd2b875f4ca2bb527fe23e318ddd509b7df163407b0fb717df229041c6df5d3"},
829
+ {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c2e98c840c9c8e65c0e04b40c6c5066c8632678cd50c8721fdbcd2e09f21a507"},
830
+ {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:66eb80dd0ab36dbd559635e62fba3083a48a252633164857a1d1684f14326427"},
831
+ {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c23831bdee0a2a3cf21be057b5e5326292f60472fb6c6f86392bbf0de70ba731"},
832
+ {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1535cec6443bfd80d028052e9d17ba6ff8a5a3534c51d285ba56c18af97e9713"},
833
+ {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3b73e7227681f85d19dec46e5b881827cd354aabe46049e1a61d2f9aaa4e285a"},
834
+ {file = "multidict-6.4.3-cp312-cp312-win32.whl", hash = "sha256:8eac0c49df91b88bf91f818e0a24c1c46f3622978e2c27035bfdca98e0e18124"},
835
+ {file = "multidict-6.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:11990b5c757d956cd1db7cb140be50a63216af32cd6506329c2c59d732d802db"},
836
+ {file = "multidict-6.4.3-py3-none-any.whl", hash = "sha256:59fe01ee8e2a1e8ceb3f6dbb216b09c8d9f4ef1c22c4fc825d045a147fa2ebc9"},
837
+ {file = "multidict-6.4.3.tar.gz", hash = "sha256:3ada0b058c9f213c5f95ba301f922d402ac234f1111a7d8fd70f1b99f3c281ec"},
838
+ ]
839
+
840
+ [[package]]
841
+ name = "multiprocess"
842
+ version = "0.70.16"
843
+ requires_python = ">=3.8"
844
+ summary = "better multiprocessing and multithreading in Python"
845
+ groups = ["default"]
846
+ dependencies = [
847
+ "dill>=0.3.8",
848
+ ]
849
+ files = [
850
+ {file = "multiprocess-0.70.16-py312-none-any.whl", hash = "sha256:fc0544c531920dde3b00c29863377f87e1632601092ea2daca74e4beb40faa2e"},
851
+ {file = "multiprocess-0.70.16.tar.gz", hash = "sha256:161af703d4652a0e1410be6abccecde4a7ddffd19341be0a7011b94aeb171ac1"},
852
+ ]
853
+
854
+ [[package]]
855
+ name = "mypy-extensions"
856
+ version = "1.1.0"
857
+ requires_python = ">=3.8"
858
+ summary = "Type system extensions for programs checked with the mypy type checker."
859
+ groups = ["default"]
860
+ files = [
861
+ {file = "mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505"},
862
+ {file = "mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558"},
863
+ ]
864
+
865
+ [[package]]
866
+ name = "networkx"
867
+ version = "3.4.2"
868
+ requires_python = ">=3.10"
869
+ summary = "Python package for creating and manipulating graphs and networks"
870
+ groups = ["default"]
871
+ files = [
872
+ {file = "networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f"},
873
+ {file = "networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1"},
874
+ ]
875
+
876
  [[package]]
877
  name = "numpy"
878
  version = "2.2.5"
879
  requires_python = ">=3.10"
880
  summary = "Fundamental package for array computing in Python"
881
  groups = ["default"]
 
882
  files = [
883
  {file = "numpy-2.2.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ee461a4eaab4f165b68780a6a1af95fb23a29932be7569b9fab666c407969051"},
884
  {file = "numpy-2.2.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ec31367fd6a255dc8de4772bd1658c3e926d8e860a0b6e922b615e532d320ddc"},
 
893
  {file = "numpy-2.2.5.tar.gz", hash = "sha256:a9c0d994680cd991b1cb772e8b297340085466a6fe964bc9d4e80f5e2f43c291"},
894
  ]
895
 
896
+ [[package]]
897
+ name = "nvidia-cublas-cu12"
898
+ version = "12.6.4.1"
899
+ requires_python = ">=3"
900
+ summary = "CUBLAS native runtime libraries"
901
+ groups = ["default"]
902
+ marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
903
+ files = [
904
+ {file = "nvidia_cublas_cu12-12.6.4.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:08ed2686e9875d01b58e3cb379c6896df8e76c75e0d4a7f7dace3d7b6d9ef8eb"},
905
+ {file = "nvidia_cublas_cu12-12.6.4.1-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:235f728d6e2a409eddf1df58d5b0921cf80cfa9e72b9f2775ccb7b4a87984668"},
906
+ {file = "nvidia_cublas_cu12-12.6.4.1-py3-none-win_amd64.whl", hash = "sha256:9e4fa264f4d8a4eb0cdbd34beadc029f453b3bafae02401e999cf3d5a5af75f8"},
907
+ ]
908
+
909
+ [[package]]
910
+ name = "nvidia-cuda-cupti-cu12"
911
+ version = "12.6.80"
912
+ requires_python = ">=3"
913
+ summary = "CUDA profiling tools runtime libs."
914
+ groups = ["default"]
915
+ marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
916
+ files = [
917
+ {file = "nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:166ee35a3ff1587f2490364f90eeeb8da06cd867bd5b701bf7f9a02b78bc63fc"},
918
+ {file = "nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_aarch64.whl", hash = "sha256:358b4a1d35370353d52e12f0a7d1769fc01ff74a191689d3870b2123156184c4"},
919
+ {file = "nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6768bad6cab4f19e8292125e5f1ac8aa7d1718704012a0e3272a6f61c4bce132"},
920
+ {file = "nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_x86_64.whl", hash = "sha256:a3eff6cdfcc6a4c35db968a06fcadb061cbc7d6dde548609a941ff8701b98b73"},
921
+ {file = "nvidia_cuda_cupti_cu12-12.6.80-py3-none-win_amd64.whl", hash = "sha256:bbe6ae76e83ce5251b56e8c8e61a964f757175682bbad058b170b136266ab00a"},
922
+ ]
923
+
924
+ [[package]]
925
+ name = "nvidia-cuda-nvrtc-cu12"
926
+ version = "12.6.77"
927
+ requires_python = ">=3"
928
+ summary = "NVRTC native runtime libraries"
929
+ groups = ["default"]
930
+ marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
931
+ files = [
932
+ {file = "nvidia_cuda_nvrtc_cu12-12.6.77-py3-none-manylinux2014_aarch64.whl", hash = "sha256:5847f1d6e5b757f1d2b3991a01082a44aad6f10ab3c5c0213fa3e25bddc25a13"},
933
+ {file = "nvidia_cuda_nvrtc_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:35b0cc6ee3a9636d5409133e79273ce1f3fd087abb0532d2d2e8fff1fe9efc53"},
934
+ {file = "nvidia_cuda_nvrtc_cu12-12.6.77-py3-none-win_amd64.whl", hash = "sha256:f7007dbd914c56bd80ea31bc43e8e149da38f68158f423ba845fc3292684e45a"},
935
+ ]
936
+
937
+ [[package]]
938
+ name = "nvidia-cuda-runtime-cu12"
939
+ version = "12.6.77"
940
+ requires_python = ">=3"
941
+ summary = "CUDA Runtime native Libraries"
942
+ groups = ["default"]
943
+ marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
944
+ files = [
945
+ {file = "nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6116fad3e049e04791c0256a9778c16237837c08b27ed8c8401e2e45de8d60cd"},
946
+ {file = "nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_aarch64.whl", hash = "sha256:d461264ecb429c84c8879a7153499ddc7b19b5f8d84c204307491989a365588e"},
947
+ {file = "nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ba3b56a4f896141e25e19ab287cd71e52a6a0f4b29d0d31609f60e3b4d5219b7"},
948
+ {file = "nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:a84d15d5e1da416dd4774cb42edf5e954a3e60cc945698dc1d5be02321c44dc8"},
949
+ {file = "nvidia_cuda_runtime_cu12-12.6.77-py3-none-win_amd64.whl", hash = "sha256:86c58044c824bf3c173c49a2dbc7a6c8b53cb4e4dca50068be0bf64e9dab3f7f"},
950
+ ]
951
+
952
+ [[package]]
953
+ name = "nvidia-cudnn-cu12"
954
+ version = "9.5.1.17"
955
+ requires_python = ">=3"
956
+ summary = "cuDNN runtime libraries"
957
+ groups = ["default"]
958
+ marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
959
+ dependencies = [
960
+ "nvidia-cublas-cu12",
961
+ ]
962
+ files = [
963
+ {file = "nvidia_cudnn_cu12-9.5.1.17-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:9fd4584468533c61873e5fda8ca41bac3a38bcb2d12350830c69b0a96a7e4def"},
964
+ {file = "nvidia_cudnn_cu12-9.5.1.17-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:30ac3869f6db17d170e0e556dd6cc5eee02647abc31ca856634d5a40f82c15b2"},
965
+ {file = "nvidia_cudnn_cu12-9.5.1.17-py3-none-win_amd64.whl", hash = "sha256:d7af0f8a4f3b4b9dbb3122f2ef553b45694ed9c384d5a75bab197b8eefb79ab8"},
966
+ ]
967
+
968
+ [[package]]
969
+ name = "nvidia-cufft-cu12"
970
+ version = "11.3.0.4"
971
+ requires_python = ">=3"
972
+ summary = "CUFFT native runtime libraries"
973
+ groups = ["default"]
974
+ marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
975
+ dependencies = [
976
+ "nvidia-nvjitlink-cu12",
977
+ ]
978
+ files = [
979
+ {file = "nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d16079550df460376455cba121db6564089176d9bac9e4f360493ca4741b22a6"},
980
+ {file = "nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8510990de9f96c803a051822618d42bf6cb8f069ff3f48d93a8486efdacb48fb"},
981
+ {file = "nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ccba62eb9cef5559abd5e0d54ceed2d9934030f51163df018532142a8ec533e5"},
982
+ {file = "nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_x86_64.whl", hash = "sha256:768160ac89f6f7b459bee747e8d175dbf53619cfe74b2a5636264163138013ca"},
983
+ {file = "nvidia_cufft_cu12-11.3.0.4-py3-none-win_amd64.whl", hash = "sha256:6048ebddfb90d09d2707efb1fd78d4e3a77cb3ae4dc60e19aab6be0ece2ae464"},
984
+ ]
985
+
986
+ [[package]]
987
+ name = "nvidia-cufile-cu12"
988
+ version = "1.11.1.6"
989
+ requires_python = ">=3"
990
+ summary = "cuFile GPUDirect libraries"
991
+ groups = ["default"]
992
+ marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
993
+ files = [
994
+ {file = "nvidia_cufile_cu12-1.11.1.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cc23469d1c7e52ce6c1d55253273d32c565dd22068647f3aa59b3c6b005bf159"},
995
+ {file = "nvidia_cufile_cu12-1.11.1.6-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:8f57a0051dcf2543f6dc2b98a98cb2719c37d3cee1baba8965d57f3bbc90d4db"},
996
+ ]
997
+
998
+ [[package]]
999
+ name = "nvidia-curand-cu12"
1000
+ version = "10.3.7.77"
1001
+ requires_python = ">=3"
1002
+ summary = "CURAND native runtime libraries"
1003
+ groups = ["default"]
1004
+ marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
1005
+ files = [
1006
+ {file = "nvidia_curand_cu12-10.3.7.77-py3-none-manylinux2014_aarch64.whl", hash = "sha256:6e82df077060ea28e37f48a3ec442a8f47690c7499bff392a5938614b56c98d8"},
1007
+ {file = "nvidia_curand_cu12-10.3.7.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a42cd1344297f70b9e39a1e4f467a4e1c10f1da54ff7a85c12197f6c652c8bdf"},
1008
+ {file = "nvidia_curand_cu12-10.3.7.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:99f1a32f1ac2bd134897fc7a203f779303261268a65762a623bf30cc9fe79117"},
1009
+ {file = "nvidia_curand_cu12-10.3.7.77-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:7b2ed8e95595c3591d984ea3603dd66fe6ce6812b886d59049988a712ed06b6e"},
1010
+ {file = "nvidia_curand_cu12-10.3.7.77-py3-none-win_amd64.whl", hash = "sha256:6d6d935ffba0f3d439b7cd968192ff068fafd9018dbf1b85b37261b13cfc9905"},
1011
+ ]
1012
+
1013
+ [[package]]
1014
+ name = "nvidia-cusolver-cu12"
1015
+ version = "11.7.1.2"
1016
+ requires_python = ">=3"
1017
+ summary = "CUDA solver native runtime libraries"
1018
+ groups = ["default"]
1019
+ marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
1020
+ dependencies = [
1021
+ "nvidia-cublas-cu12",
1022
+ "nvidia-cusparse-cu12",
1023
+ "nvidia-nvjitlink-cu12",
1024
+ ]
1025
+ files = [
1026
+ {file = "nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0ce237ef60acde1efc457335a2ddadfd7610b892d94efee7b776c64bb1cac9e0"},
1027
+ {file = "nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e9e49843a7707e42022babb9bcfa33c29857a93b88020c4e4434656a655b698c"},
1028
+ {file = "nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6cf28f17f64107a0c4d7802be5ff5537b2130bfc112f25d5a30df227058ca0e6"},
1029
+ {file = "nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:dbbe4fc38ec1289c7e5230e16248365e375c3673c9c8bac5796e2e20db07f56e"},
1030
+ {file = "nvidia_cusolver_cu12-11.7.1.2-py3-none-win_amd64.whl", hash = "sha256:6813f9d8073f555444a8705f3ab0296d3e1cb37a16d694c5fc8b862a0d8706d7"},
1031
+ ]
1032
+
1033
+ [[package]]
1034
+ name = "nvidia-cusparse-cu12"
1035
+ version = "12.5.4.2"
1036
+ requires_python = ">=3"
1037
+ summary = "CUSPARSE native runtime libraries"
1038
+ groups = ["default"]
1039
+ marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
1040
+ dependencies = [
1041
+ "nvidia-nvjitlink-cu12",
1042
+ ]
1043
+ files = [
1044
+ {file = "nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d25b62fb18751758fe3c93a4a08eff08effedfe4edf1c6bb5afd0890fe88f887"},
1045
+ {file = "nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7aa32fa5470cf754f72d1116c7cbc300b4e638d3ae5304cfa4a638a5b87161b1"},
1046
+ {file = "nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7556d9eca156e18184b94947ade0fba5bb47d69cec46bf8660fd2c71a4b48b73"},
1047
+ {file = "nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:23749a6571191a215cb74d1cdbff4a86e7b19f1200c071b3fcf844a5bea23a2f"},
1048
+ {file = "nvidia_cusparse_cu12-12.5.4.2-py3-none-win_amd64.whl", hash = "sha256:4acb8c08855a26d737398cba8fb6f8f5045d93f82612b4cfd84645a2332ccf20"},
1049
+ ]
1050
+
1051
+ [[package]]
1052
+ name = "nvidia-cusparselt-cu12"
1053
+ version = "0.6.3"
1054
+ summary = "NVIDIA cuSPARSELt"
1055
+ groups = ["default"]
1056
+ marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
1057
+ files = [
1058
+ {file = "nvidia_cusparselt_cu12-0.6.3-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8371549623ba601a06322af2133c4a44350575f5a3108fb75f3ef20b822ad5f1"},
1059
+ {file = "nvidia_cusparselt_cu12-0.6.3-py3-none-manylinux2014_x86_64.whl", hash = "sha256:e5c8a26c36445dd2e6812f1177978a24e2d37cacce7e090f297a688d1ec44f46"},
1060
+ {file = "nvidia_cusparselt_cu12-0.6.3-py3-none-win_amd64.whl", hash = "sha256:3b325bcbd9b754ba43df5a311488fca11a6b5dc3d11df4d190c000cf1a0765c7"},
1061
+ ]
1062
+
1063
+ [[package]]
1064
+ name = "nvidia-nccl-cu12"
1065
+ version = "2.26.2"
1066
+ requires_python = ">=3"
1067
+ summary = "NVIDIA Collective Communication Library (NCCL) Runtime"
1068
+ groups = ["default"]
1069
+ marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
1070
+ files = [
1071
+ {file = "nvidia_nccl_cu12-2.26.2-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5c196e95e832ad30fbbb50381eb3cbd1fadd5675e587a548563993609af19522"},
1072
+ {file = "nvidia_nccl_cu12-2.26.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:694cf3879a206553cc9d7dbda76b13efaf610fdb70a50cba303de1b0d1530ac6"},
1073
+ ]
1074
+
1075
+ [[package]]
1076
+ name = "nvidia-nvjitlink-cu12"
1077
+ version = "12.6.85"
1078
+ requires_python = ">=3"
1079
+ summary = "Nvidia JIT LTO Library"
1080
+ groups = ["default"]
1081
+ marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
1082
+ files = [
1083
+ {file = "nvidia_nvjitlink_cu12-12.6.85-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:eedc36df9e88b682efe4309aa16b5b4e78c2407eac59e8c10a6a47535164369a"},
1084
+ {file = "nvidia_nvjitlink_cu12-12.6.85-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cf4eaa7d4b6b543ffd69d6abfb11efdeb2db48270d94dfd3a452c24150829e41"},
1085
+ {file = "nvidia_nvjitlink_cu12-12.6.85-py3-none-win_amd64.whl", hash = "sha256:e61120e52ed675747825cdd16febc6a0730537451d867ee58bee3853b1b13d1c"},
1086
+ ]
1087
+
1088
+ [[package]]
1089
+ name = "nvidia-nvtx-cu12"
1090
+ version = "12.6.77"
1091
+ requires_python = ">=3"
1092
+ summary = "NVIDIA Tools Extension"
1093
+ groups = ["default"]
1094
+ marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
1095
+ files = [
1096
+ {file = "nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f44f8d86bb7d5629988d61c8d3ae61dddb2015dee142740536bc7481b022fe4b"},
1097
+ {file = "nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_aarch64.whl", hash = "sha256:adcaabb9d436c9761fca2b13959a2d237c5f9fd406c8e4b723c695409ff88059"},
1098
+ {file = "nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b90bed3df379fa79afbd21be8e04a0314336b8ae16768b58f2d34cb1d04cd7d2"},
1099
+ {file = "nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6574241a3ec5fdc9334353ab8c479fe75841dbe8f4532a8fc97ce63503330ba1"},
1100
+ {file = "nvidia_nvtx_cu12-12.6.77-py3-none-win_amd64.whl", hash = "sha256:2fb11a4af04a5e6c84073e6404d26588a34afd35379f0855a99797897efa75c0"},
1101
+ ]
1102
+
1103
  [[package]]
1104
  name = "openai"
1105
  version = "1.79.0"
 
1201
  {file = "pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667"},
1202
  ]
1203
 
1204
+ [[package]]
1205
+ name = "pillow"
1206
+ version = "11.2.1"
1207
+ requires_python = ">=3.9"
1208
+ summary = "Python Imaging Library (Fork)"
1209
+ groups = ["default"]
1210
+ files = [
1211
+ {file = "pillow-11.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:78afba22027b4accef10dbd5eed84425930ba41b3ea0a86fa8d20baaf19d807f"},
1212
+ {file = "pillow-11.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:78092232a4ab376a35d68c4e6d5e00dfd73454bd12b230420025fbe178ee3b0b"},
1213
+ {file = "pillow-11.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25a5f306095c6780c52e6bbb6109624b95c5b18e40aab1c3041da3e9e0cd3e2d"},
1214
+ {file = "pillow-11.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c7b29dbd4281923a2bfe562acb734cee96bbb129e96e6972d315ed9f232bef4"},
1215
+ {file = "pillow-11.2.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:3e645b020f3209a0181a418bffe7b4a93171eef6c4ef6cc20980b30bebf17b7d"},
1216
+ {file = "pillow-11.2.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b2dbea1012ccb784a65349f57bbc93730b96e85b42e9bf7b01ef40443db720b4"},
1217
+ {file = "pillow-11.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:da3104c57bbd72948d75f6a9389e6727d2ab6333c3617f0a89d72d4940aa0443"},
1218
+ {file = "pillow-11.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:598174aef4589af795f66f9caab87ba4ff860ce08cd5bb447c6fc553ffee603c"},
1219
+ {file = "pillow-11.2.1-cp312-cp312-win32.whl", hash = "sha256:1d535df14716e7f8776b9e7fee118576d65572b4aad3ed639be9e4fa88a1cad3"},
1220
+ {file = "pillow-11.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:14e33b28bf17c7a38eede290f77db7c664e4eb01f7869e37fa98a5aa95978941"},
1221
+ {file = "pillow-11.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:21e1470ac9e5739ff880c211fc3af01e3ae505859392bf65458c224d0bf283eb"},
1222
+ {file = "pillow-11.2.1.tar.gz", hash = "sha256:a64dd61998416367b7ef979b73d3a85853ba9bec4c2925f74e588879a58716b6"},
1223
+ ]
1224
+
1225
+ [[package]]
1226
+ name = "primp"
1227
+ version = "0.15.0"
1228
+ requires_python = ">=3.8"
1229
+ summary = "HTTP client that can impersonate web browsers, mimicking their headers and `TLS/JA3/JA4/HTTP2` fingerprints"
1230
+ groups = ["default"]
1231
+ files = [
1232
+ {file = "primp-0.15.0-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:1b281f4ca41a0c6612d4c6e68b96e28acfe786d226a427cd944baa8d7acd644f"},
1233
+ {file = "primp-0.15.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:489cbab55cd793ceb8f90bb7423c6ea64ebb53208ffcf7a044138e3c66d77299"},
1234
+ {file = "primp-0.15.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c18b45c23f94016215f62d2334552224236217aaeb716871ce0e4dcfa08eb161"},
1235
+ {file = "primp-0.15.0-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:e985a9cba2e3f96a323722e5440aa9eccaac3178e74b884778e926b5249df080"},
1236
+ {file = "primp-0.15.0-cp38-abi3-manylinux_2_34_armv7l.whl", hash = "sha256:6b84a6ffa083e34668ff0037221d399c24d939b5629cd38223af860de9e17a83"},
1237
+ {file = "primp-0.15.0-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:592f6079646bdf5abbbfc3b0a28dac8de943f8907a250ce09398cda5eaebd260"},
1238
+ {file = "primp-0.15.0-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5a728e5a05f37db6189eb413d22c78bd143fa59dd6a8a26dacd43332b3971fe8"},
1239
+ {file = "primp-0.15.0-cp38-abi3-win_amd64.whl", hash = "sha256:aeb6bd20b06dfc92cfe4436939c18de88a58c640752cf7f30d9e4ae893cdec32"},
1240
+ {file = "primp-0.15.0.tar.gz", hash = "sha256:1af8ea4b15f57571ff7fc5e282a82c5eb69bc695e19b8ddeeda324397965b30a"},
1241
+ ]
1242
+
1243
+ [[package]]
1244
+ name = "propcache"
1245
+ version = "0.3.1"
1246
+ requires_python = ">=3.9"
1247
+ summary = "Accelerated property cache"
1248
+ groups = ["default"]
1249
+ files = [
1250
+ {file = "propcache-0.3.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f78eb8422acc93d7b69964012ad7048764bb45a54ba7a39bb9e146c72ea29723"},
1251
+ {file = "propcache-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:89498dd49c2f9a026ee057965cdf8192e5ae070ce7d7a7bd4b66a8e257d0c976"},
1252
+ {file = "propcache-0.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:09400e98545c998d57d10035ff623266927cb784d13dd2b31fd33b8a5316b85b"},
1253
+ {file = "propcache-0.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa8efd8c5adc5a2c9d3b952815ff8f7710cefdcaf5f2c36d26aff51aeca2f12f"},
1254
+ {file = "propcache-0.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c2fe5c910f6007e716a06d269608d307b4f36e7babee5f36533722660e8c4a70"},
1255
+ {file = "propcache-0.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a0ab8cf8cdd2194f8ff979a43ab43049b1df0b37aa64ab7eca04ac14429baeb7"},
1256
+ {file = "propcache-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:563f9d8c03ad645597b8d010ef4e9eab359faeb11a0a2ac9f7b4bc8c28ebef25"},
1257
+ {file = "propcache-0.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb6e0faf8cb6b4beea5d6ed7b5a578254c6d7df54c36ccd3d8b3eb00d6770277"},
1258
+ {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1c5c7ab7f2bb3f573d1cb921993006ba2d39e8621019dffb1c5bc94cdbae81e8"},
1259
+ {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:050b571b2e96ec942898f8eb46ea4bfbb19bd5502424747e83badc2d4a99a44e"},
1260
+ {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e1c4d24b804b3a87e9350f79e2371a705a188d292fd310e663483af6ee6718ee"},
1261
+ {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e4fe2a6d5ce975c117a6bb1e8ccda772d1e7029c1cca1acd209f91d30fa72815"},
1262
+ {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:feccd282de1f6322f56f6845bf1207a537227812f0a9bf5571df52bb418d79d5"},
1263
+ {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ec314cde7314d2dd0510c6787326bbffcbdc317ecee6b7401ce218b3099075a7"},
1264
+ {file = "propcache-0.3.1-cp312-cp312-win32.whl", hash = "sha256:7d2d5a0028d920738372630870e7d9644ce437142197f8c827194fca404bf03b"},
1265
+ {file = "propcache-0.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:88c423efef9d7a59dae0614eaed718449c09a5ac79a5f224a8b9664d603f04a3"},
1266
+ {file = "propcache-0.3.1-py3-none-any.whl", hash = "sha256:9a8ecf38de50a7f518c21568c80f985e776397b902f1ce0b01f799aba1608b40"},
1267
+ {file = "propcache-0.3.1.tar.gz", hash = "sha256:40d980c33765359098837527e18eddefc9a24cea5b45e078a7f3bb5b032c6ecf"},
1268
+ ]
1269
+
1270
+ [[package]]
1271
+ name = "pyarrow"
1272
+ version = "20.0.0"
1273
+ requires_python = ">=3.9"
1274
+ summary = "Python library for Apache Arrow"
1275
+ groups = ["default"]
1276
+ files = [
1277
+ {file = "pyarrow-20.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:75a51a5b0eef32727a247707d4755322cb970be7e935172b6a3a9f9ae98404ba"},
1278
+ {file = "pyarrow-20.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:211d5e84cecc640c7a3ab900f930aaff5cd2702177e0d562d426fb7c4f737781"},
1279
+ {file = "pyarrow-20.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ba3cf4182828be7a896cbd232aa8dd6a31bd1f9e32776cc3796c012855e1199"},
1280
+ {file = "pyarrow-20.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c3a01f313ffe27ac4126f4c2e5ea0f36a5fc6ab51f8726cf41fee4b256680bd"},
1281
+ {file = "pyarrow-20.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:a2791f69ad72addd33510fec7bb14ee06c2a448e06b649e264c094c5b5f7ce28"},
1282
+ {file = "pyarrow-20.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4250e28a22302ce8692d3a0e8ec9d9dde54ec00d237cff4dfa9c1fbf79e472a8"},
1283
+ {file = "pyarrow-20.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:89e030dc58fc760e4010148e6ff164d2f44441490280ef1e97a542375e41058e"},
1284
+ {file = "pyarrow-20.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6102b4864d77102dbbb72965618e204e550135a940c2534711d5ffa787df2a5a"},
1285
+ {file = "pyarrow-20.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:96d6a0a37d9c98be08f5ed6a10831d88d52cac7b13f5287f1e0f625a0de8062b"},
1286
+ {file = "pyarrow-20.0.0.tar.gz", hash = "sha256:febc4a913592573c8d5805091a6c2b5064c8bd6e002131f01061797d91c783c1"},
1287
+ ]
1288
+
1289
  [[package]]
1290
  name = "pycparser"
1291
  version = "2.22"
 
1342
  {file = "pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc"},
1343
  ]
1344
 
1345
+ [[package]]
1346
+ name = "pydantic-settings"
1347
+ version = "2.9.1"
1348
+ requires_python = ">=3.9"
1349
+ summary = "Settings management using Pydantic"
1350
+ groups = ["default"]
1351
+ dependencies = [
1352
+ "pydantic>=2.7.0",
1353
+ "python-dotenv>=0.21.0",
1354
+ "typing-inspection>=0.4.0",
1355
+ ]
1356
+ files = [
1357
+ {file = "pydantic_settings-2.9.1-py3-none-any.whl", hash = "sha256:59b4f431b1defb26fe620c71a7d3968a710d719f5f4cdbbdb7926edeb770f6ef"},
1358
+ {file = "pydantic_settings-2.9.1.tar.gz", hash = "sha256:c509bf79d27563add44e8446233359004ed85066cd096d8b510f715e6ef5d268"},
1359
+ ]
1360
+
1361
  [[package]]
1362
  name = "python-dateutil"
1363
  version = "2.9.0.post0"
 
1412
  {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"},
1413
  ]
1414
 
1415
+ [[package]]
1416
+ name = "rank-bm25"
1417
+ version = "0.2.2"
1418
+ summary = "Various BM25 algorithms for document ranking"
1419
+ groups = ["default"]
1420
+ dependencies = [
1421
+ "numpy",
1422
+ ]
1423
+ files = [
1424
+ {file = "rank_bm25-0.2.2-py3-none-any.whl", hash = "sha256:7bd4a95571adadfc271746fa146a4bcfd89c0cf731e49c3d1ad863290adbe8ae"},
1425
+ {file = "rank_bm25-0.2.2.tar.gz", hash = "sha256:096ccef76f8188563419aaf384a02f0ea459503fdf77901378d4fd9d87e5e51d"},
1426
+ ]
1427
+
1428
  [[package]]
1429
  name = "regex"
1430
  version = "2024.11.6"
 
1481
  {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"},
1482
  ]
1483
 
1484
+ [[package]]
1485
+ name = "safetensors"
1486
+ version = "0.5.3"
1487
+ requires_python = ">=3.7"
1488
+ summary = ""
1489
+ groups = ["default"]
1490
+ files = [
1491
+ {file = "safetensors-0.5.3-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:bd20eb133db8ed15b40110b7c00c6df51655a2998132193de2f75f72d99c7073"},
1492
+ {file = "safetensors-0.5.3-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:21d01c14ff6c415c485616b8b0bf961c46b3b343ca59110d38d744e577f9cce7"},
1493
+ {file = "safetensors-0.5.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11bce6164887cd491ca75c2326a113ba934be596e22b28b1742ce27b1d076467"},
1494
+ {file = "safetensors-0.5.3-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4a243be3590bc3301c821da7a18d87224ef35cbd3e5f5727e4e0728b8172411e"},
1495
+ {file = "safetensors-0.5.3-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8bd84b12b1670a6f8e50f01e28156422a2bc07fb16fc4e98bded13039d688a0d"},
1496
+ {file = "safetensors-0.5.3-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:391ac8cab7c829452175f871fcaf414aa1e292b5448bd02620f675a7f3e7abb9"},
1497
+ {file = "safetensors-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cead1fa41fc54b1e61089fa57452e8834f798cb1dc7a09ba3524f1eb08e0317a"},
1498
+ {file = "safetensors-0.5.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1077f3e94182d72618357b04b5ced540ceb71c8a813d3319f1aba448e68a770d"},
1499
+ {file = "safetensors-0.5.3-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:799021e78287bac619c7b3f3606730a22da4cda27759ddf55d37c8db7511c74b"},
1500
+ {file = "safetensors-0.5.3-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:df26da01aaac504334644e1b7642fa000bfec820e7cef83aeac4e355e03195ff"},
1501
+ {file = "safetensors-0.5.3-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:32c3ef2d7af8b9f52ff685ed0bc43913cdcde135089ae322ee576de93eae5135"},
1502
+ {file = "safetensors-0.5.3-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:37f1521be045e56fc2b54c606d4455573e717b2d887c579ee1dbba5f868ece04"},
1503
+ {file = "safetensors-0.5.3-cp38-abi3-win32.whl", hash = "sha256:cfc0ec0846dcf6763b0ed3d1846ff36008c6e7290683b61616c4b040f6a54ace"},
1504
+ {file = "safetensors-0.5.3-cp38-abi3-win_amd64.whl", hash = "sha256:836cbbc320b47e80acd40e44c8682db0e8ad7123209f69b093def21ec7cafd11"},
1505
+ {file = "safetensors-0.5.3.tar.gz", hash = "sha256:b6b0d6ecacec39a4fdd99cc19f4576f5219ce858e6fd8dbe7609df0b8dc56965"},
1506
+ ]
1507
+
1508
+ [[package]]
1509
+ name = "scikit-learn"
1510
+ version = "1.6.1"
1511
+ requires_python = ">=3.9"
1512
+ summary = "A set of python modules for machine learning and data mining"
1513
+ groups = ["default"]
1514
+ dependencies = [
1515
+ "joblib>=1.2.0",
1516
+ "numpy>=1.19.5",
1517
+ "scipy>=1.6.0",
1518
+ "threadpoolctl>=3.1.0",
1519
+ ]
1520
+ files = [
1521
+ {file = "scikit_learn-1.6.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:926f207c804104677af4857b2c609940b743d04c4c35ce0ddc8ff4f053cddc1b"},
1522
+ {file = "scikit_learn-1.6.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:2c2cae262064e6a9b77eee1c8e768fc46aa0b8338c6a8297b9b6759720ec0ff2"},
1523
+ {file = "scikit_learn-1.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1061b7c028a8663fb9a1a1baf9317b64a257fcb036dae5c8752b2abef31d136f"},
1524
+ {file = "scikit_learn-1.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e69fab4ebfc9c9b580a7a80111b43d214ab06250f8a7ef590a4edf72464dd86"},
1525
+ {file = "scikit_learn-1.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:70b1d7e85b1c96383f872a519b3375f92f14731e279a7b4c6cfd650cf5dffc52"},
1526
+ {file = "scikit_learn-1.6.1.tar.gz", hash = "sha256:b4fc2525eca2c69a59260f583c56a7557c6ccdf8deafdba6e060f94c1c59738e"},
1527
+ ]
1528
+
1529
+ [[package]]
1530
+ name = "scipy"
1531
+ version = "1.15.3"
1532
+ requires_python = ">=3.10"
1533
+ summary = "Fundamental algorithms for scientific computing in Python"
1534
+ groups = ["default"]
1535
+ dependencies = [
1536
+ "numpy<2.5,>=1.23.5",
1537
+ ]
1538
+ files = [
1539
+ {file = "scipy-1.15.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6ac6310fdbfb7aa6612408bd2f07295bcbd3fda00d2d702178434751fe48e019"},
1540
+ {file = "scipy-1.15.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:185cd3d6d05ca4b44a8f1595af87f9c372bb6acf9c808e99aa3e9aa03bd98cf6"},
1541
+ {file = "scipy-1.15.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:05dc6abcd105e1a29f95eada46d4a3f251743cfd7d3ae8ddb4088047f24ea477"},
1542
+ {file = "scipy-1.15.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:06efcba926324df1696931a57a176c80848ccd67ce6ad020c810736bfd58eb1c"},
1543
+ {file = "scipy-1.15.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05045d8b9bfd807ee1b9f38761993297b10b245f012b11b13b91ba8945f7e45"},
1544
+ {file = "scipy-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271e3713e645149ea5ea3e97b57fdab61ce61333f97cfae392c28ba786f9bb49"},
1545
+ {file = "scipy-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6cfd56fc1a8e53f6e89ba3a7a7251f7396412d655bca2aa5611c8ec9a6784a1e"},
1546
+ {file = "scipy-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ff17c0bb1cb32952c09217d8d1eed9b53d1463e5f1dd6052c7857f83127d539"},
1547
+ {file = "scipy-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:52092bc0472cfd17df49ff17e70624345efece4e1a12b23783a1ac59a1b728ed"},
1548
+ {file = "scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf"},
1549
+ ]
1550
+
1551
+ [[package]]
1552
+ name = "sentence-transformers"
1553
+ version = "4.1.0"
1554
+ requires_python = ">=3.9"
1555
+ summary = "Embeddings, Retrieval, and Reranking"
1556
+ groups = ["default"]
1557
+ dependencies = [
1558
+ "Pillow",
1559
+ "huggingface-hub>=0.20.0",
1560
+ "scikit-learn",
1561
+ "scipy",
1562
+ "torch>=1.11.0",
1563
+ "tqdm",
1564
+ "transformers<5.0.0,>=4.41.0",
1565
+ "typing-extensions>=4.5.0",
1566
+ ]
1567
+ files = [
1568
+ {file = "sentence_transformers-4.1.0-py3-none-any.whl", hash = "sha256:382a7f6be1244a100ce40495fb7523dbe8d71b3c10b299f81e6b735092b3b8ca"},
1569
+ {file = "sentence_transformers-4.1.0.tar.gz", hash = "sha256:f125ffd1c727533e0eca5d4567de72f84728de8f7482834de442fd90c2c3d50b"},
1570
+ ]
1571
+
1572
+ [[package]]
1573
+ name = "setuptools"
1574
+ version = "80.7.1"
1575
+ requires_python = ">=3.9"
1576
+ summary = "Easily download, build, install, upgrade, and uninstall Python packages"
1577
+ groups = ["default"]
1578
+ marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\" or python_version >= \"3.12\""
1579
+ files = [
1580
+ {file = "setuptools-80.7.1-py3-none-any.whl", hash = "sha256:ca5cc1069b85dc23070a6628e6bcecb3292acac802399c7f8edc0100619f9009"},
1581
+ {file = "setuptools-80.7.1.tar.gz", hash = "sha256:f6ffc5f0142b1bd8d0ca94ee91b30c0ca862ffd50826da1ea85258a06fd94552"},
1582
+ ]
1583
+
1584
  [[package]]
1585
  name = "six"
1586
  version = "1.17.0"
 
1627
  {file = "sqlalchemy-2.0.41.tar.gz", hash = "sha256:edba70118c4be3c2b1f90754d308d0b79c6fe2c0fdc52d8ddf603916f83f4db9"},
1628
  ]
1629
 
1630
+ [[package]]
1631
+ name = "sympy"
1632
+ version = "1.14.0"
1633
+ requires_python = ">=3.9"
1634
+ summary = "Computer algebra system (CAS) in Python"
1635
+ groups = ["default"]
1636
+ dependencies = [
1637
+ "mpmath<1.4,>=1.1.0",
1638
+ ]
1639
+ files = [
1640
+ {file = "sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5"},
1641
+ {file = "sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517"},
1642
+ ]
1643
+
1644
  [[package]]
1645
  name = "tenacity"
1646
  version = "9.1.2"
 
1652
  {file = "tenacity-9.1.2.tar.gz", hash = "sha256:1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb"},
1653
  ]
1654
 
1655
+ [[package]]
1656
+ name = "threadpoolctl"
1657
+ version = "3.6.0"
1658
+ requires_python = ">=3.9"
1659
+ summary = "threadpoolctl"
1660
+ groups = ["default"]
1661
+ files = [
1662
+ {file = "threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb"},
1663
+ {file = "threadpoolctl-3.6.0.tar.gz", hash = "sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e"},
1664
+ ]
1665
+
1666
  [[package]]
1667
  name = "tiktoken"
1668
  version = "0.9.0"
 
1683
  {file = "tiktoken-0.9.0.tar.gz", hash = "sha256:d02a5ca6a938e0490e1ff957bc48c8b078c88cb83977be1625b1fd8aac792c5d"},
1684
  ]
1685
 
1686
+ [[package]]
1687
+ name = "tokenizers"
1688
+ version = "0.21.1"
1689
+ requires_python = ">=3.9"
1690
+ summary = ""
1691
+ groups = ["default"]
1692
+ dependencies = [
1693
+ "huggingface-hub<1.0,>=0.16.4",
1694
+ ]
1695
+ files = [
1696
+ {file = "tokenizers-0.21.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:e78e413e9e668ad790a29456e677d9d3aa50a9ad311a40905d6861ba7692cf41"},
1697
+ {file = "tokenizers-0.21.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:cd51cd0a91ecc801633829fcd1fda9cf8682ed3477c6243b9a095539de4aecf3"},
1698
+ {file = "tokenizers-0.21.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28da6b72d4fb14ee200a1bd386ff74ade8992d7f725f2bde2c495a9a98cf4d9f"},
1699
+ {file = "tokenizers-0.21.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:34d8cfde551c9916cb92014e040806122295a6800914bab5865deb85623931cf"},
1700
+ {file = "tokenizers-0.21.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aaa852d23e125b73d283c98f007e06d4595732104b65402f46e8ef24b588d9f8"},
1701
+ {file = "tokenizers-0.21.1-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a21a15d5c8e603331b8a59548bbe113564136dc0f5ad8306dd5033459a226da0"},
1702
+ {file = "tokenizers-0.21.1-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2fdbd4c067c60a0ac7eca14b6bd18a5bebace54eb757c706b47ea93204f7a37c"},
1703
+ {file = "tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dd9a0061e403546f7377df940e866c3e678d7d4e9643d0461ea442b4f89e61a"},
1704
+ {file = "tokenizers-0.21.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:db9484aeb2e200c43b915a1a0150ea885e35f357a5a8fabf7373af333dcc8dbf"},
1705
+ {file = "tokenizers-0.21.1-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ed248ab5279e601a30a4d67bdb897ecbe955a50f1e7bb62bd99f07dd11c2f5b6"},
1706
+ {file = "tokenizers-0.21.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:9ac78b12e541d4ce67b4dfd970e44c060a2147b9b2a21f509566d556a509c67d"},
1707
+ {file = "tokenizers-0.21.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:e5a69c1a4496b81a5ee5d2c1f3f7fbdf95e90a0196101b0ee89ed9956b8a168f"},
1708
+ {file = "tokenizers-0.21.1-cp39-abi3-win32.whl", hash = "sha256:1039a3a5734944e09de1d48761ade94e00d0fa760c0e0551151d4dd851ba63e3"},
1709
+ {file = "tokenizers-0.21.1-cp39-abi3-win_amd64.whl", hash = "sha256:0f0dcbcc9f6e13e675a66d7a5f2f225a736745ce484c1a4e07476a89ccdad382"},
1710
+ {file = "tokenizers-0.21.1.tar.gz", hash = "sha256:a1bb04dc5b448985f86ecd4b05407f5a8d97cb2c0532199b2a302a604a0165ab"},
1711
+ ]
1712
+
1713
+ [[package]]
1714
+ name = "torch"
1715
+ version = "2.7.0"
1716
+ requires_python = ">=3.9.0"
1717
+ summary = "Tensors and Dynamic neural networks in Python with strong GPU acceleration"
1718
+ groups = ["default"]
1719
+ dependencies = [
1720
+ "filelock",
1721
+ "fsspec",
1722
+ "jinja2",
1723
+ "networkx",
1724
+ "nvidia-cublas-cu12==12.6.4.1; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
1725
+ "nvidia-cuda-cupti-cu12==12.6.80; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
1726
+ "nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
1727
+ "nvidia-cuda-runtime-cu12==12.6.77; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
1728
+ "nvidia-cudnn-cu12==9.5.1.17; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
1729
+ "nvidia-cufft-cu12==11.3.0.4; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
1730
+ "nvidia-cufile-cu12==1.11.1.6; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
1731
+ "nvidia-curand-cu12==10.3.7.77; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
1732
+ "nvidia-cusolver-cu12==11.7.1.2; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
1733
+ "nvidia-cusparse-cu12==12.5.4.2; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
1734
+ "nvidia-cusparselt-cu12==0.6.3; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
1735
+ "nvidia-nccl-cu12==2.26.2; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
1736
+ "nvidia-nvjitlink-cu12==12.6.85; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
1737
+ "nvidia-nvtx-cu12==12.6.77; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
1738
+ "setuptools; python_version >= \"3.12\"",
1739
+ "sympy>=1.13.3",
1740
+ "triton==3.3.0; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
1741
+ "typing-extensions>=4.10.0",
1742
+ ]
1743
+ files = [
1744
+ {file = "torch-2.7.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:36a6368c7ace41ad1c0f69f18056020b6a5ca47bedaca9a2f3b578f5a104c26c"},
1745
+ {file = "torch-2.7.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:15aab3e31c16feb12ae0a88dba3434a458874636f360c567caa6a91f6bfba481"},
1746
+ {file = "torch-2.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:f56d4b2510934e072bab3ab8987e00e60e1262fb238176168f5e0c43a1320c6d"},
1747
+ {file = "torch-2.7.0-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:30b7688a87239a7de83f269333651d8e582afffce6f591fff08c046f7787296e"},
1748
+ ]
1749
+
1750
  [[package]]
1751
  name = "tqdm"
1752
  version = "4.67.1"
 
1761
  {file = "tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2"},
1762
  ]
1763
 
1764
+ [[package]]
1765
+ name = "transformers"
1766
+ version = "4.51.3"
1767
+ requires_python = ">=3.9.0"
1768
+ summary = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow"
1769
+ groups = ["default"]
1770
+ dependencies = [
1771
+ "filelock",
1772
+ "huggingface-hub<1.0,>=0.30.0",
1773
+ "numpy>=1.17",
1774
+ "packaging>=20.0",
1775
+ "pyyaml>=5.1",
1776
+ "regex!=2019.12.17",
1777
+ "requests",
1778
+ "safetensors>=0.4.3",
1779
+ "tokenizers<0.22,>=0.21",
1780
+ "tqdm>=4.27",
1781
+ ]
1782
+ files = [
1783
+ {file = "transformers-4.51.3-py3-none-any.whl", hash = "sha256:fd3279633ceb2b777013234bbf0b4f5c2d23c4626b05497691f00cfda55e8a83"},
1784
+ {file = "transformers-4.51.3.tar.gz", hash = "sha256:e292fcab3990c6defe6328f0f7d2004283ca81a7a07b2de9a46d67fd81ea1409"},
1785
+ ]
1786
+
1787
+ [[package]]
1788
+ name = "triton"
1789
+ version = "3.3.0"
1790
+ summary = "A language and compiler for custom Deep Learning operations"
1791
+ groups = ["default"]
1792
+ marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
1793
+ dependencies = [
1794
+ "setuptools>=40.8.0",
1795
+ ]
1796
+ files = [
1797
+ {file = "triton-3.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b68c778f6c4218403a6bd01be7484f6dc9e20fe2083d22dd8aef33e3b87a10a3"},
1798
+ ]
1799
+
1800
  [[package]]
1801
  name = "typing-extensions"
1802
  version = "4.13.2"
 
1808
  {file = "typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef"},
1809
  ]
1810
 
1811
+ [[package]]
1812
+ name = "typing-inspect"
1813
+ version = "0.9.0"
1814
+ summary = "Runtime inspection utilities for typing module."
1815
+ groups = ["default"]
1816
+ dependencies = [
1817
+ "mypy-extensions>=0.3.0",
1818
+ "typing-extensions>=3.7.4",
1819
+ "typing>=3.7.4; python_version < \"3.5\"",
1820
+ ]
1821
+ files = [
1822
+ {file = "typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f"},
1823
+ {file = "typing_inspect-0.9.0.tar.gz", hash = "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78"},
1824
+ ]
1825
+
1826
  [[package]]
1827
  name = "typing-inspection"
1828
  version = "0.4.0"
 
1884
  {file = "xxhash-3.5.0.tar.gz", hash = "sha256:84f2caddf951c9cbf8dc2e22a89d4ccf5d86391ac6418fe81e3c67d0cf60b45f"},
1885
  ]
1886
 
1887
+ [[package]]
1888
+ name = "yarl"
1889
+ version = "1.20.0"
1890
+ requires_python = ">=3.9"
1891
+ summary = "Yet another URL library"
1892
+ groups = ["default"]
1893
+ dependencies = [
1894
+ "idna>=2.0",
1895
+ "multidict>=4.0",
1896
+ "propcache>=0.2.1",
1897
+ ]
1898
+ files = [
1899
+ {file = "yarl-1.20.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e06b9f6cdd772f9b665e5ba8161968e11e403774114420737f7884b5bd7bdf6f"},
1900
+ {file = "yarl-1.20.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b9ae2fbe54d859b3ade40290f60fe40e7f969d83d482e84d2c31b9bff03e359e"},
1901
+ {file = "yarl-1.20.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6d12b8945250d80c67688602c891237994d203d42427cb14e36d1a732eda480e"},
1902
+ {file = "yarl-1.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:087e9731884621b162a3e06dc0d2d626e1542a617f65ba7cc7aeab279d55ad33"},
1903
+ {file = "yarl-1.20.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:69df35468b66c1a6e6556248e6443ef0ec5f11a7a4428cf1f6281f1879220f58"},
1904
+ {file = "yarl-1.20.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b2992fe29002fd0d4cbaea9428b09af9b8686a9024c840b8a2b8f4ea4abc16f"},
1905
+ {file = "yarl-1.20.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4c903e0b42aab48abfbac668b5a9d7b6938e721a6341751331bcd7553de2dcae"},
1906
+ {file = "yarl-1.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf099e2432131093cc611623e0b0bcc399b8cddd9a91eded8bfb50402ec35018"},
1907
+ {file = "yarl-1.20.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a7f62f5dc70a6c763bec9ebf922be52aa22863d9496a9a30124d65b489ea672"},
1908
+ {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:54ac15a8b60382b2bcefd9a289ee26dc0920cf59b05368c9b2b72450751c6eb8"},
1909
+ {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:25b3bc0763a7aca16a0f1b5e8ef0f23829df11fb539a1b70476dcab28bd83da7"},
1910
+ {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b2586e36dc070fc8fad6270f93242124df68b379c3a251af534030a4a33ef594"},
1911
+ {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:866349da9d8c5290cfefb7fcc47721e94de3f315433613e01b435473be63daa6"},
1912
+ {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:33bb660b390a0554d41f8ebec5cd4475502d84104b27e9b42f5321c5192bfcd1"},
1913
+ {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:737e9f171e5a07031cbee5e9180f6ce21a6c599b9d4b2c24d35df20a52fabf4b"},
1914
+ {file = "yarl-1.20.0-cp312-cp312-win32.whl", hash = "sha256:839de4c574169b6598d47ad61534e6981979ca2c820ccb77bf70f4311dd2cc64"},
1915
+ {file = "yarl-1.20.0-cp312-cp312-win_amd64.whl", hash = "sha256:3d7dbbe44b443b0c4aa0971cb07dcb2c2060e4a9bf8d1301140a33a93c98e18c"},
1916
+ {file = "yarl-1.20.0-py3-none-any.whl", hash = "sha256:5d0fe6af927a47a230f31e6004621fd0959eaa915fc62acfafa67ff7229a3124"},
1917
+ {file = "yarl-1.20.0.tar.gz", hash = "sha256:686d51e51ee5dfe62dec86e4866ee0e9ed66df700d55c828a615640adc885307"},
1918
+ ]
1919
+
1920
  [[package]]
1921
  name = "zstandard"
1922
  version = "0.23.0"
pyproject.toml CHANGED
@@ -5,7 +5,7 @@ description = "Default template for PDM package"
5
  authors = [
6
  {name = "Supphawit_Golf", email = "supphawit.n@gmail.com"},
7
  ]
8
- dependencies = ["langchain>=0.3.25", "huggingface-hub>=0.31.2", "pandas>=2.2.3", "langgraph>=0.4.5", "langchain-openai>=0.3.17", "dotenv>=0.9.9"]
9
  requires-python = "==3.12.*"
10
  readme = "README.md"
11
  license = {text = "MIT"}
 
5
  authors = [
6
  {name = "Supphawit_Golf", email = "supphawit.n@gmail.com"},
7
  ]
8
+ dependencies = ["langchain>=0.3.25", "huggingface-hub>=0.31.2", "pandas>=2.2.3", "langgraph>=0.4.5", "langchain-openai>=0.3.17", "dotenv>=0.9.9", "datasets>=3.6.0", "langchain-community>=0.3.24", "rank-bm25>=0.2.2", "langchain-huggingface>=0.2.0", "duckduckgo-search>=8.0.2", "requests>=2.32.3"]
9
  requires-python = "==3.12.*"
10
  readme = "README.md"
11
  license = {text = "MIT"}