updated ragas
Browse files- app.py +55 -8
- pyproject.toml +1 -0
- uv.lock +223 -0
app.py
CHANGED
@@ -10,8 +10,11 @@ from langchain_core.messages import HumanMessage
|
|
10 |
from langgraph.graph.message import add_messages
|
11 |
from qdrant_client import QdrantClient
|
12 |
from langchain_openai import OpenAIEmbeddings
|
13 |
-
|
14 |
import os
|
|
|
|
|
|
|
|
|
15 |
|
16 |
load_dotenv()
|
17 |
|
@@ -20,7 +23,6 @@ llm = ChatOpenAI(model="gpt-4o-mini")
|
|
20 |
qd_api_key = os.getenv("QDRANT_CLOUD_API_KEY")
|
21 |
|
22 |
|
23 |
-
|
24 |
embedding_model = OpenAIEmbeddings(model="text-embedding-3-small")
|
25 |
|
26 |
# ✅ Initialize Qdrant Client
|
@@ -57,6 +59,47 @@ def search(query_vector, top_k=1) -> list:
|
|
57 |
|
58 |
return return_hits
|
59 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
def get_document_by_name(doc_name: str) -> str:
|
61 |
"""Retrieve the raw HTML content of a document by its name from the `data/` folder."""
|
62 |
|
@@ -138,30 +181,34 @@ format_prompt = ChatPromptTemplate.from_template(ot_formatted_prompt)
|
|
138 |
def research_node(state) -> dict:
|
139 |
question = state["messages"][-1].content
|
140 |
|
141 |
-
# ✅ Convert the text question to an embedding using
|
142 |
query_vector = embedding_model.embed_query(question)
|
143 |
|
144 |
# ✅ Query Qdrant with the vector
|
145 |
relevant_docs = search(query_vector=query_vector, top_k=1)
|
146 |
|
147 |
-
|
|
|
|
|
|
|
148 |
# ✅ Found relevant document → Summarize it
|
149 |
-
# we will pull our document data from a html file since HF will not let me upload pdfs
|
150 |
document_name = relevant_docs[0]["metadata"].get("document_name", "No source available.")
|
151 |
document_text = get_document_by_name(document_name)
|
152 |
-
|
153 |
messages = summary_prompt.format_messages(document=document_text)
|
154 |
response = llm.invoke(messages)
|
155 |
|
156 |
return {**state, "messages": state["messages"] + [HumanMessage(content=response.content)], "_next": "post_processing"}
|
157 |
-
|
158 |
else:
|
159 |
-
# ✅ No relevant document → Query LLM
|
|
|
160 |
messages = rag_prompt.format_messages(question=question, context="No relevant documents found.")
|
161 |
response = llm.invoke(messages)
|
162 |
|
163 |
return {**state, "messages": state["messages"] + [HumanMessage(content=response.content)], "_next": "post_processing"}
|
164 |
|
|
|
165 |
# **Post-Processing Node: Formats response using `ot_formatted_prompt`**
|
166 |
def post_processing_node(state) -> dict:
|
167 |
response_text = state["messages"][-1].content
|
|
|
10 |
from langgraph.graph.message import add_messages
|
11 |
from qdrant_client import QdrantClient
|
12 |
from langchain_openai import OpenAIEmbeddings
|
|
|
13 |
import os
|
14 |
+
from ragas import evaluate
|
15 |
+
from ragas.metrics import answer_relevancy
|
16 |
+
from langchain_core.documents import Document
|
17 |
+
|
18 |
|
19 |
load_dotenv()
|
20 |
|
|
|
23 |
qd_api_key = os.getenv("QDRANT_CLOUD_API_KEY")
|
24 |
|
25 |
|
|
|
26 |
embedding_model = OpenAIEmbeddings(model="text-embedding-3-small")
|
27 |
|
28 |
# ✅ Initialize Qdrant Client
|
|
|
59 |
|
60 |
return return_hits
|
61 |
|
62 |
+
def evaluate_retrieved_docs(question: str, retrieved_docs: list):
|
63 |
+
"""Evaluate the retrieved documents using RAGAS metrics."""
|
64 |
+
|
65 |
+
# ✅ Extract document content from metadata
|
66 |
+
ragas_docs = [
|
67 |
+
Document(page_content=hit["metadata"].get("content", ""))
|
68 |
+
for hit in retrieved_docs
|
69 |
+
if "content" in hit["metadata"] and hit["metadata"]["content"]
|
70 |
+
]
|
71 |
+
|
72 |
+
# 🚨 Debugging Output
|
73 |
+
print("🔍 Debug: RAGAS Docs Format:", ragas_docs)
|
74 |
+
|
75 |
+
if not ragas_docs:
|
76 |
+
print("⚠️ No relevant documents to evaluate.")
|
77 |
+
return 0 # Return low score if no documents found
|
78 |
+
|
79 |
+
# ✅ Construct required input
|
80 |
+
queries = [question]
|
81 |
+
contexts = [[doc.page_content for doc in ragas_docs]]
|
82 |
+
|
83 |
+
print("✅ Debug: Queries ->", queries)
|
84 |
+
print("✅ Debug: Contexts ->", contexts)
|
85 |
+
|
86 |
+
# ✅ Run evaluation
|
87 |
+
scores = evaluate(
|
88 |
+
queries=queries,
|
89 |
+
contexts=contexts,
|
90 |
+
metrics=[answer_relevancy]
|
91 |
+
)
|
92 |
+
|
93 |
+
print("📊 Debug: Raw Scores Output ->", scores)
|
94 |
+
|
95 |
+
relevance_score = scores.iloc[0]["answer_relevancy"]
|
96 |
+
print(f"📊 RAGAS Answer Relevancy Score: {relevance_score}")
|
97 |
+
|
98 |
+
return relevance_score
|
99 |
+
|
100 |
+
|
101 |
+
|
102 |
+
|
103 |
def get_document_by_name(doc_name: str) -> str:
|
104 |
"""Retrieve the raw HTML content of a document by its name from the `data/` folder."""
|
105 |
|
|
|
181 |
def research_node(state) -> dict:
|
182 |
question = state["messages"][-1].content
|
183 |
|
184 |
+
# ✅ Convert the text question to an embedding using OpenAI Embeddings
|
185 |
query_vector = embedding_model.embed_query(question)
|
186 |
|
187 |
# ✅ Query Qdrant with the vector
|
188 |
relevant_docs = search(query_vector=query_vector, top_k=1)
|
189 |
|
190 |
+
# ✅ Evaluate retrieved documents using RAGAS
|
191 |
+
relevance_score = evaluate_retrieved_docs(question, relevant_docs)
|
192 |
+
|
193 |
+
if relevance_score > 0.5: # Threshold for good retrieval quality
|
194 |
# ✅ Found relevant document → Summarize it
|
|
|
195 |
document_name = relevant_docs[0]["metadata"].get("document_name", "No source available.")
|
196 |
document_text = get_document_by_name(document_name)
|
197 |
+
|
198 |
messages = summary_prompt.format_messages(document=document_text)
|
199 |
response = llm.invoke(messages)
|
200 |
|
201 |
return {**state, "messages": state["messages"] + [HumanMessage(content=response.content)], "_next": "post_processing"}
|
202 |
+
|
203 |
else:
|
204 |
+
# ✅ No relevant document or low RAGAS score → Query LLM directly
|
205 |
+
print("⚠️ RAGAS score too low, defaulting to LLM.")
|
206 |
messages = rag_prompt.format_messages(question=question, context="No relevant documents found.")
|
207 |
response = llm.invoke(messages)
|
208 |
|
209 |
return {**state, "messages": state["messages"] + [HumanMessage(content=response.content)], "_next": "post_processing"}
|
210 |
|
211 |
+
|
212 |
# **Post-Processing Node: Formats response using `ot_formatted_prompt`**
|
213 |
def post_processing_node(state) -> dict:
|
214 |
response_text = state["messages"][-1].content
|
pyproject.toml
CHANGED
@@ -13,6 +13,7 @@ dependencies = [
|
|
13 |
"langgraph>=0.2.74",
|
14 |
"nltk>=3.9.1",
|
15 |
"qdrant-client>=1.13.2",
|
|
|
16 |
"unstructured>=0.14.8",
|
17 |
"websockets>=15.0",
|
18 |
]
|
|
|
13 |
"langgraph>=0.2.74",
|
14 |
"nltk>=3.9.1",
|
15 |
"qdrant-client>=1.13.2",
|
16 |
+
"ragas>=0.2.13",
|
17 |
"unstructured>=0.14.8",
|
18 |
"websockets>=15.0",
|
19 |
]
|
uv.lock
CHANGED
@@ -86,6 +86,15 @@ wheels = [
|
|
86 |
{ url = "https://files.pythonhosted.org/packages/46/eb/e7f063ad1fec6b3178a3cd82d1a3c4de82cccf283fc42746168188e1cdd5/anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a", size = 96041 },
|
87 |
]
|
88 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
[[package]]
|
90 |
name = "asyncer"
|
91 |
version = "0.0.7"
|
@@ -311,6 +320,31 @@ wheels = [
|
|
311 |
{ url = "https://files.pythonhosted.org/packages/c3/be/d0d44e092656fe7a06b55e6103cbce807cdbdee17884a5367c68c9860853/dataclasses_json-0.6.7-py3-none-any.whl", hash = "sha256:0dbf33f26c8d5305befd61b39d2b3414e8a407bedc2834dea9b8d642666fb40a", size = 28686 },
|
312 |
]
|
313 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
314 |
[[package]]
|
315 |
name = "deepdiff"
|
316 |
version = "8.2.0"
|
@@ -335,6 +369,24 @@ wheels = [
|
|
335 |
{ url = "https://files.pythonhosted.org/packages/6e/c6/ac0b6c1e2d138f1002bcf799d330bd6d85084fece321e662a14223794041/Deprecated-1.2.18-py2.py3-none-any.whl", hash = "sha256:bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec", size = 9998 },
|
336 |
]
|
337 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
338 |
[[package]]
|
339 |
name = "distro"
|
340 |
version = "1.9.0"
|
@@ -367,6 +419,15 @@ wheels = [
|
|
367 |
{ url = "https://files.pythonhosted.org/packages/8f/7d/2d6ce181d7a5f51dedb8c06206cbf0ec026a99bf145edd309f9e17c3282f/fastapi-0.115.8-py3-none-any.whl", hash = "sha256:753a96dd7e036b34eeef8babdfcfe3f28ff79648f86551eb36bfc1b0bf4a8cbf", size = 94814 },
|
368 |
]
|
369 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
370 |
[[package]]
|
371 |
name = "filetype"
|
372 |
version = "1.2.0"
|
@@ -400,6 +461,20 @@ wheels = [
|
|
400 |
{ url = "https://files.pythonhosted.org/packages/c6/c8/a5be5b7550c10858fcf9b0ea054baccab474da77d37f1e828ce043a3a5d4/frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3", size = 11901 },
|
401 |
]
|
402 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
403 |
[[package]]
|
404 |
name = "googleapis-common-protos"
|
405 |
version = "1.68.0"
|
@@ -548,6 +623,24 @@ wheels = [
|
|
548 |
{ url = "https://files.pythonhosted.org/packages/e1/9b/a181f281f65d776426002f330c31849b86b31fc9d848db62e16f03ff739f/httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f", size = 7819 },
|
549 |
]
|
550 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
551 |
[[package]]
|
552 |
name = "hyperframe"
|
553 |
version = "6.1.0"
|
@@ -910,6 +1003,22 @@ wheels = [
|
|
910 |
{ url = "https://files.pythonhosted.org/packages/99/b7/b9e70fde2c0f0c9af4cc5277782a89b66d35948ea3369ec9f598358c3ac5/multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506", size = 10051 },
|
911 |
]
|
912 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
913 |
[[package]]
|
914 |
name = "mypy-extensions"
|
915 |
version = "1.0.0"
|
@@ -1161,6 +1270,7 @@ dependencies = [
|
|
1161 |
{ name = "langgraph" },
|
1162 |
{ name = "nltk" },
|
1163 |
{ name = "qdrant-client" },
|
|
|
1164 |
{ name = "unstructured" },
|
1165 |
{ name = "websockets" },
|
1166 |
]
|
@@ -1175,6 +1285,7 @@ requires-dist = [
|
|
1175 |
{ name = "langgraph", specifier = ">=0.2.74" },
|
1176 |
{ name = "nltk", specifier = ">=3.9.1" },
|
1177 |
{ name = "qdrant-client", specifier = ">=1.13.2" },
|
|
|
1178 |
{ name = "unstructured", specifier = ">=0.14.8" },
|
1179 |
{ name = "websockets", specifier = ">=15.0" },
|
1180 |
]
|
@@ -1188,6 +1299,33 @@ wheels = [
|
|
1188 |
{ url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 },
|
1189 |
]
|
1190 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1191 |
[[package]]
|
1192 |
name = "portalocker"
|
1193 |
version = "2.10.1"
|
@@ -1255,6 +1393,27 @@ wheels = [
|
|
1255 |
{ url = "https://files.pythonhosted.org/packages/fd/b2/ab07b09e0f6d143dfb839693aa05765257bceaa13d03bf1a696b78323e7a/protobuf-5.29.3-py3-none-any.whl", hash = "sha256:0a18ed4a24198528f2333802eb075e59dea9d679ab7a6c5efb017a59004d849f", size = 172550 },
|
1256 |
]
|
1257 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1258 |
[[package]]
|
1259 |
name = "pycparser"
|
1260 |
version = "2.22"
|
@@ -1407,6 +1566,15 @@ wheels = [
|
|
1407 |
{ url = "https://files.pythonhosted.org/packages/8a/a3/c69806f30dd81df5a99d592e7db4c930c3a9b098555aa97b0eb866b20b11/python_socketio-5.12.1-py3-none-any.whl", hash = "sha256:24a0ea7cfff0e021eb28c68edbf7914ee4111bdf030b95e4d250c4dc9af7a386", size = 76947 },
|
1408 |
]
|
1409 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1410 |
[[package]]
|
1411 |
name = "pywin32"
|
1412 |
version = "308"
|
@@ -1452,6 +1620,29 @@ wheels = [
|
|
1452 |
{ url = "https://files.pythonhosted.org/packages/5f/26/89ebaee5fcbd99bf1c0a627a9447b440118b2d31dea423d074cb0481be5c/qdrant_client-1.13.2-py3-none-any.whl", hash = "sha256:db97e759bd3f8d483a383984ba4c2a158eef56f2188d83df7771591d43de2201", size = 306637 },
|
1453 |
]
|
1454 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1455 |
[[package]]
|
1456 |
name = "rapidfuzz"
|
1457 |
version = "3.12.1"
|
@@ -1701,6 +1892,15 @@ wheels = [
|
|
1701 |
{ url = "https://files.pythonhosted.org/packages/65/f3/107a22063bf27bdccf2024833d3445f4eea42b2e598abfbd46f6a63b6cb0/typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f", size = 8827 },
|
1702 |
]
|
1703 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1704 |
[[package]]
|
1705 |
name = "unstructured"
|
1706 |
version = "0.14.8"
|
@@ -1886,6 +2086,29 @@ wheels = [
|
|
1886 |
{ url = "https://files.pythonhosted.org/packages/78/58/e860788190eba3bcce367f74d29c4675466ce8dddfba85f7827588416f01/wsproto-1.2.0-py3-none-any.whl", hash = "sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736", size = 24226 },
|
1887 |
]
|
1888 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1889 |
[[package]]
|
1890 |
name = "yarl"
|
1891 |
version = "1.18.3"
|
|
|
86 |
{ url = "https://files.pythonhosted.org/packages/46/eb/e7f063ad1fec6b3178a3cd82d1a3c4de82cccf283fc42746168188e1cdd5/anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a", size = 96041 },
|
87 |
]
|
88 |
|
89 |
+
[[package]]
|
90 |
+
name = "appdirs"
|
91 |
+
version = "1.4.4"
|
92 |
+
source = { registry = "https://pypi.org/simple" }
|
93 |
+
sdist = { url = "https://files.pythonhosted.org/packages/d7/d8/05696357e0311f5b5c316d7b95f46c669dd9c15aaeecbb48c7d0aeb88c40/appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41", size = 13470 }
|
94 |
+
wheels = [
|
95 |
+
{ url = "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128", size = 9566 },
|
96 |
+
]
|
97 |
+
|
98 |
[[package]]
|
99 |
name = "asyncer"
|
100 |
version = "0.0.7"
|
|
|
320 |
{ url = "https://files.pythonhosted.org/packages/c3/be/d0d44e092656fe7a06b55e6103cbce807cdbdee17884a5367c68c9860853/dataclasses_json-0.6.7-py3-none-any.whl", hash = "sha256:0dbf33f26c8d5305befd61b39d2b3414e8a407bedc2834dea9b8d642666fb40a", size = 28686 },
|
321 |
]
|
322 |
|
323 |
+
[[package]]
|
324 |
+
name = "datasets"
|
325 |
+
version = "3.3.2"
|
326 |
+
source = { registry = "https://pypi.org/simple" }
|
327 |
+
dependencies = [
|
328 |
+
{ name = "aiohttp" },
|
329 |
+
{ name = "dill" },
|
330 |
+
{ name = "filelock" },
|
331 |
+
{ name = "fsspec", extra = ["http"] },
|
332 |
+
{ name = "huggingface-hub" },
|
333 |
+
{ name = "multiprocess" },
|
334 |
+
{ name = "numpy" },
|
335 |
+
{ name = "packaging" },
|
336 |
+
{ name = "pandas" },
|
337 |
+
{ name = "pyarrow" },
|
338 |
+
{ name = "pyyaml" },
|
339 |
+
{ name = "requests" },
|
340 |
+
{ name = "tqdm" },
|
341 |
+
{ name = "xxhash" },
|
342 |
+
]
|
343 |
+
sdist = { url = "https://files.pythonhosted.org/packages/73/0c/dc3d172104e78e68f7a60386664adbf61db5d10c2246b31ddad06c2d1cb3/datasets-3.3.2.tar.gz", hash = "sha256:20901a97da870fb80b407ccc45f034a7ac99accd07da897ed42f11641bdb8c6e", size = 564352 }
|
344 |
+
wheels = [
|
345 |
+
{ url = "https://files.pythonhosted.org/packages/4c/37/22ef7675bef4ffe9577b937ddca2e22791534cbbe11c30714972a91532dc/datasets-3.3.2-py3-none-any.whl", hash = "sha256:fdaf3d5d70242621210b044e9b9b15a56e908bfc3e9d077bcf5605ac390f70bd", size = 485360 },
|
346 |
+
]
|
347 |
+
|
348 |
[[package]]
|
349 |
name = "deepdiff"
|
350 |
version = "8.2.0"
|
|
|
369 |
{ url = "https://files.pythonhosted.org/packages/6e/c6/ac0b6c1e2d138f1002bcf799d330bd6d85084fece321e662a14223794041/Deprecated-1.2.18-py2.py3-none-any.whl", hash = "sha256:bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec", size = 9998 },
|
370 |
]
|
371 |
|
372 |
+
[[package]]
|
373 |
+
name = "dill"
|
374 |
+
version = "0.3.8"
|
375 |
+
source = { registry = "https://pypi.org/simple" }
|
376 |
+
sdist = { url = "https://files.pythonhosted.org/packages/17/4d/ac7ffa80c69ea1df30a8aa11b3578692a5118e7cd1aa157e3ef73b092d15/dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca", size = 184847 }
|
377 |
+
wheels = [
|
378 |
+
{ url = "https://files.pythonhosted.org/packages/c9/7a/cef76fd8438a42f96db64ddaa85280485a9c395e7df3db8158cfec1eee34/dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7", size = 116252 },
|
379 |
+
]
|
380 |
+
|
381 |
+
[[package]]
|
382 |
+
name = "diskcache"
|
383 |
+
version = "5.6.3"
|
384 |
+
source = { registry = "https://pypi.org/simple" }
|
385 |
+
sdist = { url = "https://files.pythonhosted.org/packages/3f/21/1c1ffc1a039ddcc459db43cc108658f32c57d271d7289a2794e401d0fdb6/diskcache-5.6.3.tar.gz", hash = "sha256:2c3a3fa2743d8535d832ec61c2054a1641f41775aa7c556758a109941e33e4fc", size = 67916 }
|
386 |
+
wheels = [
|
387 |
+
{ url = "https://files.pythonhosted.org/packages/3f/27/4570e78fc0bf5ea0ca45eb1de3818a23787af9b390c0b0a0033a1b8236f9/diskcache-5.6.3-py3-none-any.whl", hash = "sha256:5e31b2d5fbad117cc363ebaf6b689474db18a1f6438bc82358b024abd4c2ca19", size = 45550 },
|
388 |
+
]
|
389 |
+
|
390 |
[[package]]
|
391 |
name = "distro"
|
392 |
version = "1.9.0"
|
|
|
419 |
{ url = "https://files.pythonhosted.org/packages/8f/7d/2d6ce181d7a5f51dedb8c06206cbf0ec026a99bf145edd309f9e17c3282f/fastapi-0.115.8-py3-none-any.whl", hash = "sha256:753a96dd7e036b34eeef8babdfcfe3f28ff79648f86551eb36bfc1b0bf4a8cbf", size = 94814 },
|
420 |
]
|
421 |
|
422 |
+
[[package]]
|
423 |
+
name = "filelock"
|
424 |
+
version = "3.17.0"
|
425 |
+
source = { registry = "https://pypi.org/simple" }
|
426 |
+
sdist = { url = "https://files.pythonhosted.org/packages/dc/9c/0b15fb47b464e1b663b1acd1253a062aa5feecb07d4e597daea542ebd2b5/filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e", size = 18027 }
|
427 |
+
wheels = [
|
428 |
+
{ url = "https://files.pythonhosted.org/packages/89/ec/00d68c4ddfedfe64159999e5f8a98fb8442729a63e2077eb9dcd89623d27/filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338", size = 16164 },
|
429 |
+
]
|
430 |
+
|
431 |
[[package]]
|
432 |
name = "filetype"
|
433 |
version = "1.2.0"
|
|
|
461 |
{ url = "https://files.pythonhosted.org/packages/c6/c8/a5be5b7550c10858fcf9b0ea054baccab474da77d37f1e828ce043a3a5d4/frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3", size = 11901 },
|
462 |
]
|
463 |
|
464 |
+
[[package]]
|
465 |
+
name = "fsspec"
|
466 |
+
version = "2024.12.0"
|
467 |
+
source = { registry = "https://pypi.org/simple" }
|
468 |
+
sdist = { url = "https://files.pythonhosted.org/packages/ee/11/de70dee31455c546fbc88301971ec03c328f3d1138cfba14263f651e9551/fsspec-2024.12.0.tar.gz", hash = "sha256:670700c977ed2fb51e0d9f9253177ed20cbde4a3e5c0283cc5385b5870c8533f", size = 291600 }
|
469 |
+
wheels = [
|
470 |
+
{ url = "https://files.pythonhosted.org/packages/de/86/5486b0188d08aa643e127774a99bac51ffa6cf343e3deb0583956dca5b22/fsspec-2024.12.0-py3-none-any.whl", hash = "sha256:b520aed47ad9804237ff878b504267a3b0b441e97508bd6d2d8774e3db85cee2", size = 183862 },
|
471 |
+
]
|
472 |
+
|
473 |
+
[package.optional-dependencies]
|
474 |
+
http = [
|
475 |
+
{ name = "aiohttp" },
|
476 |
+
]
|
477 |
+
|
478 |
[[package]]
|
479 |
name = "googleapis-common-protos"
|
480 |
version = "1.68.0"
|
|
|
623 |
{ url = "https://files.pythonhosted.org/packages/e1/9b/a181f281f65d776426002f330c31849b86b31fc9d848db62e16f03ff739f/httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f", size = 7819 },
|
624 |
]
|
625 |
|
626 |
+
[[package]]
|
627 |
+
name = "huggingface-hub"
|
628 |
+
version = "0.29.1"
|
629 |
+
source = { registry = "https://pypi.org/simple" }
|
630 |
+
dependencies = [
|
631 |
+
{ name = "filelock" },
|
632 |
+
{ name = "fsspec" },
|
633 |
+
{ name = "packaging" },
|
634 |
+
{ name = "pyyaml" },
|
635 |
+
{ name = "requests" },
|
636 |
+
{ name = "tqdm" },
|
637 |
+
{ name = "typing-extensions" },
|
638 |
+
]
|
639 |
+
sdist = { url = "https://files.pythonhosted.org/packages/22/37/797d6476f13e5ef6af5fc48a5d641d32b39c37e166ccf40c3714c5854a85/huggingface_hub-0.29.1.tar.gz", hash = "sha256:9524eae42077b8ff4fc459ceb7a514eca1c1232b775276b009709fe2a084f250", size = 389776 }
|
640 |
+
wheels = [
|
641 |
+
{ url = "https://files.pythonhosted.org/packages/ae/05/75b90de9093de0aadafc868bb2fa7c57651fd8f45384adf39bd77f63980d/huggingface_hub-0.29.1-py3-none-any.whl", hash = "sha256:352f69caf16566c7b6de84b54a822f6238e17ddd8ae3da4f8f2272aea5b198d5", size = 468049 },
|
642 |
+
]
|
643 |
+
|
644 |
[[package]]
|
645 |
name = "hyperframe"
|
646 |
version = "6.1.0"
|
|
|
1003 |
{ url = "https://files.pythonhosted.org/packages/99/b7/b9e70fde2c0f0c9af4cc5277782a89b66d35948ea3369ec9f598358c3ac5/multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506", size = 10051 },
|
1004 |
]
|
1005 |
|
1006 |
+
[[package]]
|
1007 |
+
name = "multiprocess"
|
1008 |
+
version = "0.70.16"
|
1009 |
+
source = { registry = "https://pypi.org/simple" }
|
1010 |
+
dependencies = [
|
1011 |
+
{ name = "dill" },
|
1012 |
+
]
|
1013 |
+
sdist = { url = "https://files.pythonhosted.org/packages/b5/ae/04f39c5d0d0def03247c2893d6f2b83c136bf3320a2154d7b8858f2ba72d/multiprocess-0.70.16.tar.gz", hash = "sha256:161af703d4652a0e1410be6abccecde4a7ddffd19341be0a7011b94aeb171ac1", size = 1772603 }
|
1014 |
+
wheels = [
|
1015 |
+
{ url = "https://files.pythonhosted.org/packages/bc/f7/7ec7fddc92e50714ea3745631f79bd9c96424cb2702632521028e57d3a36/multiprocess-0.70.16-py310-none-any.whl", hash = "sha256:c4a9944c67bd49f823687463660a2d6daae94c289adff97e0f9d696ba6371d02", size = 134824 },
|
1016 |
+
{ url = "https://files.pythonhosted.org/packages/50/15/b56e50e8debaf439f44befec5b2af11db85f6e0f344c3113ae0be0593a91/multiprocess-0.70.16-py311-none-any.whl", hash = "sha256:af4cabb0dac72abfb1e794fa7855c325fd2b55a10a44628a3c1ad3311c04127a", size = 143519 },
|
1017 |
+
{ url = "https://files.pythonhosted.org/packages/0a/7d/a988f258104dcd2ccf1ed40fdc97e26c4ac351eeaf81d76e266c52d84e2f/multiprocess-0.70.16-py312-none-any.whl", hash = "sha256:fc0544c531920dde3b00c29863377f87e1632601092ea2daca74e4beb40faa2e", size = 146741 },
|
1018 |
+
{ url = "https://files.pythonhosted.org/packages/ea/89/38df130f2c799090c978b366cfdf5b96d08de5b29a4a293df7f7429fa50b/multiprocess-0.70.16-py38-none-any.whl", hash = "sha256:a71d82033454891091a226dfc319d0cfa8019a4e888ef9ca910372a446de4435", size = 132628 },
|
1019 |
+
{ url = "https://files.pythonhosted.org/packages/da/d9/f7f9379981e39b8c2511c9e0326d212accacb82f12fbfdc1aa2ce2a7b2b6/multiprocess-0.70.16-py39-none-any.whl", hash = "sha256:a0bafd3ae1b732eac64be2e72038231c1ba97724b60b09400d68f229fcc2fbf3", size = 133351 },
|
1020 |
+
]
|
1021 |
+
|
1022 |
[[package]]
|
1023 |
name = "mypy-extensions"
|
1024 |
version = "1.0.0"
|
|
|
1270 |
{ name = "langgraph" },
|
1271 |
{ name = "nltk" },
|
1272 |
{ name = "qdrant-client" },
|
1273 |
+
{ name = "ragas" },
|
1274 |
{ name = "unstructured" },
|
1275 |
{ name = "websockets" },
|
1276 |
]
|
|
|
1285 |
{ name = "langgraph", specifier = ">=0.2.74" },
|
1286 |
{ name = "nltk", specifier = ">=3.9.1" },
|
1287 |
{ name = "qdrant-client", specifier = ">=1.13.2" },
|
1288 |
+
{ name = "ragas", specifier = ">=0.2.13" },
|
1289 |
{ name = "unstructured", specifier = ">=0.14.8" },
|
1290 |
{ name = "websockets", specifier = ">=15.0" },
|
1291 |
]
|
|
|
1299 |
{ url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 },
|
1300 |
]
|
1301 |
|
1302 |
+
[[package]]
|
1303 |
+
name = "pandas"
|
1304 |
+
version = "2.2.3"
|
1305 |
+
source = { registry = "https://pypi.org/simple" }
|
1306 |
+
dependencies = [
|
1307 |
+
{ name = "numpy" },
|
1308 |
+
{ name = "python-dateutil" },
|
1309 |
+
{ name = "pytz" },
|
1310 |
+
{ name = "tzdata" },
|
1311 |
+
]
|
1312 |
+
sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213 }
|
1313 |
+
wheels = [
|
1314 |
+
{ url = "https://files.pythonhosted.org/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", size = 12477643 },
|
1315 |
+
{ url = "https://files.pythonhosted.org/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", size = 11281573 },
|
1316 |
+
{ url = "https://files.pythonhosted.org/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", size = 15196085 },
|
1317 |
+
{ url = "https://files.pythonhosted.org/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", size = 12711809 },
|
1318 |
+
{ url = "https://files.pythonhosted.org/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316 },
|
1319 |
+
{ url = "https://files.pythonhosted.org/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055 },
|
1320 |
+
{ url = "https://files.pythonhosted.org/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175 },
|
1321 |
+
{ url = "https://files.pythonhosted.org/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650 },
|
1322 |
+
{ url = "https://files.pythonhosted.org/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177 },
|
1323 |
+
{ url = "https://files.pythonhosted.org/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526 },
|
1324 |
+
{ url = "https://files.pythonhosted.org/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013 },
|
1325 |
+
{ url = "https://files.pythonhosted.org/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620 },
|
1326 |
+
{ url = "https://files.pythonhosted.org/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436 },
|
1327 |
+
]
|
1328 |
+
|
1329 |
[[package]]
|
1330 |
name = "portalocker"
|
1331 |
version = "2.10.1"
|
|
|
1393 |
{ url = "https://files.pythonhosted.org/packages/fd/b2/ab07b09e0f6d143dfb839693aa05765257bceaa13d03bf1a696b78323e7a/protobuf-5.29.3-py3-none-any.whl", hash = "sha256:0a18ed4a24198528f2333802eb075e59dea9d679ab7a6c5efb017a59004d849f", size = 172550 },
|
1394 |
]
|
1395 |
|
1396 |
+
[[package]]
|
1397 |
+
name = "pyarrow"
|
1398 |
+
version = "19.0.1"
|
1399 |
+
source = { registry = "https://pypi.org/simple" }
|
1400 |
+
sdist = { url = "https://files.pythonhosted.org/packages/7f/09/a9046344212690f0632b9c709f9bf18506522feb333c894d0de81d62341a/pyarrow-19.0.1.tar.gz", hash = "sha256:3bf266b485df66a400f282ac0b6d1b500b9d2ae73314a153dbe97d6d5cc8a99e", size = 1129437 }
|
1401 |
+
wheels = [
|
1402 |
+
{ url = "https://files.pythonhosted.org/packages/2b/8d/275c58d4b00781bd36579501a259eacc5c6dfb369be4ddeb672ceb551d2d/pyarrow-19.0.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:e45274b20e524ae5c39d7fc1ca2aa923aab494776d2d4b316b49ec7572ca324c", size = 30653552 },
|
1403 |
+
{ url = "https://files.pythonhosted.org/packages/a0/9e/e6aca5cc4ef0c7aec5f8db93feb0bde08dbad8c56b9014216205d271101b/pyarrow-19.0.1-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:d9dedeaf19097a143ed6da37f04f4051aba353c95ef507764d344229b2b740ae", size = 32103413 },
|
1404 |
+
{ url = "https://files.pythonhosted.org/packages/6a/fa/a7033f66e5d4f1308c7eb0dfcd2ccd70f881724eb6fd1776657fdf65458f/pyarrow-19.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ebfb5171bb5f4a52319344ebbbecc731af3f021e49318c74f33d520d31ae0c4", size = 41134869 },
|
1405 |
+
{ url = "https://files.pythonhosted.org/packages/2d/92/34d2569be8e7abdc9d145c98dc410db0071ac579b92ebc30da35f500d630/pyarrow-19.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a21d39fbdb948857f67eacb5bbaaf36802de044ec36fbef7a1c8f0dd3a4ab2", size = 42192626 },
|
1406 |
+
{ url = "https://files.pythonhosted.org/packages/0a/1f/80c617b1084fc833804dc3309aa9d8daacd46f9ec8d736df733f15aebe2c/pyarrow-19.0.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:99bc1bec6d234359743b01e70d4310d0ab240c3d6b0da7e2a93663b0158616f6", size = 40496708 },
|
1407 |
+
{ url = "https://files.pythonhosted.org/packages/e6/90/83698fcecf939a611c8d9a78e38e7fed7792dcc4317e29e72cf8135526fb/pyarrow-19.0.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:1b93ef2c93e77c442c979b0d596af45e4665d8b96da598db145b0fec014b9136", size = 42075728 },
|
1408 |
+
{ url = "https://files.pythonhosted.org/packages/40/49/2325f5c9e7a1c125c01ba0c509d400b152c972a47958768e4e35e04d13d8/pyarrow-19.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:d9d46e06846a41ba906ab25302cf0fd522f81aa2a85a71021826f34639ad31ef", size = 25242568 },
|
1409 |
+
{ url = "https://files.pythonhosted.org/packages/3f/72/135088d995a759d4d916ec4824cb19e066585b4909ebad4ab196177aa825/pyarrow-19.0.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:c0fe3dbbf054a00d1f162fda94ce236a899ca01123a798c561ba307ca38af5f0", size = 30702371 },
|
1410 |
+
{ url = "https://files.pythonhosted.org/packages/2e/01/00beeebd33d6bac701f20816a29d2018eba463616bbc07397fdf99ac4ce3/pyarrow-19.0.1-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:96606c3ba57944d128e8a8399da4812f56c7f61de8c647e3470b417f795d0ef9", size = 32116046 },
|
1411 |
+
{ url = "https://files.pythonhosted.org/packages/1f/c9/23b1ea718dfe967cbd986d16cf2a31fe59d015874258baae16d7ea0ccabc/pyarrow-19.0.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f04d49a6b64cf24719c080b3c2029a3a5b16417fd5fd7c4041f94233af732f3", size = 41091183 },
|
1412 |
+
{ url = "https://files.pythonhosted.org/packages/3a/d4/b4a3aa781a2c715520aa8ab4fe2e7fa49d33a1d4e71c8fc6ab7b5de7a3f8/pyarrow-19.0.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a9137cf7e1640dce4c190551ee69d478f7121b5c6f323553b319cac936395f6", size = 42171896 },
|
1413 |
+
{ url = "https://files.pythonhosted.org/packages/23/1b/716d4cd5a3cbc387c6e6745d2704c4b46654ba2668260d25c402626c5ddb/pyarrow-19.0.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:7c1bca1897c28013db5e4c83944a2ab53231f541b9e0c3f4791206d0c0de389a", size = 40464851 },
|
1414 |
+
{ url = "https://files.pythonhosted.org/packages/ed/bd/54907846383dcc7ee28772d7e646f6c34276a17da740002a5cefe90f04f7/pyarrow-19.0.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:58d9397b2e273ef76264b45531e9d552d8ec8a6688b7390b5be44c02a37aade8", size = 42085744 },
|
1415 |
+
]
|
1416 |
+
|
1417 |
[[package]]
|
1418 |
name = "pycparser"
|
1419 |
version = "2.22"
|
|
|
1566 |
{ url = "https://files.pythonhosted.org/packages/8a/a3/c69806f30dd81df5a99d592e7db4c930c3a9b098555aa97b0eb866b20b11/python_socketio-5.12.1-py3-none-any.whl", hash = "sha256:24a0ea7cfff0e021eb28c68edbf7914ee4111bdf030b95e4d250c4dc9af7a386", size = 76947 },
|
1567 |
]
|
1568 |
|
1569 |
+
[[package]]
|
1570 |
+
name = "pytz"
|
1571 |
+
version = "2025.1"
|
1572 |
+
source = { registry = "https://pypi.org/simple" }
|
1573 |
+
sdist = { url = "https://files.pythonhosted.org/packages/5f/57/df1c9157c8d5a05117e455d66fd7cf6dbc46974f832b1058ed4856785d8a/pytz-2025.1.tar.gz", hash = "sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e", size = 319617 }
|
1574 |
+
wheels = [
|
1575 |
+
{ url = "https://files.pythonhosted.org/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl", hash = "sha256:89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57", size = 507930 },
|
1576 |
+
]
|
1577 |
+
|
1578 |
[[package]]
|
1579 |
name = "pywin32"
|
1580 |
version = "308"
|
|
|
1620 |
{ url = "https://files.pythonhosted.org/packages/5f/26/89ebaee5fcbd99bf1c0a627a9447b440118b2d31dea423d074cb0481be5c/qdrant_client-1.13.2-py3-none-any.whl", hash = "sha256:db97e759bd3f8d483a383984ba4c2a158eef56f2188d83df7771591d43de2201", size = 306637 },
|
1621 |
]
|
1622 |
|
1623 |
+
[[package]]
|
1624 |
+
name = "ragas"
|
1625 |
+
version = "0.2.13"
|
1626 |
+
source = { registry = "https://pypi.org/simple" }
|
1627 |
+
dependencies = [
|
1628 |
+
{ name = "appdirs" },
|
1629 |
+
{ name = "datasets" },
|
1630 |
+
{ name = "diskcache" },
|
1631 |
+
{ name = "langchain" },
|
1632 |
+
{ name = "langchain-community" },
|
1633 |
+
{ name = "langchain-core" },
|
1634 |
+
{ name = "langchain-openai" },
|
1635 |
+
{ name = "nest-asyncio" },
|
1636 |
+
{ name = "numpy" },
|
1637 |
+
{ name = "openai" },
|
1638 |
+
{ name = "pydantic" },
|
1639 |
+
{ name = "tiktoken" },
|
1640 |
+
]
|
1641 |
+
sdist = { url = "https://files.pythonhosted.org/packages/22/db/74deba37d53752f5e1656e36df878a73bbe0b5750ad73a30906ce286931d/ragas-0.2.13.tar.gz", hash = "sha256:33ebfd8c88465c7c86e639049138e38d3d3117d03eb68c0b2c98065c4608feb5", size = 39916780 }
|
1642 |
+
wheels = [
|
1643 |
+
{ url = "https://files.pythonhosted.org/packages/b6/1f/1087efbd0d0723ef8212aba2dfd035bdbcef6698623b29e6f724ad8cdcf9/ragas-0.2.13-py3-none-any.whl", hash = "sha256:0a9c4014768cb6a1d962f9348ee2ea36732a1edafdf18d884ab020f4fe2d4acc", size = 178261 },
|
1644 |
+
]
|
1645 |
+
|
1646 |
[[package]]
|
1647 |
name = "rapidfuzz"
|
1648 |
version = "3.12.1"
|
|
|
1892 |
{ url = "https://files.pythonhosted.org/packages/65/f3/107a22063bf27bdccf2024833d3445f4eea42b2e598abfbd46f6a63b6cb0/typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f", size = 8827 },
|
1893 |
]
|
1894 |
|
1895 |
+
[[package]]
|
1896 |
+
name = "tzdata"
|
1897 |
+
version = "2025.1"
|
1898 |
+
source = { registry = "https://pypi.org/simple" }
|
1899 |
+
sdist = { url = "https://files.pythonhosted.org/packages/43/0f/fa4723f22942480be4ca9527bbde8d43f6c3f2fe8412f00e7f5f6746bc8b/tzdata-2025.1.tar.gz", hash = "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694", size = 194950 }
|
1900 |
+
wheels = [
|
1901 |
+
{ url = "https://files.pythonhosted.org/packages/0f/dd/84f10e23edd882c6f968c21c2434fe67bd4a528967067515feca9e611e5e/tzdata-2025.1-py2.py3-none-any.whl", hash = "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639", size = 346762 },
|
1902 |
+
]
|
1903 |
+
|
1904 |
[[package]]
|
1905 |
name = "unstructured"
|
1906 |
version = "0.14.8"
|
|
|
2086 |
{ url = "https://files.pythonhosted.org/packages/78/58/e860788190eba3bcce367f74d29c4675466ce8dddfba85f7827588416f01/wsproto-1.2.0-py3-none-any.whl", hash = "sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736", size = 24226 },
|
2087 |
]
|
2088 |
|
2089 |
+
[[package]]
|
2090 |
+
name = "xxhash"
|
2091 |
+
version = "3.5.0"
|
2092 |
+
source = { registry = "https://pypi.org/simple" }
|
2093 |
+
sdist = { url = "https://files.pythonhosted.org/packages/00/5e/d6e5258d69df8b4ed8c83b6664f2b47d30d2dec551a29ad72a6c69eafd31/xxhash-3.5.0.tar.gz", hash = "sha256:84f2caddf951c9cbf8dc2e22a89d4ccf5d86391ac6418fe81e3c67d0cf60b45f", size = 84241 }
|
2094 |
+
wheels = [
|
2095 |
+
{ url = "https://files.pythonhosted.org/packages/c9/b8/e4b3ad92d249be5c83fa72916c9091b0965cb0faeff05d9a0a3870ae6bff/xxhash-3.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37889a0d13b0b7d739cfc128b1c902f04e32de17b33d74b637ad42f1c55101f6", size = 31795 },
|
2096 |
+
{ url = "https://files.pythonhosted.org/packages/fc/d8/b3627a0aebfbfa4c12a41e22af3742cf08c8ea84f5cc3367b5de2d039cce/xxhash-3.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:97a662338797c660178e682f3bc180277b9569a59abfb5925e8620fba00b9fc5", size = 30792 },
|
2097 |
+
{ url = "https://files.pythonhosted.org/packages/c3/cc/762312960691da989c7cd0545cb120ba2a4148741c6ba458aa723c00a3f8/xxhash-3.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f85e0108d51092bdda90672476c7d909c04ada6923c14ff9d913c4f7dc8a3bc", size = 220950 },
|
2098 |
+
{ url = "https://files.pythonhosted.org/packages/fe/e9/cc266f1042c3c13750e86a535496b58beb12bf8c50a915c336136f6168dc/xxhash-3.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd2fd827b0ba763ac919440042302315c564fdb797294d86e8cdd4578e3bc7f3", size = 199980 },
|
2099 |
+
{ url = "https://files.pythonhosted.org/packages/bf/85/a836cd0dc5cc20376de26b346858d0ac9656f8f730998ca4324921a010b9/xxhash-3.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:82085c2abec437abebf457c1d12fccb30cc8b3774a0814872511f0f0562c768c", size = 428324 },
|
2100 |
+
{ url = "https://files.pythonhosted.org/packages/b4/0e/15c243775342ce840b9ba34aceace06a1148fa1630cd8ca269e3223987f5/xxhash-3.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07fda5de378626e502b42b311b049848c2ef38784d0d67b6f30bb5008642f8eb", size = 194370 },
|
2101 |
+
{ url = "https://files.pythonhosted.org/packages/87/a1/b028bb02636dfdc190da01951d0703b3d904301ed0ef6094d948983bef0e/xxhash-3.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c279f0d2b34ef15f922b77966640ade58b4ccdfef1c4d94b20f2a364617a493f", size = 207911 },
|
2102 |
+
{ url = "https://files.pythonhosted.org/packages/80/d5/73c73b03fc0ac73dacf069fdf6036c9abad82de0a47549e9912c955ab449/xxhash-3.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:89e66ceed67b213dec5a773e2f7a9e8c58f64daeb38c7859d8815d2c89f39ad7", size = 216352 },
|
2103 |
+
{ url = "https://files.pythonhosted.org/packages/b6/2a/5043dba5ddbe35b4fe6ea0a111280ad9c3d4ba477dd0f2d1fe1129bda9d0/xxhash-3.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:bcd51708a633410737111e998ceb3b45d3dbc98c0931f743d9bb0a209033a326", size = 203410 },
|
2104 |
+
{ url = "https://files.pythonhosted.org/packages/a2/b2/9a8ded888b7b190aed75b484eb5c853ddd48aa2896e7b59bbfbce442f0a1/xxhash-3.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3ff2c0a34eae7df88c868be53a8dd56fbdf592109e21d4bfa092a27b0bf4a7bf", size = 210322 },
|
2105 |
+
{ url = "https://files.pythonhosted.org/packages/98/62/440083fafbc917bf3e4b67c2ade621920dd905517e85631c10aac955c1d2/xxhash-3.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:4e28503dccc7d32e0b9817aa0cbfc1f45f563b2c995b7a66c4c8a0d232e840c7", size = 414725 },
|
2106 |
+
{ url = "https://files.pythonhosted.org/packages/75/db/009206f7076ad60a517e016bb0058381d96a007ce3f79fa91d3010f49cc2/xxhash-3.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a6c50017518329ed65a9e4829154626f008916d36295b6a3ba336e2458824c8c", size = 192070 },
|
2107 |
+
{ url = "https://files.pythonhosted.org/packages/1f/6d/c61e0668943a034abc3a569cdc5aeae37d686d9da7e39cf2ed621d533e36/xxhash-3.5.0-cp313-cp313-win32.whl", hash = "sha256:53a068fe70301ec30d868ece566ac90d873e3bb059cf83c32e76012c889b8637", size = 30172 },
|
2108 |
+
{ url = "https://files.pythonhosted.org/packages/96/14/8416dce965f35e3d24722cdf79361ae154fa23e2ab730e5323aa98d7919e/xxhash-3.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:80babcc30e7a1a484eab952d76a4f4673ff601f54d5142c26826502740e70b43", size = 30041 },
|
2109 |
+
{ url = "https://files.pythonhosted.org/packages/27/ee/518b72faa2073f5aa8e3262408d284892cb79cf2754ba0c3a5870645ef73/xxhash-3.5.0-cp313-cp313-win_arm64.whl", hash = "sha256:4811336f1ce11cac89dcbd18f3a25c527c16311709a89313c3acaf771def2d4b", size = 26801 },
|
2110 |
+
]
|
2111 |
+
|
2112 |
[[package]]
|
2113 |
name = "yarl"
|
2114 |
version = "1.18.3"
|