Spaces:
Sleeping
Sleeping
Commit ·
4645c56
1
Parent(s): 6586d52
Refactor dependencies and add OpenAI client and web search functionality
Browse files- Removed langchain and related dependencies from pyproject.toml and requirements.txt.
- Added loguru dependency for logging purposes.
- Introduced OpenAIClient class for handling OpenAI API interactions, including data parsing and function handling.
- Added SearchWeb class for performing web searches using the Serper API.
- Updated utils module to include new OpenAIClient and SearchWeb classes.
- .env.example +1 -0
- app.py +37 -163
- poetry.lock +33 -534
- pyproject.toml +1 -5
- requirements.txt +5 -9
- utils/__init__.py +3 -2
- utils/_file_parser.py +0 -119
- utils/_openai_client.py +149 -0
- utils/_web_search.py +19 -0
.env.example
CHANGED
|
@@ -1,2 +1,3 @@
|
|
| 1 |
OPENAI_API_KEY=
|
| 2 |
LLAMA_CLOUD_API_KEY=
|
|
|
|
|
|
| 1 |
OPENAI_API_KEY=
|
| 2 |
LLAMA_CLOUD_API_KEY=
|
| 3 |
+
SERPER_API_KEY=
|
app.py
CHANGED
|
@@ -1,173 +1,47 @@
|
|
| 1 |
-
import os
|
| 2 |
-
import tempfile
|
| 3 |
-
|
| 4 |
import streamlit as st
|
| 5 |
-
from
|
| 6 |
-
from langchain_core.messages import AIMessage, HumanMessage
|
| 7 |
-
from langchain_core.output_parsers import StrOutputParser
|
| 8 |
-
from langchain_core.prompts import ChatPromptTemplate
|
| 9 |
-
from langchain_openai.chat_models import ChatOpenAI
|
| 10 |
-
from langchain_openai.embeddings import OpenAIEmbeddings
|
| 11 |
-
from langchain_text_splitters import RecursiveCharacterTextSplitter
|
| 12 |
-
|
| 13 |
-
from utils import FileParser
|
| 14 |
|
| 15 |
-
|
| 16 |
-
temp_pdf_folder = "temp-files"
|
| 17 |
-
vector_database_path = (
|
| 18 |
-
f"{os.environ.get('VECTOR_DATABASE_PATH', '.')}/{vector_database_name}"
|
| 19 |
-
)
|
| 20 |
|
| 21 |
-
|
|
|
|
| 22 |
|
|
|
|
|
|
|
|
|
|
| 23 |
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
with open(local_filepath, "wb") as f:
|
| 28 |
-
f.write(file.getvalue())
|
| 29 |
-
text = FileParser().parse(input_dir=temp_pdf_folder, ocr_enabled=ocr_enabled)
|
| 30 |
-
docs = []
|
| 31 |
-
if text:
|
| 32 |
-
text_splitter = RecursiveCharacterTextSplitter(
|
| 33 |
-
chunk_size=512, chunk_overlap=100
|
| 34 |
-
)
|
| 35 |
-
texts = text_splitter.split_text(text)
|
| 36 |
-
docs = text_splitter.create_documents(
|
| 37 |
-
texts=texts, metadatas=[{"file_name": file.name}] * len(texts)
|
| 38 |
-
)
|
| 39 |
-
return docs
|
| 40 |
|
| 41 |
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
|
| 47 |
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
|
|
|
| 54 |
)
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
append_to_vector_db(docs=docs)
|
| 72 |
-
st.session_state.last_uploaded_files.append(file.name)
|
| 73 |
-
st.toast(f"{file.name} processed successfully")
|
| 74 |
-
print(f"{file.name} processed successfully")
|
| 75 |
-
else:
|
| 76 |
-
st.toast(f"{file.name} could not be processed")
|
| 77 |
-
print(f"{file.name} could not be processed")
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
def get_response(user_query, chat_history):
|
| 81 |
-
docs = RETRIEVER.invoke(user_query, k=20)
|
| 82 |
-
additional_info = RETRIEVER.invoke(
|
| 83 |
-
" ".join(
|
| 84 |
-
[
|
| 85 |
-
message.content
|
| 86 |
-
for message in chat_history
|
| 87 |
-
if isinstance(message, HumanMessage)
|
| 88 |
-
]
|
| 89 |
-
),
|
| 90 |
-
k=20,
|
| 91 |
-
)
|
| 92 |
-
docs_content = [doc.page_content for doc in docs]
|
| 93 |
-
for doc in additional_info:
|
| 94 |
-
if doc.page_content not in docs_content:
|
| 95 |
-
docs.append(doc)
|
| 96 |
-
template = """
|
| 97 |
-
You are Sifa, a virtual assistant designed by Sifars.
|
| 98 |
-
Execute the below mandatory considerations when responding to the inquiries:
|
| 99 |
-
--- Tone - Respectful, Patient, and Encouraging:
|
| 100 |
-
Maintain a tone that is not only polite but also encouraging. Positive language can help build confidence, especially when they are trying to learn something new.
|
| 101 |
-
Be mindful of cultural references or idioms that may not be universally understood or may date back to a different era, ensuring relatability.
|
| 102 |
-
--- Clarity - Simple, Direct, and Unambiguous:
|
| 103 |
-
Avoid abbreviations, slang, or colloquialisms that might be confusing. Stick to standard language.
|
| 104 |
-
Use bullet points or numbered lists to break down instructions or information, which can aid in comprehension.
|
| 105 |
-
--- Structure - Organized, Consistent, and Considerate:
|
| 106 |
-
Include relevant examples or analogies that relate to experiences common in their lifetime, which can aid in understanding complex topics.
|
| 107 |
-
--- Empathy and Understanding - Compassionate and Responsive:
|
| 108 |
-
Recognize and validate their feelings or concerns. Phrases like, “It’s completely normal to find this challenging,” can be comforting.
|
| 109 |
-
Be aware of the potential need for more frequent repetition or rephrasing of information for clarity.
|
| 110 |
-
Answer the following questions considering the documents and/or history of the conversation.
|
| 111 |
-
Chat history: {chat_history}
|
| 112 |
-
Documents from files: {retrieved_info}
|
| 113 |
-
User question: {user_question}
|
| 114 |
-
"""
|
| 115 |
-
|
| 116 |
-
prompt = ChatPromptTemplate.from_template(template)
|
| 117 |
-
llm = ChatOpenAI(model="gpt-4o", streaming=True)
|
| 118 |
-
|
| 119 |
-
chain = prompt | llm | StrOutputParser()
|
| 120 |
-
|
| 121 |
-
return chain.stream(
|
| 122 |
-
{
|
| 123 |
-
"chat_history": chat_history,
|
| 124 |
-
"retrieved_info": docs,
|
| 125 |
-
"user_question": user_query,
|
| 126 |
-
}
|
| 127 |
-
)
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
def main():
|
| 131 |
-
st.set_page_config(page_title="RAG POC", page_icon="")
|
| 132 |
-
st.title("RAG POC")
|
| 133 |
-
if "last_uploaded_files" not in st.session_state:
|
| 134 |
-
st.session_state.last_uploaded_files = []
|
| 135 |
-
if "chat_history" not in st.session_state:
|
| 136 |
-
st.session_state.chat_history = [
|
| 137 |
-
AIMessage(content="Hello, I am Sifa. How can I help you?"),
|
| 138 |
-
]
|
| 139 |
-
for message in st.session_state.chat_history:
|
| 140 |
-
if isinstance(message, AIMessage):
|
| 141 |
-
with st.chat_message("AI"):
|
| 142 |
-
st.write(message.content)
|
| 143 |
-
elif isinstance(message, HumanMessage):
|
| 144 |
-
with st.chat_message("Human"):
|
| 145 |
-
st.write(message.content)
|
| 146 |
-
user_query = st.chat_input("Type your message here...")
|
| 147 |
-
if user_query is not None and user_query != "":
|
| 148 |
-
st.session_state.chat_history.append(HumanMessage(content=user_query))
|
| 149 |
-
with st.chat_message("Human"):
|
| 150 |
-
st.markdown(user_query)
|
| 151 |
-
with st.chat_message("AI"):
|
| 152 |
-
response = st.write_stream(
|
| 153 |
-
get_response(
|
| 154 |
-
user_query=user_query, chat_history=st.session_state.chat_history
|
| 155 |
-
)
|
| 156 |
-
)
|
| 157 |
-
st.session_state.chat_history.append(AIMessage(content=response))
|
| 158 |
-
uploaded_files = st.sidebar.file_uploader(
|
| 159 |
-
label="Upload files", accept_multiple_files=True
|
| 160 |
-
)
|
| 161 |
-
ocr_enabled = st.sidebar.checkbox("Enable OCR", value=False)
|
| 162 |
-
to_be_vectorised_files = [
|
| 163 |
-
item
|
| 164 |
-
for item in uploaded_files
|
| 165 |
-
if item.name not in st.session_state.last_uploaded_files
|
| 166 |
-
]
|
| 167 |
-
if to_be_vectorised_files:
|
| 168 |
-
create_embeddings(files=to_be_vectorised_files, ocr_enabled=ocr_enabled)
|
| 169 |
-
|
| 170 |
-
|
| 171 |
-
if __name__ == "__main__":
|
| 172 |
-
RETRIEVER = load_vector_db().as_retriever()
|
| 173 |
-
main()
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
import streamlit as st
|
| 2 |
+
from loguru import logger
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
|
| 4 |
+
from utils import OpenAIClient, SearchWeb
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
|
| 6 |
+
# Streamlit app title
|
| 7 |
+
st.title("Chat with Sourcing Agent")
|
| 8 |
|
| 9 |
+
# Initialize chat history
|
| 10 |
+
if "messages" not in st.session_state:
|
| 11 |
+
st.session_state.messages = []
|
| 12 |
|
| 13 |
+
# Display chat history
|
| 14 |
+
for message in st.session_state.messages:
|
| 15 |
+
st.chat_message(message["role"]).write(message["content"])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
|
| 17 |
|
| 18 |
+
tool_functions = {
|
| 19 |
+
"searchWeb": SearchWeb().search,
|
| 20 |
+
}
|
| 21 |
+
openai_client = OpenAIClient(tool_functions=tool_functions)
|
| 22 |
|
| 23 |
|
| 24 |
+
if prompt := st.chat_input("Type your message..."):
|
| 25 |
+
try:
|
| 26 |
+
st.chat_message("user").write(prompt)
|
| 27 |
+
st.session_state.messages.append({"role": "user", "content": prompt})
|
| 28 |
+
response_generator = openai_client.query(
|
| 29 |
+
instructions="You are a helpful assistant.",
|
| 30 |
+
messages=st.session_state.messages,
|
| 31 |
)
|
| 32 |
+
assistant_response = ""
|
| 33 |
+
for chunk in response_generator:
|
| 34 |
+
assistant_response += chunk
|
| 35 |
+
st.chat_message("assistant").write(assistant_response)
|
| 36 |
+
st.session_state.messages.append(
|
| 37 |
+
{"role": "assistant", "content": assistant_response}
|
| 38 |
+
)
|
| 39 |
+
except Exception as e:
|
| 40 |
+
st.error(f"An error occurred: {e}")
|
| 41 |
+
logger.error(e)
|
| 42 |
+
|
| 43 |
+
col1, col2 = st.columns([4, 1])
|
| 44 |
+
with col2:
|
| 45 |
+
if st.button("Clear Chat"):
|
| 46 |
+
st.session_state.messages = []
|
| 47 |
+
st.experimental_rerun()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
poetry.lock
CHANGED
|
@@ -278,85 +278,6 @@ files = [
|
|
| 278 |
{file = "certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651"},
|
| 279 |
]
|
| 280 |
|
| 281 |
-
[[package]]
|
| 282 |
-
name = "cffi"
|
| 283 |
-
version = "1.17.1"
|
| 284 |
-
description = "Foreign Function Interface for Python calling C code."
|
| 285 |
-
optional = false
|
| 286 |
-
python-versions = ">=3.8"
|
| 287 |
-
files = [
|
| 288 |
-
{file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"},
|
| 289 |
-
{file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"},
|
| 290 |
-
{file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"},
|
| 291 |
-
{file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"},
|
| 292 |
-
{file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"},
|
| 293 |
-
{file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"},
|
| 294 |
-
{file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"},
|
| 295 |
-
{file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"},
|
| 296 |
-
{file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"},
|
| 297 |
-
{file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"},
|
| 298 |
-
{file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"},
|
| 299 |
-
{file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"},
|
| 300 |
-
{file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"},
|
| 301 |
-
{file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"},
|
| 302 |
-
{file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"},
|
| 303 |
-
{file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"},
|
| 304 |
-
{file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"},
|
| 305 |
-
{file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"},
|
| 306 |
-
{file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"},
|
| 307 |
-
{file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"},
|
| 308 |
-
{file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"},
|
| 309 |
-
{file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"},
|
| 310 |
-
{file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"},
|
| 311 |
-
{file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"},
|
| 312 |
-
{file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"},
|
| 313 |
-
{file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"},
|
| 314 |
-
{file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"},
|
| 315 |
-
{file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"},
|
| 316 |
-
{file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"},
|
| 317 |
-
{file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"},
|
| 318 |
-
{file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"},
|
| 319 |
-
{file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"},
|
| 320 |
-
{file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"},
|
| 321 |
-
{file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"},
|
| 322 |
-
{file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"},
|
| 323 |
-
{file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"},
|
| 324 |
-
{file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"},
|
| 325 |
-
{file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"},
|
| 326 |
-
{file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"},
|
| 327 |
-
{file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"},
|
| 328 |
-
{file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"},
|
| 329 |
-
{file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"},
|
| 330 |
-
{file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"},
|
| 331 |
-
{file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"},
|
| 332 |
-
{file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"},
|
| 333 |
-
{file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"},
|
| 334 |
-
{file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"},
|
| 335 |
-
{file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"},
|
| 336 |
-
{file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"},
|
| 337 |
-
{file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"},
|
| 338 |
-
{file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"},
|
| 339 |
-
{file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"},
|
| 340 |
-
{file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"},
|
| 341 |
-
{file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"},
|
| 342 |
-
{file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"},
|
| 343 |
-
{file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"},
|
| 344 |
-
{file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"},
|
| 345 |
-
{file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"},
|
| 346 |
-
{file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"},
|
| 347 |
-
{file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"},
|
| 348 |
-
{file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"},
|
| 349 |
-
{file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"},
|
| 350 |
-
{file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"},
|
| 351 |
-
{file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"},
|
| 352 |
-
{file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"},
|
| 353 |
-
{file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"},
|
| 354 |
-
{file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"},
|
| 355 |
-
]
|
| 356 |
-
|
| 357 |
-
[package.dependencies]
|
| 358 |
-
pycparser = "*"
|
| 359 |
-
|
| 360 |
[[package]]
|
| 361 |
name = "charset-normalizer"
|
| 362 |
version = "3.4.1"
|
|
@@ -537,45 +458,6 @@ files = [
|
|
| 537 |
{file = "distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed"},
|
| 538 |
]
|
| 539 |
|
| 540 |
-
[[package]]
|
| 541 |
-
name = "faiss-cpu"
|
| 542 |
-
version = "1.10.0"
|
| 543 |
-
description = "A library for efficient similarity search and clustering of dense vectors."
|
| 544 |
-
optional = false
|
| 545 |
-
python-versions = ">=3.9"
|
| 546 |
-
files = [
|
| 547 |
-
{file = "faiss_cpu-1.10.0-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:6693474be296a7142ade1051ea18e7d85cedbfdee4b7eac9c52f83fed0467855"},
|
| 548 |
-
{file = "faiss_cpu-1.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:70ebe60a560414dc8dd6cfe8fed105c8f002c0d11f765f5adfe8d63d42c0467f"},
|
| 549 |
-
{file = "faiss_cpu-1.10.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:74c5712d4890f15c661ab7b1b75867812e9596e1469759956fad900999bedbb5"},
|
| 550 |
-
{file = "faiss_cpu-1.10.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:473d158fbd638d6ad5fb64469ba79a9f09d3494b5f4e8dfb4f40ce2fc335dca4"},
|
| 551 |
-
{file = "faiss_cpu-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:dcd0cb2ec84698cbe3df9ed247d2392f09bda041ad34b92d38fa916cd019ad4b"},
|
| 552 |
-
{file = "faiss_cpu-1.10.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:8ff6924b0f00df278afe70940ae86302066466580724c2f3238860039e9946f1"},
|
| 553 |
-
{file = "faiss_cpu-1.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cb80b530a9ded44a7d4031a7355a237aaa0ff1f150c1176df050e0254ea5f6f6"},
|
| 554 |
-
{file = "faiss_cpu-1.10.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:7a9fef4039ed877d40e41d5563417b154c7f8cd57621487dad13c4eb4f32515f"},
|
| 555 |
-
{file = "faiss_cpu-1.10.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:49b6647aa9e159a2c4603cbff2e1b313becd98ad6e851737ab325c74fe8e0278"},
|
| 556 |
-
{file = "faiss_cpu-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:6f8c0ef8b615c12c7bf612bd1fc51cffa49c1ddaa6207c6981f01ab6782e6b3b"},
|
| 557 |
-
{file = "faiss_cpu-1.10.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:2aca486fe2d680ea64a18d356206c91ff85db99fd34c19a757298c67c23262b1"},
|
| 558 |
-
{file = "faiss_cpu-1.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c1108a4059c66c37c403183e566ca1ed0974a6af7557c92d49207639aab661bc"},
|
| 559 |
-
{file = "faiss_cpu-1.10.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:449f3eb778d6d937e01a16a3170de4bb8aabfe87c7cb479b458fb790276310c5"},
|
| 560 |
-
{file = "faiss_cpu-1.10.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9899c340f92bd94071d6faf4bef0ccb5362843daea42144d4ba857a2a1f67511"},
|
| 561 |
-
{file = "faiss_cpu-1.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:345a52dbfa980d24b93c94410eadf82d1eef359c6a42e5e0768cca96539f1c3c"},
|
| 562 |
-
{file = "faiss_cpu-1.10.0-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:cb8473d69c3964c1bf3f8eb3e04287bb3275f536e6d9635ef32242b5f506b45d"},
|
| 563 |
-
{file = "faiss_cpu-1.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82ca5098de694e7b8495c1a8770e2c08df6e834922546dad0ae1284ff519ced6"},
|
| 564 |
-
{file = "faiss_cpu-1.10.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:035e4d797e2db7fc0d0c90531d4a655d089ad5d1382b7a49358c1f2307b3a309"},
|
| 565 |
-
{file = "faiss_cpu-1.10.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e02af3696a6b9e1f9072e502f48095a305de2163c42ceb1f6f6b1db9e7ffe574"},
|
| 566 |
-
{file = "faiss_cpu-1.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:e71f7e24d5b02d3a51df47b77bd10f394a1b48a8331d5c817e71e9e27a8a75ac"},
|
| 567 |
-
{file = "faiss_cpu-1.10.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:3118b5d7680b0e0a3cd64b3d29389d8384de4298739504fc661b658109540b4b"},
|
| 568 |
-
{file = "faiss_cpu-1.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f71c5860c860df2320299f9e4f2ca1725beb559c04acb1cf961ed24e6218277a"},
|
| 569 |
-
{file = "faiss_cpu-1.10.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:2f15b7957d474391fc63f02bfb8011b95317a580e4d9bd70c276f4bc179a17b3"},
|
| 570 |
-
{file = "faiss_cpu-1.10.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:dadbbb834ddc34ca7e21411811833cebaae4c5a86198dd7c2a349dbe4e7e0398"},
|
| 571 |
-
{file = "faiss_cpu-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:cb77a6a5f304890c23ffb4c566bc819c0e0cf34370b20ddff02477f2bbbaf7a3"},
|
| 572 |
-
{file = "faiss_cpu-1.10.0.tar.gz", hash = "sha256:5bdca555f24bc036f4d67f8a5a4d6cc91b8d2126d4e78de496ca23ccd46e479d"},
|
| 573 |
-
]
|
| 574 |
-
|
| 575 |
-
[package.dependencies]
|
| 576 |
-
numpy = ">=1.25.0,<3.0"
|
| 577 |
-
packaging = "*"
|
| 578 |
-
|
| 579 |
[[package]]
|
| 580 |
name = "filetype"
|
| 581 |
version = "1.2.0"
|
|
@@ -915,17 +797,6 @@ http2 = ["h2 (>=3,<5)"]
|
|
| 915 |
socks = ["socksio (==1.*)"]
|
| 916 |
zstd = ["zstandard (>=0.18.0)"]
|
| 917 |
|
| 918 |
-
[[package]]
|
| 919 |
-
name = "httpx-sse"
|
| 920 |
-
version = "0.4.0"
|
| 921 |
-
description = "Consume Server-Sent Event (SSE) messages with HTTPX."
|
| 922 |
-
optional = false
|
| 923 |
-
python-versions = ">=3.8"
|
| 924 |
-
files = [
|
| 925 |
-
{file = "httpx-sse-0.4.0.tar.gz", hash = "sha256:1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721"},
|
| 926 |
-
{file = "httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f"},
|
| 927 |
-
]
|
| 928 |
-
|
| 929 |
[[package]]
|
| 930 |
name = "idna"
|
| 931 |
version = "3.10"
|
|
@@ -1053,31 +924,6 @@ files = [
|
|
| 1053 |
{file = "joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e"},
|
| 1054 |
]
|
| 1055 |
|
| 1056 |
-
[[package]]
|
| 1057 |
-
name = "jsonpatch"
|
| 1058 |
-
version = "1.33"
|
| 1059 |
-
description = "Apply JSON-Patches (RFC 6902)"
|
| 1060 |
-
optional = false
|
| 1061 |
-
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*"
|
| 1062 |
-
files = [
|
| 1063 |
-
{file = "jsonpatch-1.33-py2.py3-none-any.whl", hash = "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade"},
|
| 1064 |
-
{file = "jsonpatch-1.33.tar.gz", hash = "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c"},
|
| 1065 |
-
]
|
| 1066 |
-
|
| 1067 |
-
[package.dependencies]
|
| 1068 |
-
jsonpointer = ">=1.9"
|
| 1069 |
-
|
| 1070 |
-
[[package]]
|
| 1071 |
-
name = "jsonpointer"
|
| 1072 |
-
version = "3.0.0"
|
| 1073 |
-
description = "Identify specific nodes in a JSON document (RFC 6901)"
|
| 1074 |
-
optional = false
|
| 1075 |
-
python-versions = ">=3.7"
|
| 1076 |
-
files = [
|
| 1077 |
-
{file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"},
|
| 1078 |
-
{file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"},
|
| 1079 |
-
]
|
| 1080 |
-
|
| 1081 |
[[package]]
|
| 1082 |
name = "jsonschema"
|
| 1083 |
version = "4.23.0"
|
|
@@ -1113,151 +959,6 @@ files = [
|
|
| 1113 |
[package.dependencies]
|
| 1114 |
referencing = ">=0.31.0"
|
| 1115 |
|
| 1116 |
-
[[package]]
|
| 1117 |
-
name = "langchain"
|
| 1118 |
-
version = "0.3.22"
|
| 1119 |
-
description = "Building applications with LLMs through composability"
|
| 1120 |
-
optional = false
|
| 1121 |
-
python-versions = "<4.0,>=3.9"
|
| 1122 |
-
files = [
|
| 1123 |
-
{file = "langchain-0.3.22-py3-none-any.whl", hash = "sha256:2e7f71a1b0280eb70af9c332c7580f6162a97fb9d5e3e87e9d579ad167f50129"},
|
| 1124 |
-
{file = "langchain-0.3.22.tar.gz", hash = "sha256:fd7781ef02cac6f074f9c6a902236482c61976e21da96ab577874d4e5396eeda"},
|
| 1125 |
-
]
|
| 1126 |
-
|
| 1127 |
-
[package.dependencies]
|
| 1128 |
-
langchain-core = ">=0.3.49,<1.0.0"
|
| 1129 |
-
langchain-text-splitters = ">=0.3.7,<1.0.0"
|
| 1130 |
-
langsmith = ">=0.1.17,<0.4"
|
| 1131 |
-
pydantic = ">=2.7.4,<3.0.0"
|
| 1132 |
-
PyYAML = ">=5.3"
|
| 1133 |
-
requests = ">=2,<3"
|
| 1134 |
-
SQLAlchemy = ">=1.4,<3"
|
| 1135 |
-
|
| 1136 |
-
[package.extras]
|
| 1137 |
-
anthropic = ["langchain-anthropic"]
|
| 1138 |
-
aws = ["langchain-aws"]
|
| 1139 |
-
azure-ai = ["langchain-azure-ai"]
|
| 1140 |
-
cohere = ["langchain-cohere"]
|
| 1141 |
-
community = ["langchain-community"]
|
| 1142 |
-
deepseek = ["langchain-deepseek"]
|
| 1143 |
-
fireworks = ["langchain-fireworks"]
|
| 1144 |
-
google-genai = ["langchain-google-genai"]
|
| 1145 |
-
google-vertexai = ["langchain-google-vertexai"]
|
| 1146 |
-
groq = ["langchain-groq"]
|
| 1147 |
-
huggingface = ["langchain-huggingface"]
|
| 1148 |
-
mistralai = ["langchain-mistralai"]
|
| 1149 |
-
ollama = ["langchain-ollama"]
|
| 1150 |
-
openai = ["langchain-openai"]
|
| 1151 |
-
together = ["langchain-together"]
|
| 1152 |
-
xai = ["langchain-xai"]
|
| 1153 |
-
|
| 1154 |
-
[[package]]
|
| 1155 |
-
name = "langchain-community"
|
| 1156 |
-
version = "0.3.20"
|
| 1157 |
-
description = "Community contributed LangChain integrations."
|
| 1158 |
-
optional = false
|
| 1159 |
-
python-versions = "<4.0,>=3.9"
|
| 1160 |
-
files = [
|
| 1161 |
-
{file = "langchain_community-0.3.20-py3-none-any.whl", hash = "sha256:ea3dbf37fbc21020eca8850627546f3c95a8770afc06c4142b40b9ba86b970f7"},
|
| 1162 |
-
{file = "langchain_community-0.3.20.tar.gz", hash = "sha256:bd83b4f2f818338423439aff3b5be362e1d686342ffada0478cd34c6f5ef5969"},
|
| 1163 |
-
]
|
| 1164 |
-
|
| 1165 |
-
[package.dependencies]
|
| 1166 |
-
aiohttp = ">=3.8.3,<4.0.0"
|
| 1167 |
-
dataclasses-json = ">=0.5.7,<0.7"
|
| 1168 |
-
httpx-sse = ">=0.4.0,<1.0.0"
|
| 1169 |
-
langchain = ">=0.3.21,<1.0.0"
|
| 1170 |
-
langchain-core = ">=0.3.45,<1.0.0"
|
| 1171 |
-
langsmith = ">=0.1.125,<0.4"
|
| 1172 |
-
numpy = ">=1.26.2,<3"
|
| 1173 |
-
pydantic-settings = ">=2.4.0,<3.0.0"
|
| 1174 |
-
PyYAML = ">=5.3"
|
| 1175 |
-
requests = ">=2,<3"
|
| 1176 |
-
SQLAlchemy = ">=1.4,<3"
|
| 1177 |
-
tenacity = ">=8.1.0,<8.4.0 || >8.4.0,<10"
|
| 1178 |
-
|
| 1179 |
-
[[package]]
|
| 1180 |
-
name = "langchain-core"
|
| 1181 |
-
version = "0.3.49"
|
| 1182 |
-
description = "Building applications with LLMs through composability"
|
| 1183 |
-
optional = false
|
| 1184 |
-
python-versions = "<4.0,>=3.9"
|
| 1185 |
-
files = [
|
| 1186 |
-
{file = "langchain_core-0.3.49-py3-none-any.whl", hash = "sha256:893ee42c9af13bf2a2d8c2ec15ba00a5c73cccde21a2bd005234ee0e78a2bdf8"},
|
| 1187 |
-
{file = "langchain_core-0.3.49.tar.gz", hash = "sha256:d9dbff9bac0021463a986355c13864d6a68c41f8559dbbd399a68e1ebd9b04b9"},
|
| 1188 |
-
]
|
| 1189 |
-
|
| 1190 |
-
[package.dependencies]
|
| 1191 |
-
jsonpatch = ">=1.33,<2.0"
|
| 1192 |
-
langsmith = ">=0.1.125,<0.4"
|
| 1193 |
-
packaging = ">=23.2,<25"
|
| 1194 |
-
pydantic = [
|
| 1195 |
-
{version = ">=2.5.2,<3.0.0", markers = "python_full_version < \"3.12.4\""},
|
| 1196 |
-
{version = ">=2.7.4,<3.0.0", markers = "python_full_version >= \"3.12.4\""},
|
| 1197 |
-
]
|
| 1198 |
-
PyYAML = ">=5.3"
|
| 1199 |
-
tenacity = ">=8.1.0,<8.4.0 || >8.4.0,<10.0.0"
|
| 1200 |
-
typing-extensions = ">=4.7"
|
| 1201 |
-
|
| 1202 |
-
[[package]]
|
| 1203 |
-
name = "langchain-openai"
|
| 1204 |
-
version = "0.3.11"
|
| 1205 |
-
description = "An integration package connecting OpenAI and LangChain"
|
| 1206 |
-
optional = false
|
| 1207 |
-
python-versions = "<4.0,>=3.9"
|
| 1208 |
-
files = [
|
| 1209 |
-
{file = "langchain_openai-0.3.11-py3-none-any.whl", hash = "sha256:95cf602322d43d13cb0fd05cba9bc4cffd7024b10b985d38f599fcc502d2d4d0"},
|
| 1210 |
-
{file = "langchain_openai-0.3.11.tar.gz", hash = "sha256:4de846b2770c2b15bee4ec8034af064bfecb01fa86d4c5ff3f427ee337f0e98c"},
|
| 1211 |
-
]
|
| 1212 |
-
|
| 1213 |
-
[package.dependencies]
|
| 1214 |
-
langchain-core = ">=0.3.49,<1.0.0"
|
| 1215 |
-
openai = ">=1.68.2,<2.0.0"
|
| 1216 |
-
tiktoken = ">=0.7,<1"
|
| 1217 |
-
|
| 1218 |
-
[[package]]
|
| 1219 |
-
name = "langchain-text-splitters"
|
| 1220 |
-
version = "0.3.7"
|
| 1221 |
-
description = "LangChain text splitting utilities"
|
| 1222 |
-
optional = false
|
| 1223 |
-
python-versions = "<4.0,>=3.9"
|
| 1224 |
-
files = [
|
| 1225 |
-
{file = "langchain_text_splitters-0.3.7-py3-none-any.whl", hash = "sha256:31ba826013e3f563359d7c7f1e99b1cdb94897f665675ee505718c116e7e20ad"},
|
| 1226 |
-
{file = "langchain_text_splitters-0.3.7.tar.gz", hash = "sha256:7dbf0fb98e10bb91792a1d33f540e2287f9cc1dc30ade45b7aedd2d5cd3dc70b"},
|
| 1227 |
-
]
|
| 1228 |
-
|
| 1229 |
-
[package.dependencies]
|
| 1230 |
-
langchain-core = ">=0.3.45,<1.0.0"
|
| 1231 |
-
|
| 1232 |
-
[[package]]
|
| 1233 |
-
name = "langsmith"
|
| 1234 |
-
version = "0.3.21"
|
| 1235 |
-
description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform."
|
| 1236 |
-
optional = false
|
| 1237 |
-
python-versions = "<4.0,>=3.9"
|
| 1238 |
-
files = [
|
| 1239 |
-
{file = "langsmith-0.3.21-py3-none-any.whl", hash = "sha256:1ff6b28a8cfb5a4ff4a45c812072f16abdbae544b5d67fa275388c504b5a73cc"},
|
| 1240 |
-
{file = "langsmith-0.3.21.tar.gz", hash = "sha256:71e30c11c6151e5fe73226d4865a78e25ac4c226c3ea7a524be5adc85ad9f97e"},
|
| 1241 |
-
]
|
| 1242 |
-
|
| 1243 |
-
[package.dependencies]
|
| 1244 |
-
httpx = ">=0.23.0,<1"
|
| 1245 |
-
orjson = {version = ">=3.9.14,<4.0.0", markers = "platform_python_implementation != \"PyPy\""}
|
| 1246 |
-
packaging = ">=23.2"
|
| 1247 |
-
pydantic = [
|
| 1248 |
-
{version = ">=1,<3", markers = "python_full_version < \"3.12.4\""},
|
| 1249 |
-
{version = ">=2.7.4,<3.0.0", markers = "python_full_version >= \"3.12.4\""},
|
| 1250 |
-
]
|
| 1251 |
-
requests = ">=2,<3"
|
| 1252 |
-
requests-toolbelt = ">=1.0.0,<2.0.0"
|
| 1253 |
-
zstandard = ">=0.23.0,<0.24.0"
|
| 1254 |
-
|
| 1255 |
-
[package.extras]
|
| 1256 |
-
langsmith-pyo3 = ["langsmith-pyo3 (>=0.1.0rc2,<0.2.0)"]
|
| 1257 |
-
openai-agents = ["openai-agents (>=0.0.3,<0.1)"]
|
| 1258 |
-
otel = ["opentelemetry-api (>=1.30.0,<2.0.0)", "opentelemetry-exporter-otlp-proto-http (>=1.30.0,<2.0.0)", "opentelemetry-sdk (>=1.30.0,<2.0.0)"]
|
| 1259 |
-
pytest = ["pytest (>=7.0.0)", "rich (>=13.9.4,<14.0.0)"]
|
| 1260 |
-
|
| 1261 |
[[package]]
|
| 1262 |
name = "llama-cloud"
|
| 1263 |
version = "0.1.17"
|
|
@@ -1528,6 +1229,24 @@ files = [
|
|
| 1528 |
[package.dependencies]
|
| 1529 |
llama-cloud-services = ">=0.6.4"
|
| 1530 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1531 |
[[package]]
|
| 1532 |
name = "markupsafe"
|
| 1533 |
version = "3.0.2"
|
|
@@ -1897,83 +1616,6 @@ datalib = ["numpy (>=1)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)"]
|
|
| 1897 |
realtime = ["websockets (>=13,<15)"]
|
| 1898 |
voice-helpers = ["numpy (>=2.0.2)", "sounddevice (>=0.5.1)"]
|
| 1899 |
|
| 1900 |
-
[[package]]
|
| 1901 |
-
name = "orjson"
|
| 1902 |
-
version = "3.10.16"
|
| 1903 |
-
description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
|
| 1904 |
-
optional = false
|
| 1905 |
-
python-versions = ">=3.9"
|
| 1906 |
-
files = [
|
| 1907 |
-
{file = "orjson-3.10.16-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:4cb473b8e79154fa778fb56d2d73763d977be3dcc140587e07dbc545bbfc38f8"},
|
| 1908 |
-
{file = "orjson-3.10.16-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:622a8e85eeec1948690409a19ca1c7d9fd8ff116f4861d261e6ae2094fe59a00"},
|
| 1909 |
-
{file = "orjson-3.10.16-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c682d852d0ce77613993dc967e90e151899fe2d8e71c20e9be164080f468e370"},
|
| 1910 |
-
{file = "orjson-3.10.16-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c520ae736acd2e32df193bcff73491e64c936f3e44a2916b548da048a48b46b"},
|
| 1911 |
-
{file = "orjson-3.10.16-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:134f87c76bfae00f2094d85cfab261b289b76d78c6da8a7a3b3c09d362fd1e06"},
|
| 1912 |
-
{file = "orjson-3.10.16-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b59afde79563e2cf37cfe62ee3b71c063fd5546c8e662d7fcfc2a3d5031a5c4c"},
|
| 1913 |
-
{file = "orjson-3.10.16-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:113602f8241daaff05d6fad25bd481d54c42d8d72ef4c831bb3ab682a54d9e15"},
|
| 1914 |
-
{file = "orjson-3.10.16-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4fc0077d101f8fab4031e6554fc17b4c2ad8fdbc56ee64a727f3c95b379e31da"},
|
| 1915 |
-
{file = "orjson-3.10.16-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:9c6bf6ff180cd69e93f3f50380224218cfab79953a868ea3908430bcfaf9cb5e"},
|
| 1916 |
-
{file = "orjson-3.10.16-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5673eadfa952f95a7cd76418ff189df11b0a9c34b1995dff43a6fdbce5d63bf4"},
|
| 1917 |
-
{file = "orjson-3.10.16-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5fe638a423d852b0ae1e1a79895851696cb0d9fa0946fdbfd5da5072d9bb9551"},
|
| 1918 |
-
{file = "orjson-3.10.16-cp310-cp310-win32.whl", hash = "sha256:33af58f479b3c6435ab8f8b57999874b4b40c804c7a36b5cc6b54d8f28e1d3dd"},
|
| 1919 |
-
{file = "orjson-3.10.16-cp310-cp310-win_amd64.whl", hash = "sha256:0338356b3f56d71293c583350af26f053017071836b07e064e92819ecf1aa055"},
|
| 1920 |
-
{file = "orjson-3.10.16-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:44fcbe1a1884f8bc9e2e863168b0f84230c3d634afe41c678637d2728ea8e739"},
|
| 1921 |
-
{file = "orjson-3.10.16-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78177bf0a9d0192e0b34c3d78bcff7fe21d1b5d84aeb5ebdfe0dbe637b885225"},
|
| 1922 |
-
{file = "orjson-3.10.16-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:12824073a010a754bb27330cad21d6e9b98374f497f391b8707752b96f72e741"},
|
| 1923 |
-
{file = "orjson-3.10.16-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ddd41007e56284e9867864aa2f29f3136bb1dd19a49ca43c0b4eda22a579cf53"},
|
| 1924 |
-
{file = "orjson-3.10.16-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0877c4d35de639645de83666458ca1f12560d9fa7aa9b25d8bb8f52f61627d14"},
|
| 1925 |
-
{file = "orjson-3.10.16-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9a09a539e9cc3beead3e7107093b4ac176d015bec64f811afb5965fce077a03c"},
|
| 1926 |
-
{file = "orjson-3.10.16-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31b98bc9b40610fec971d9a4d67bb2ed02eec0a8ae35f8ccd2086320c28526ca"},
|
| 1927 |
-
{file = "orjson-3.10.16-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0ce243f5a8739f3a18830bc62dc2e05b69a7545bafd3e3249f86668b2bcd8e50"},
|
| 1928 |
-
{file = "orjson-3.10.16-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:64792c0025bae049b3074c6abe0cf06f23c8e9f5a445f4bab31dc5ca23dbf9e1"},
|
| 1929 |
-
{file = "orjson-3.10.16-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ea53f7e68eec718b8e17e942f7ca56c6bd43562eb19db3f22d90d75e13f0431d"},
|
| 1930 |
-
{file = "orjson-3.10.16-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a741ba1a9488c92227711bde8c8c2b63d7d3816883268c808fbeada00400c164"},
|
| 1931 |
-
{file = "orjson-3.10.16-cp311-cp311-win32.whl", hash = "sha256:c7ed2c61bb8226384c3fdf1fb01c51b47b03e3f4536c985078cccc2fd19f1619"},
|
| 1932 |
-
{file = "orjson-3.10.16-cp311-cp311-win_amd64.whl", hash = "sha256:cd67d8b3e0e56222a2e7b7f7da9031e30ecd1fe251c023340b9f12caca85ab60"},
|
| 1933 |
-
{file = "orjson-3.10.16-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:6d3444abbfa71ba21bb042caa4b062535b122248259fdb9deea567969140abca"},
|
| 1934 |
-
{file = "orjson-3.10.16-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:30245c08d818fdcaa48b7d5b81499b8cae09acabb216fe61ca619876b128e184"},
|
| 1935 |
-
{file = "orjson-3.10.16-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0ba1d0baa71bf7579a4ccdcf503e6f3098ef9542106a0eca82395898c8a500a"},
|
| 1936 |
-
{file = "orjson-3.10.16-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb0beefa5ef3af8845f3a69ff2a4aa62529b5acec1cfe5f8a6b4141033fd46ef"},
|
| 1937 |
-
{file = "orjson-3.10.16-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6daa0e1c9bf2e030e93c98394de94506f2a4d12e1e9dadd7c53d5e44d0f9628e"},
|
| 1938 |
-
{file = "orjson-3.10.16-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9da9019afb21e02410ef600e56666652b73eb3e4d213a0ec919ff391a7dd52aa"},
|
| 1939 |
-
{file = "orjson-3.10.16-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:daeb3a1ee17b69981d3aae30c3b4e786b0f8c9e6c71f2b48f1aef934f63f38f4"},
|
| 1940 |
-
{file = "orjson-3.10.16-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80fed80eaf0e20a31942ae5d0728849862446512769692474be5e6b73123a23b"},
|
| 1941 |
-
{file = "orjson-3.10.16-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:73390ed838f03764540a7bdc4071fe0123914c2cc02fb6abf35182d5fd1b7a42"},
|
| 1942 |
-
{file = "orjson-3.10.16-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:a22bba012a0c94ec02a7768953020ab0d3e2b884760f859176343a36c01adf87"},
|
| 1943 |
-
{file = "orjson-3.10.16-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5385bbfdbc90ff5b2635b7e6bebf259652db00a92b5e3c45b616df75b9058e88"},
|
| 1944 |
-
{file = "orjson-3.10.16-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:02c6279016346e774dd92625d46c6c40db687b8a0d685aadb91e26e46cc33e1e"},
|
| 1945 |
-
{file = "orjson-3.10.16-cp312-cp312-win32.whl", hash = "sha256:7ca55097a11426db80f79378e873a8c51f4dde9ffc22de44850f9696b7eb0e8c"},
|
| 1946 |
-
{file = "orjson-3.10.16-cp312-cp312-win_amd64.whl", hash = "sha256:86d127efdd3f9bf5f04809b70faca1e6836556ea3cc46e662b44dab3fe71f3d6"},
|
| 1947 |
-
{file = "orjson-3.10.16-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:148a97f7de811ba14bc6dbc4a433e0341ffd2cc285065199fb5f6a98013744bd"},
|
| 1948 |
-
{file = "orjson-3.10.16-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:1d960c1bf0e734ea36d0adc880076de3846aaec45ffad29b78c7f1b7962516b8"},
|
| 1949 |
-
{file = "orjson-3.10.16-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a318cd184d1269f68634464b12871386808dc8b7c27de8565234d25975a7a137"},
|
| 1950 |
-
{file = "orjson-3.10.16-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:df23f8df3ef9223d1d6748bea63fca55aae7da30a875700809c500a05975522b"},
|
| 1951 |
-
{file = "orjson-3.10.16-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b94dda8dd6d1378f1037d7f3f6b21db769ef911c4567cbaa962bb6dc5021cf90"},
|
| 1952 |
-
{file = "orjson-3.10.16-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f12970a26666a8775346003fd94347d03ccb98ab8aa063036818381acf5f523e"},
|
| 1953 |
-
{file = "orjson-3.10.16-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15a1431a245d856bd56e4d29ea0023eb4d2c8f71efe914beb3dee8ab3f0cd7fb"},
|
| 1954 |
-
{file = "orjson-3.10.16-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c83655cfc247f399a222567d146524674a7b217af7ef8289c0ff53cfe8db09f0"},
|
| 1955 |
-
{file = "orjson-3.10.16-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fa59ae64cb6ddde8f09bdbf7baf933c4cd05734ad84dcf4e43b887eb24e37652"},
|
| 1956 |
-
{file = "orjson-3.10.16-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ca5426e5aacc2e9507d341bc169d8af9c3cbe88f4cd4c1cf2f87e8564730eb56"},
|
| 1957 |
-
{file = "orjson-3.10.16-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6fd5da4edf98a400946cd3a195680de56f1e7575109b9acb9493331047157430"},
|
| 1958 |
-
{file = "orjson-3.10.16-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:980ecc7a53e567169282a5e0ff078393bac78320d44238da4e246d71a4e0e8f5"},
|
| 1959 |
-
{file = "orjson-3.10.16-cp313-cp313-win32.whl", hash = "sha256:28f79944dd006ac540a6465ebd5f8f45dfdf0948ff998eac7a908275b4c1add6"},
|
| 1960 |
-
{file = "orjson-3.10.16-cp313-cp313-win_amd64.whl", hash = "sha256:fe0a145e96d51971407cb8ba947e63ead2aa915db59d6631a355f5f2150b56b7"},
|
| 1961 |
-
{file = "orjson-3.10.16-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c35b5c1fb5a5d6d2fea825dec5d3d16bea3c06ac744708a8e1ff41d4ba10cdf1"},
|
| 1962 |
-
{file = "orjson-3.10.16-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9aac7ecc86218b4b3048c768f227a9452287001d7548500150bb75ee21bf55d"},
|
| 1963 |
-
{file = "orjson-3.10.16-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6e19f5102fff36f923b6dfdb3236ec710b649da975ed57c29833cb910c5a73ab"},
|
| 1964 |
-
{file = "orjson-3.10.16-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:17210490408eb62755a334a6f20ed17c39f27b4f45d89a38cd144cd458eba80b"},
|
| 1965 |
-
{file = "orjson-3.10.16-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fbbe04451db85916e52a9f720bd89bf41f803cf63b038595674691680cbebd1b"},
|
| 1966 |
-
{file = "orjson-3.10.16-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a966eba501a3a1f309f5a6af32ed9eb8f316fa19d9947bac3e6350dc63a6f0a"},
|
| 1967 |
-
{file = "orjson-3.10.16-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01e0d22f06c81e6c435723343e1eefc710e0510a35d897856766d475f2a15687"},
|
| 1968 |
-
{file = "orjson-3.10.16-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7c1e602d028ee285dbd300fb9820b342b937df64d5a3336e1618b354e95a2569"},
|
| 1969 |
-
{file = "orjson-3.10.16-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:d230e5020666a6725629df81e210dc11c3eae7d52fe909a7157b3875238484f3"},
|
| 1970 |
-
{file = "orjson-3.10.16-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:0f8baac07d4555f57d44746a7d80fbe6b2c4fe2ed68136b4abb51cfec512a5e9"},
|
| 1971 |
-
{file = "orjson-3.10.16-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:524e48420b90fc66953e91b660b3d05faaf921277d6707e328fde1c218b31250"},
|
| 1972 |
-
{file = "orjson-3.10.16-cp39-cp39-win32.whl", hash = "sha256:a9f614e31423d7292dbca966a53b2d775c64528c7d91424ab2747d8ab8ce5c72"},
|
| 1973 |
-
{file = "orjson-3.10.16-cp39-cp39-win_amd64.whl", hash = "sha256:c338dc2296d1ed0d5c5c27dfb22d00b330555cb706c2e0be1e1c3940a0895905"},
|
| 1974 |
-
{file = "orjson-3.10.16.tar.gz", hash = "sha256:d2aaa5c495e11d17b9b93205f5fa196737ee3202f000aaebf028dc9a73750f10"},
|
| 1975 |
-
]
|
| 1976 |
-
|
| 1977 |
[[package]]
|
| 1978 |
name = "packaging"
|
| 1979 |
version = "24.2"
|
|
@@ -2352,17 +1994,6 @@ files = [
|
|
| 2352 |
[package.extras]
|
| 2353 |
test = ["cffi", "hypothesis", "pandas", "pytest", "pytz"]
|
| 2354 |
|
| 2355 |
-
[[package]]
|
| 2356 |
-
name = "pycparser"
|
| 2357 |
-
version = "2.22"
|
| 2358 |
-
description = "C parser in Python"
|
| 2359 |
-
optional = false
|
| 2360 |
-
python-versions = ">=3.8"
|
| 2361 |
-
files = [
|
| 2362 |
-
{file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"},
|
| 2363 |
-
{file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"},
|
| 2364 |
-
]
|
| 2365 |
-
|
| 2366 |
[[package]]
|
| 2367 |
name = "pydantic"
|
| 2368 |
version = "2.11.1"
|
|
@@ -2495,26 +2126,6 @@ files = [
|
|
| 2495 |
[package.dependencies]
|
| 2496 |
typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
|
| 2497 |
|
| 2498 |
-
[[package]]
|
| 2499 |
-
name = "pydantic-settings"
|
| 2500 |
-
version = "2.8.1"
|
| 2501 |
-
description = "Settings management using Pydantic"
|
| 2502 |
-
optional = false
|
| 2503 |
-
python-versions = ">=3.8"
|
| 2504 |
-
files = [
|
| 2505 |
-
{file = "pydantic_settings-2.8.1-py3-none-any.whl", hash = "sha256:81942d5ac3d905f7f3ee1a70df5dfb62d5569c12f51a5a647defc1c3d9ee2e9c"},
|
| 2506 |
-
{file = "pydantic_settings-2.8.1.tar.gz", hash = "sha256:d5c663dfbe9db9d5e1c646b2e161da12f0d734d422ee56f567d0ea2cee4e8585"},
|
| 2507 |
-
]
|
| 2508 |
-
|
| 2509 |
-
[package.dependencies]
|
| 2510 |
-
pydantic = ">=2.7.0"
|
| 2511 |
-
python-dotenv = ">=0.21.0"
|
| 2512 |
-
|
| 2513 |
-
[package.extras]
|
| 2514 |
-
azure-key-vault = ["azure-identity (>=1.16.0)", "azure-keyvault-secrets (>=4.8.0)"]
|
| 2515 |
-
toml = ["tomli (>=2.0.1)"]
|
| 2516 |
-
yaml = ["pyyaml (>=6.0.1)"]
|
| 2517 |
-
|
| 2518 |
[[package]]
|
| 2519 |
name = "pydeck"
|
| 2520 |
version = "0.9.1"
|
|
@@ -2794,20 +2405,6 @@ urllib3 = ">=1.21.1,<3"
|
|
| 2794 |
socks = ["PySocks (>=1.5.6,!=1.5.7)"]
|
| 2795 |
use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
| 2796 |
|
| 2797 |
-
[[package]]
|
| 2798 |
-
name = "requests-toolbelt"
|
| 2799 |
-
version = "1.0.0"
|
| 2800 |
-
description = "A utility belt for advanced users of python-requests"
|
| 2801 |
-
optional = false
|
| 2802 |
-
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
| 2803 |
-
files = [
|
| 2804 |
-
{file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"},
|
| 2805 |
-
{file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"},
|
| 2806 |
-
]
|
| 2807 |
-
|
| 2808 |
-
[package.dependencies]
|
| 2809 |
-
requests = ">=2.0.1,<3.0.0"
|
| 2810 |
-
|
| 2811 |
[[package]]
|
| 2812 |
name = "rpds-py"
|
| 2813 |
version = "0.24.0"
|
|
@@ -3339,6 +2936,20 @@ files = [
|
|
| 3339 |
[package.extras]
|
| 3340 |
watchmedo = ["PyYAML (>=3.10)"]
|
| 3341 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3342 |
[[package]]
|
| 3343 |
name = "wrapt"
|
| 3344 |
version = "1.17.2"
|
|
@@ -3523,119 +3134,7 @@ idna = ">=2.0"
|
|
| 3523 |
multidict = ">=4.0"
|
| 3524 |
propcache = ">=0.2.0"
|
| 3525 |
|
| 3526 |
-
[[package]]
|
| 3527 |
-
name = "zstandard"
|
| 3528 |
-
version = "0.23.0"
|
| 3529 |
-
description = "Zstandard bindings for Python"
|
| 3530 |
-
optional = false
|
| 3531 |
-
python-versions = ">=3.8"
|
| 3532 |
-
files = [
|
| 3533 |
-
{file = "zstandard-0.23.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bf0a05b6059c0528477fba9054d09179beb63744355cab9f38059548fedd46a9"},
|
| 3534 |
-
{file = "zstandard-0.23.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fc9ca1c9718cb3b06634c7c8dec57d24e9438b2aa9a0f02b8bb36bf478538880"},
|
| 3535 |
-
{file = "zstandard-0.23.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77da4c6bfa20dd5ea25cbf12c76f181a8e8cd7ea231c673828d0386b1740b8dc"},
|
| 3536 |
-
{file = "zstandard-0.23.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2170c7e0367dde86a2647ed5b6f57394ea7f53545746104c6b09fc1f4223573"},
|
| 3537 |
-
{file = "zstandard-0.23.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c16842b846a8d2a145223f520b7e18b57c8f476924bda92aeee3a88d11cfc391"},
|
| 3538 |
-
{file = "zstandard-0.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:157e89ceb4054029a289fb504c98c6a9fe8010f1680de0201b3eb5dc20aa6d9e"},
|
| 3539 |
-
{file = "zstandard-0.23.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:203d236f4c94cd8379d1ea61db2fce20730b4c38d7f1c34506a31b34edc87bdd"},
|
| 3540 |
-
{file = "zstandard-0.23.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:dc5d1a49d3f8262be192589a4b72f0d03b72dcf46c51ad5852a4fdc67be7b9e4"},
|
| 3541 |
-
{file = "zstandard-0.23.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:752bf8a74412b9892f4e5b58f2f890a039f57037f52c89a740757ebd807f33ea"},
|
| 3542 |
-
{file = "zstandard-0.23.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80080816b4f52a9d886e67f1f96912891074903238fe54f2de8b786f86baded2"},
|
| 3543 |
-
{file = "zstandard-0.23.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:84433dddea68571a6d6bd4fbf8ff398236031149116a7fff6f777ff95cad3df9"},
|
| 3544 |
-
{file = "zstandard-0.23.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ab19a2d91963ed9e42b4e8d77cd847ae8381576585bad79dbd0a8837a9f6620a"},
|
| 3545 |
-
{file = "zstandard-0.23.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:59556bf80a7094d0cfb9f5e50bb2db27fefb75d5138bb16fb052b61b0e0eeeb0"},
|
| 3546 |
-
{file = "zstandard-0.23.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:27d3ef2252d2e62476389ca8f9b0cf2bbafb082a3b6bfe9d90cbcbb5529ecf7c"},
|
| 3547 |
-
{file = "zstandard-0.23.0-cp310-cp310-win32.whl", hash = "sha256:5d41d5e025f1e0bccae4928981e71b2334c60f580bdc8345f824e7c0a4c2a813"},
|
| 3548 |
-
{file = "zstandard-0.23.0-cp310-cp310-win_amd64.whl", hash = "sha256:519fbf169dfac1222a76ba8861ef4ac7f0530c35dd79ba5727014613f91613d4"},
|
| 3549 |
-
{file = "zstandard-0.23.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:34895a41273ad33347b2fc70e1bff4240556de3c46c6ea430a7ed91f9042aa4e"},
|
| 3550 |
-
{file = "zstandard-0.23.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:77ea385f7dd5b5676d7fd943292ffa18fbf5c72ba98f7d09fc1fb9e819b34c23"},
|
| 3551 |
-
{file = "zstandard-0.23.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:983b6efd649723474f29ed42e1467f90a35a74793437d0bc64a5bf482bedfa0a"},
|
| 3552 |
-
{file = "zstandard-0.23.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80a539906390591dd39ebb8d773771dc4db82ace6372c4d41e2d293f8e32b8db"},
|
| 3553 |
-
{file = "zstandard-0.23.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:445e4cb5048b04e90ce96a79b4b63140e3f4ab5f662321975679b5f6360b90e2"},
|
| 3554 |
-
{file = "zstandard-0.23.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd30d9c67d13d891f2360b2a120186729c111238ac63b43dbd37a5a40670b8ca"},
|
| 3555 |
-
{file = "zstandard-0.23.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d20fd853fbb5807c8e84c136c278827b6167ded66c72ec6f9a14b863d809211c"},
|
| 3556 |
-
{file = "zstandard-0.23.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ed1708dbf4d2e3a1c5c69110ba2b4eb6678262028afd6c6fbcc5a8dac9cda68e"},
|
| 3557 |
-
{file = "zstandard-0.23.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:be9b5b8659dff1f913039c2feee1aca499cfbc19e98fa12bc85e037c17ec6ca5"},
|
| 3558 |
-
{file = "zstandard-0.23.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:65308f4b4890aa12d9b6ad9f2844b7ee42c7f7a4fd3390425b242ffc57498f48"},
|
| 3559 |
-
{file = "zstandard-0.23.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:98da17ce9cbf3bfe4617e836d561e433f871129e3a7ac16d6ef4c680f13a839c"},
|
| 3560 |
-
{file = "zstandard-0.23.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:8ed7d27cb56b3e058d3cf684d7200703bcae623e1dcc06ed1e18ecda39fee003"},
|
| 3561 |
-
{file = "zstandard-0.23.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:b69bb4f51daf461b15e7b3db033160937d3ff88303a7bc808c67bbc1eaf98c78"},
|
| 3562 |
-
{file = "zstandard-0.23.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:034b88913ecc1b097f528e42b539453fa82c3557e414b3de9d5632c80439a473"},
|
| 3563 |
-
{file = "zstandard-0.23.0-cp311-cp311-win32.whl", hash = "sha256:f2d4380bf5f62daabd7b751ea2339c1a21d1c9463f1feb7fc2bdcea2c29c3160"},
|
| 3564 |
-
{file = "zstandard-0.23.0-cp311-cp311-win_amd64.whl", hash = "sha256:62136da96a973bd2557f06ddd4e8e807f9e13cbb0bfb9cc06cfe6d98ea90dfe0"},
|
| 3565 |
-
{file = "zstandard-0.23.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b4567955a6bc1b20e9c31612e615af6b53733491aeaa19a6b3b37f3b65477094"},
|
| 3566 |
-
{file = "zstandard-0.23.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e172f57cd78c20f13a3415cc8dfe24bf388614324d25539146594c16d78fcc8"},
|
| 3567 |
-
{file = "zstandard-0.23.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0e166f698c5a3e914947388c162be2583e0c638a4703fc6a543e23a88dea3c1"},
|
| 3568 |
-
{file = "zstandard-0.23.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12a289832e520c6bd4dcaad68e944b86da3bad0d339ef7989fb7e88f92e96072"},
|
| 3569 |
-
{file = "zstandard-0.23.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d50d31bfedd53a928fed6707b15a8dbeef011bb6366297cc435accc888b27c20"},
|
| 3570 |
-
{file = "zstandard-0.23.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72c68dda124a1a138340fb62fa21b9bf4848437d9ca60bd35db36f2d3345f373"},
|
| 3571 |
-
{file = "zstandard-0.23.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53dd9d5e3d29f95acd5de6802e909ada8d8d8cfa37a3ac64836f3bc4bc5512db"},
|
| 3572 |
-
{file = "zstandard-0.23.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:6a41c120c3dbc0d81a8e8adc73312d668cd34acd7725f036992b1b72d22c1772"},
|
| 3573 |
-
{file = "zstandard-0.23.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:40b33d93c6eddf02d2c19f5773196068d875c41ca25730e8288e9b672897c105"},
|
| 3574 |
-
{file = "zstandard-0.23.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9206649ec587e6b02bd124fb7799b86cddec350f6f6c14bc82a2b70183e708ba"},
|
| 3575 |
-
{file = "zstandard-0.23.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76e79bc28a65f467e0409098fa2c4376931fd3207fbeb6b956c7c476d53746dd"},
|
| 3576 |
-
{file = "zstandard-0.23.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:66b689c107857eceabf2cf3d3fc699c3c0fe8ccd18df2219d978c0283e4c508a"},
|
| 3577 |
-
{file = "zstandard-0.23.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9c236e635582742fee16603042553d276cca506e824fa2e6489db04039521e90"},
|
| 3578 |
-
{file = "zstandard-0.23.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a8fffdbd9d1408006baaf02f1068d7dd1f016c6bcb7538682622c556e7b68e35"},
|
| 3579 |
-
{file = "zstandard-0.23.0-cp312-cp312-win32.whl", hash = "sha256:dc1d33abb8a0d754ea4763bad944fd965d3d95b5baef6b121c0c9013eaf1907d"},
|
| 3580 |
-
{file = "zstandard-0.23.0-cp312-cp312-win_amd64.whl", hash = "sha256:64585e1dba664dc67c7cdabd56c1e5685233fbb1fc1966cfba2a340ec0dfff7b"},
|
| 3581 |
-
{file = "zstandard-0.23.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:576856e8594e6649aee06ddbfc738fec6a834f7c85bf7cadd1c53d4a58186ef9"},
|
| 3582 |
-
{file = "zstandard-0.23.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:38302b78a850ff82656beaddeb0bb989a0322a8bbb1bf1ab10c17506681d772a"},
|
| 3583 |
-
{file = "zstandard-0.23.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2240ddc86b74966c34554c49d00eaafa8200a18d3a5b6ffbf7da63b11d74ee2"},
|
| 3584 |
-
{file = "zstandard-0.23.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ef230a8fd217a2015bc91b74f6b3b7d6522ba48be29ad4ea0ca3a3775bf7dd5"},
|
| 3585 |
-
{file = "zstandard-0.23.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:774d45b1fac1461f48698a9d4b5fa19a69d47ece02fa469825b442263f04021f"},
|
| 3586 |
-
{file = "zstandard-0.23.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f77fa49079891a4aab203d0b1744acc85577ed16d767b52fc089d83faf8d8ed"},
|
| 3587 |
-
{file = "zstandard-0.23.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ac184f87ff521f4840e6ea0b10c0ec90c6b1dcd0bad2f1e4a9a1b4fa177982ea"},
|
| 3588 |
-
{file = "zstandard-0.23.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c363b53e257246a954ebc7c488304b5592b9c53fbe74d03bc1c64dda153fb847"},
|
| 3589 |
-
{file = "zstandard-0.23.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e7792606d606c8df5277c32ccb58f29b9b8603bf83b48639b7aedf6df4fe8171"},
|
| 3590 |
-
{file = "zstandard-0.23.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a0817825b900fcd43ac5d05b8b3079937073d2b1ff9cf89427590718b70dd840"},
|
| 3591 |
-
{file = "zstandard-0.23.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:9da6bc32faac9a293ddfdcb9108d4b20416219461e4ec64dfea8383cac186690"},
|
| 3592 |
-
{file = "zstandard-0.23.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fd7699e8fd9969f455ef2926221e0233f81a2542921471382e77a9e2f2b57f4b"},
|
| 3593 |
-
{file = "zstandard-0.23.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:d477ed829077cd945b01fc3115edd132c47e6540ddcd96ca169facff28173057"},
|
| 3594 |
-
{file = "zstandard-0.23.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa6ce8b52c5987b3e34d5674b0ab529a4602b632ebab0a93b07bfb4dfc8f8a33"},
|
| 3595 |
-
{file = "zstandard-0.23.0-cp313-cp313-win32.whl", hash = "sha256:a9b07268d0c3ca5c170a385a0ab9fb7fdd9f5fd866be004c4ea39e44edce47dd"},
|
| 3596 |
-
{file = "zstandard-0.23.0-cp313-cp313-win_amd64.whl", hash = "sha256:f3513916e8c645d0610815c257cbfd3242adfd5c4cfa78be514e5a3ebb42a41b"},
|
| 3597 |
-
{file = "zstandard-0.23.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2ef3775758346d9ac6214123887d25c7061c92afe1f2b354f9388e9e4d48acfc"},
|
| 3598 |
-
{file = "zstandard-0.23.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4051e406288b8cdbb993798b9a45c59a4896b6ecee2f875424ec10276a895740"},
|
| 3599 |
-
{file = "zstandard-0.23.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2d1a054f8f0a191004675755448d12be47fa9bebbcffa3cdf01db19f2d30a54"},
|
| 3600 |
-
{file = "zstandard-0.23.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f83fa6cae3fff8e98691248c9320356971b59678a17f20656a9e59cd32cee6d8"},
|
| 3601 |
-
{file = "zstandard-0.23.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:32ba3b5ccde2d581b1e6aa952c836a6291e8435d788f656fe5976445865ae045"},
|
| 3602 |
-
{file = "zstandard-0.23.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f146f50723defec2975fb7e388ae3a024eb7151542d1599527ec2aa9cacb152"},
|
| 3603 |
-
{file = "zstandard-0.23.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1bfe8de1da6d104f15a60d4a8a768288f66aa953bbe00d027398b93fb9680b26"},
|
| 3604 |
-
{file = "zstandard-0.23.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:29a2bc7c1b09b0af938b7a8343174b987ae021705acabcbae560166567f5a8db"},
|
| 3605 |
-
{file = "zstandard-0.23.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:61f89436cbfede4bc4e91b4397eaa3e2108ebe96d05e93d6ccc95ab5714be512"},
|
| 3606 |
-
{file = "zstandard-0.23.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:53ea7cdc96c6eb56e76bb06894bcfb5dfa93b7adcf59d61c6b92674e24e2dd5e"},
|
| 3607 |
-
{file = "zstandard-0.23.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:a4ae99c57668ca1e78597d8b06d5af837f377f340f4cce993b551b2d7731778d"},
|
| 3608 |
-
{file = "zstandard-0.23.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:379b378ae694ba78cef921581ebd420c938936a153ded602c4fea612b7eaa90d"},
|
| 3609 |
-
{file = "zstandard-0.23.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:50a80baba0285386f97ea36239855f6020ce452456605f262b2d33ac35c7770b"},
|
| 3610 |
-
{file = "zstandard-0.23.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:61062387ad820c654b6a6b5f0b94484fa19515e0c5116faf29f41a6bc91ded6e"},
|
| 3611 |
-
{file = "zstandard-0.23.0-cp38-cp38-win32.whl", hash = "sha256:b8c0bd73aeac689beacd4e7667d48c299f61b959475cdbb91e7d3d88d27c56b9"},
|
| 3612 |
-
{file = "zstandard-0.23.0-cp38-cp38-win_amd64.whl", hash = "sha256:a05e6d6218461eb1b4771d973728f0133b2a4613a6779995df557f70794fd60f"},
|
| 3613 |
-
{file = "zstandard-0.23.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3aa014d55c3af933c1315eb4bb06dd0459661cc0b15cd61077afa6489bec63bb"},
|
| 3614 |
-
{file = "zstandard-0.23.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a7f0804bb3799414af278e9ad51be25edf67f78f916e08afdb983e74161b916"},
|
| 3615 |
-
{file = "zstandard-0.23.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb2b1ecfef1e67897d336de3a0e3f52478182d6a47eda86cbd42504c5cbd009a"},
|
| 3616 |
-
{file = "zstandard-0.23.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:837bb6764be6919963ef41235fd56a6486b132ea64afe5fafb4cb279ac44f259"},
|
| 3617 |
-
{file = "zstandard-0.23.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1516c8c37d3a053b01c1c15b182f3b5f5eef19ced9b930b684a73bad121addf4"},
|
| 3618 |
-
{file = "zstandard-0.23.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48ef6a43b1846f6025dde6ed9fee0c24e1149c1c25f7fb0a0585572b2f3adc58"},
|
| 3619 |
-
{file = "zstandard-0.23.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11e3bf3c924853a2d5835b24f03eeba7fc9b07d8ca499e247e06ff5676461a15"},
|
| 3620 |
-
{file = "zstandard-0.23.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2fb4535137de7e244c230e24f9d1ec194f61721c86ebea04e1581d9d06ea1269"},
|
| 3621 |
-
{file = "zstandard-0.23.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8c24f21fa2af4bb9f2c492a86fe0c34e6d2c63812a839590edaf177b7398f700"},
|
| 3622 |
-
{file = "zstandard-0.23.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a8c86881813a78a6f4508ef9daf9d4995b8ac2d147dcb1a450448941398091c9"},
|
| 3623 |
-
{file = "zstandard-0.23.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:fe3b385d996ee0822fd46528d9f0443b880d4d05528fd26a9119a54ec3f91c69"},
|
| 3624 |
-
{file = "zstandard-0.23.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:82d17e94d735c99621bf8ebf9995f870a6b3e6d14543b99e201ae046dfe7de70"},
|
| 3625 |
-
{file = "zstandard-0.23.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c7c517d74bea1a6afd39aa612fa025e6b8011982a0897768a2f7c8ab4ebb78a2"},
|
| 3626 |
-
{file = "zstandard-0.23.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1fd7e0f1cfb70eb2f95a19b472ee7ad6d9a0a992ec0ae53286870c104ca939e5"},
|
| 3627 |
-
{file = "zstandard-0.23.0-cp39-cp39-win32.whl", hash = "sha256:43da0f0092281bf501f9c5f6f3b4c975a8a0ea82de49ba3f7100e64d422a1274"},
|
| 3628 |
-
{file = "zstandard-0.23.0-cp39-cp39-win_amd64.whl", hash = "sha256:f8346bfa098532bc1fb6c7ef06783e969d87a99dd1d2a5a18a892c1d7a643c58"},
|
| 3629 |
-
{file = "zstandard-0.23.0.tar.gz", hash = "sha256:b2d8c62d08e7255f68f7a740bae85b3c9b8e5466baa9cbf7f57f1cde0ac6bc09"},
|
| 3630 |
-
]
|
| 3631 |
-
|
| 3632 |
-
[package.dependencies]
|
| 3633 |
-
cffi = {version = ">=1.11", markers = "platform_python_implementation == \"PyPy\""}
|
| 3634 |
-
|
| 3635 |
-
[package.extras]
|
| 3636 |
-
cffi = ["cffi (>=1.11)"]
|
| 3637 |
-
|
| 3638 |
[metadata]
|
| 3639 |
lock-version = "2.0"
|
| 3640 |
python-versions = "3.12.*"
|
| 3641 |
-
content-hash = "
|
|
|
|
| 278 |
{file = "certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651"},
|
| 279 |
]
|
| 280 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 281 |
[[package]]
|
| 282 |
name = "charset-normalizer"
|
| 283 |
version = "3.4.1"
|
|
|
|
| 458 |
{file = "distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed"},
|
| 459 |
]
|
| 460 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 461 |
[[package]]
|
| 462 |
name = "filetype"
|
| 463 |
version = "1.2.0"
|
|
|
|
| 797 |
socks = ["socksio (==1.*)"]
|
| 798 |
zstd = ["zstandard (>=0.18.0)"]
|
| 799 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 800 |
[[package]]
|
| 801 |
name = "idna"
|
| 802 |
version = "3.10"
|
|
|
|
| 924 |
{file = "joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e"},
|
| 925 |
]
|
| 926 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 927 |
[[package]]
|
| 928 |
name = "jsonschema"
|
| 929 |
version = "4.23.0"
|
|
|
|
| 959 |
[package.dependencies]
|
| 960 |
referencing = ">=0.31.0"
|
| 961 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 962 |
[[package]]
|
| 963 |
name = "llama-cloud"
|
| 964 |
version = "0.1.17"
|
|
|
|
| 1229 |
[package.dependencies]
|
| 1230 |
llama-cloud-services = ">=0.6.4"
|
| 1231 |
|
| 1232 |
+
[[package]]
|
| 1233 |
+
name = "loguru"
|
| 1234 |
+
version = "0.7.3"
|
| 1235 |
+
description = "Python logging made (stupidly) simple"
|
| 1236 |
+
optional = false
|
| 1237 |
+
python-versions = "<4.0,>=3.5"
|
| 1238 |
+
files = [
|
| 1239 |
+
{file = "loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c"},
|
| 1240 |
+
{file = "loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6"},
|
| 1241 |
+
]
|
| 1242 |
+
|
| 1243 |
+
[package.dependencies]
|
| 1244 |
+
colorama = {version = ">=0.3.4", markers = "sys_platform == \"win32\""}
|
| 1245 |
+
win32-setctime = {version = ">=1.0.0", markers = "sys_platform == \"win32\""}
|
| 1246 |
+
|
| 1247 |
+
[package.extras]
|
| 1248 |
+
dev = ["Sphinx (==8.1.3)", "build (==1.2.2)", "colorama (==0.4.5)", "colorama (==0.4.6)", "exceptiongroup (==1.1.3)", "freezegun (==1.1.0)", "freezegun (==1.5.0)", "mypy (==v0.910)", "mypy (==v0.971)", "mypy (==v1.13.0)", "mypy (==v1.4.1)", "myst-parser (==4.0.0)", "pre-commit (==4.0.1)", "pytest (==6.1.2)", "pytest (==8.3.2)", "pytest-cov (==2.12.1)", "pytest-cov (==5.0.0)", "pytest-cov (==6.0.0)", "pytest-mypy-plugins (==1.9.3)", "pytest-mypy-plugins (==3.1.0)", "sphinx-rtd-theme (==3.0.2)", "tox (==3.27.1)", "tox (==4.23.2)", "twine (==6.0.1)"]
|
| 1249 |
+
|
| 1250 |
[[package]]
|
| 1251 |
name = "markupsafe"
|
| 1252 |
version = "3.0.2"
|
|
|
|
| 1616 |
realtime = ["websockets (>=13,<15)"]
|
| 1617 |
voice-helpers = ["numpy (>=2.0.2)", "sounddevice (>=0.5.1)"]
|
| 1618 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1619 |
[[package]]
|
| 1620 |
name = "packaging"
|
| 1621 |
version = "24.2"
|
|
|
|
| 1994 |
[package.extras]
|
| 1995 |
test = ["cffi", "hypothesis", "pandas", "pytest", "pytz"]
|
| 1996 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1997 |
[[package]]
|
| 1998 |
name = "pydantic"
|
| 1999 |
version = "2.11.1"
|
|
|
|
| 2126 |
[package.dependencies]
|
| 2127 |
typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
|
| 2128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2129 |
[[package]]
|
| 2130 |
name = "pydeck"
|
| 2131 |
version = "0.9.1"
|
|
|
|
| 2405 |
socks = ["PySocks (>=1.5.6,!=1.5.7)"]
|
| 2406 |
use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
| 2407 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2408 |
[[package]]
|
| 2409 |
name = "rpds-py"
|
| 2410 |
version = "0.24.0"
|
|
|
|
| 2936 |
[package.extras]
|
| 2937 |
watchmedo = ["PyYAML (>=3.10)"]
|
| 2938 |
|
| 2939 |
+
[[package]]
|
| 2940 |
+
name = "win32-setctime"
|
| 2941 |
+
version = "1.2.0"
|
| 2942 |
+
description = "A small Python utility to set file creation time on Windows"
|
| 2943 |
+
optional = false
|
| 2944 |
+
python-versions = ">=3.5"
|
| 2945 |
+
files = [
|
| 2946 |
+
{file = "win32_setctime-1.2.0-py3-none-any.whl", hash = "sha256:95d644c4e708aba81dc3704a116d8cbc974d70b3bdb8be1d150e36be6e9d1390"},
|
| 2947 |
+
{file = "win32_setctime-1.2.0.tar.gz", hash = "sha256:ae1fdf948f5640aae05c511ade119313fb6a30d7eabe25fef9764dca5873c4c0"},
|
| 2948 |
+
]
|
| 2949 |
+
|
| 2950 |
+
[package.extras]
|
| 2951 |
+
dev = ["black (>=19.3b0)", "pytest (>=4.6.2)"]
|
| 2952 |
+
|
| 2953 |
[[package]]
|
| 2954 |
name = "wrapt"
|
| 2955 |
version = "1.17.2"
|
|
|
|
| 3134 |
multidict = ">=4.0"
|
| 3135 |
propcache = ">=0.2.0"
|
| 3136 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3137 |
[metadata]
|
| 3138 |
lock-version = "2.0"
|
| 3139 |
python-versions = "3.12.*"
|
| 3140 |
+
content-hash = "01b2981e78d10d610658ff286b95bc5ee0c0c6ae034148abb58a9064784eb9fc"
|
pyproject.toml
CHANGED
|
@@ -11,11 +11,7 @@ streamlit = "^1.44.0"
|
|
| 11 |
python-dotenv = "^1.1.0"
|
| 12 |
openai = "^1.70.0"
|
| 13 |
llama-index = "^0.12.27"
|
| 14 |
-
|
| 15 |
-
langchain-openai = "^0.3.11"
|
| 16 |
-
faiss-cpu = "^1.10.0"
|
| 17 |
-
langchain-core = "^0.3.49"
|
| 18 |
-
langchain-community = "^0.3.20"
|
| 19 |
|
| 20 |
|
| 21 |
[build-system]
|
|
|
|
| 11 |
python-dotenv = "^1.1.0"
|
| 12 |
openai = "^1.70.0"
|
| 13 |
llama-index = "^0.12.27"
|
| 14 |
+
loguru = "^0.7.3"
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
|
| 16 |
|
| 17 |
[build-system]
|
requirements.txt
CHANGED
|
@@ -1,9 +1,5 @@
|
|
| 1 |
-
streamlit
|
| 2 |
-
python-dotenv
|
| 3 |
-
openai
|
| 4 |
-
llama-index
|
| 5 |
-
|
| 6 |
-
langchain-openai == 0.3.11
|
| 7 |
-
faiss-cpu == 1.10.0
|
| 8 |
-
langchain-core == 0.3.49
|
| 9 |
-
langchain-community == 0.3.20
|
|
|
|
| 1 |
+
streamlit==1.44.0
|
| 2 |
+
python-dotenv==1.1.0
|
| 3 |
+
openai==1.70.0
|
| 4 |
+
llama-index==0.12.27
|
| 5 |
+
loguru==0.7.3
|
|
|
|
|
|
|
|
|
|
|
|
utils/__init__.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
| 1 |
-
from .
|
|
|
|
| 2 |
|
| 3 |
-
__all__ = ["FileParser"]
|
| 4 |
|
| 5 |
version = "0.1.0"
|
|
|
|
| 1 |
+
from ._openai_client import OpenAIClient
|
| 2 |
+
from ._web_search import SearchWeb
|
| 3 |
|
| 4 |
+
__all__ = ["FileParser", "OpenAIClient", "SearchWeb"]
|
| 5 |
|
| 6 |
version = "0.1.0"
|
utils/_file_parser.py
DELETED
|
@@ -1,119 +0,0 @@
|
|
| 1 |
-
from llama_index.core import SimpleDirectoryReader
|
| 2 |
-
from llama_index.core.schema import Document
|
| 3 |
-
from llama_parse import LlamaParse
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
class FileParser:
|
| 7 |
-
def __init__(self):
|
| 8 |
-
self.parser = LlamaParse(
|
| 9 |
-
result_type="markdown",
|
| 10 |
-
auto_mode=True,
|
| 11 |
-
auto_mode_trigger_on_image_in_page=True,
|
| 12 |
-
auto_mode_trigger_on_table_in_page=True,
|
| 13 |
-
)
|
| 14 |
-
self.file_extractor = {
|
| 15 |
-
# Base types
|
| 16 |
-
".pdf": self.parser,
|
| 17 |
-
# Documents and presentations
|
| 18 |
-
".abw": self.parser,
|
| 19 |
-
".cgm": self.parser,
|
| 20 |
-
".cwk": self.parser,
|
| 21 |
-
".doc": self.parser,
|
| 22 |
-
".docx": self.parser,
|
| 23 |
-
".docm": self.parser,
|
| 24 |
-
".dot": self.parser,
|
| 25 |
-
".dotm": self.parser,
|
| 26 |
-
".hwp": self.parser,
|
| 27 |
-
".key": self.parser,
|
| 28 |
-
".lwp": self.parser,
|
| 29 |
-
".mw": self.parser,
|
| 30 |
-
".mcw": self.parser,
|
| 31 |
-
".pages": self.parser,
|
| 32 |
-
".pbd": self.parser,
|
| 33 |
-
".ppt": self.parser,
|
| 34 |
-
".pptm": self.parser,
|
| 35 |
-
".pptx": self.parser,
|
| 36 |
-
".pot": self.parser,
|
| 37 |
-
".potm": self.parser,
|
| 38 |
-
".potx": self.parser,
|
| 39 |
-
".rtf": self.parser,
|
| 40 |
-
".sda": self.parser,
|
| 41 |
-
".sdd": self.parser,
|
| 42 |
-
".sdp": self.parser,
|
| 43 |
-
".sdw": self.parser,
|
| 44 |
-
".sgl": self.parser,
|
| 45 |
-
".sti": self.parser,
|
| 46 |
-
".sxi": self.parser,
|
| 47 |
-
".sxw": self.parser,
|
| 48 |
-
".stw": self.parser,
|
| 49 |
-
".sxg": self.parser,
|
| 50 |
-
".uof": self.parser,
|
| 51 |
-
".uop": self.parser,
|
| 52 |
-
".uot": self.parser,
|
| 53 |
-
".vor": self.parser,
|
| 54 |
-
".wpd": self.parser,
|
| 55 |
-
".wps": self.parser,
|
| 56 |
-
".xml": self.parser,
|
| 57 |
-
".zabw": self.parser,
|
| 58 |
-
".epub": self.parser,
|
| 59 |
-
# Images
|
| 60 |
-
".jpg": self.parser,
|
| 61 |
-
".jpeg": self.parser,
|
| 62 |
-
".png": self.parser,
|
| 63 |
-
".gif": self.parser,
|
| 64 |
-
".bmp": self.parser,
|
| 65 |
-
".svg": self.parser,
|
| 66 |
-
".tiff": self.parser,
|
| 67 |
-
".webp": self.parser,
|
| 68 |
-
".web": self.parser,
|
| 69 |
-
".htm": self.parser,
|
| 70 |
-
".html": self.parser,
|
| 71 |
-
# Spreadsheets
|
| 72 |
-
".xlsx": self.parser,
|
| 73 |
-
".xls": self.parser,
|
| 74 |
-
".xlsm": self.parser,
|
| 75 |
-
".xlsb": self.parser,
|
| 76 |
-
".xlw": self.parser,
|
| 77 |
-
".csv": self.parser,
|
| 78 |
-
".dif": self.parser,
|
| 79 |
-
".sylk": self.parser,
|
| 80 |
-
".slk": self.parser,
|
| 81 |
-
".prn": self.parser,
|
| 82 |
-
".numbers": self.parser,
|
| 83 |
-
".et": self.parser,
|
| 84 |
-
".ods": self.parser,
|
| 85 |
-
".fods": self.parser,
|
| 86 |
-
".uos1": self.parser,
|
| 87 |
-
".uos2": self.parser,
|
| 88 |
-
".dbf": self.parser,
|
| 89 |
-
".wk1": self.parser,
|
| 90 |
-
".wk2": self.parser,
|
| 91 |
-
".wk3": self.parser,
|
| 92 |
-
".wk4": self.parser,
|
| 93 |
-
".wks": self.parser,
|
| 94 |
-
".123": self.parser,
|
| 95 |
-
".wq1": self.parser,
|
| 96 |
-
".wq2": self.parser,
|
| 97 |
-
".wb1": self.parser,
|
| 98 |
-
".wb2": self.parser,
|
| 99 |
-
".wb3": self.parser,
|
| 100 |
-
".qpw": self.parser,
|
| 101 |
-
".xlr": self.parser,
|
| 102 |
-
".eth": self.parser,
|
| 103 |
-
".tsv": self.parser,
|
| 104 |
-
# Audio
|
| 105 |
-
".mp3": self.parser,
|
| 106 |
-
".mp4": self.parser,
|
| 107 |
-
".mpeg": self.parser,
|
| 108 |
-
".mpga": self.parser,
|
| 109 |
-
".m4a": self.parser,
|
| 110 |
-
".wav": self.parser,
|
| 111 |
-
".webm": self.parser,
|
| 112 |
-
}
|
| 113 |
-
|
| 114 |
-
def parse(self, input_dir: str, ocr_enabled: bool = False):
|
| 115 |
-
documents: list[Document] = SimpleDirectoryReader(
|
| 116 |
-
input_dir=input_dir,
|
| 117 |
-
file_extractor=self.file_extractor if ocr_enabled else None,
|
| 118 |
-
).load_data()
|
| 119 |
-
return "\n".join([doc.text for doc in documents])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
utils/_openai_client.py
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import json
|
| 2 |
+
import os
|
| 3 |
+
|
| 4 |
+
from loguru import logger
|
| 5 |
+
from openai import OpenAI
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
class OpenAIClient:
|
| 9 |
+
def __init__(
|
| 10 |
+
self,
|
| 11 |
+
tool_functions: dict,
|
| 12 |
+
model: str = "gpt-4o",
|
| 13 |
+
timeout: int = 300,
|
| 14 |
+
max_retries: int = 5,
|
| 15 |
+
):
|
| 16 |
+
self._client = OpenAI(
|
| 17 |
+
api_key=os.getenv("OPENAI_API_KEY"),
|
| 18 |
+
timeout=timeout,
|
| 19 |
+
max_retries=max_retries,
|
| 20 |
+
)
|
| 21 |
+
self._model = model
|
| 22 |
+
self._tool_functions = tool_functions
|
| 23 |
+
|
| 24 |
+
def parse_data(self, instruction: str, response_format: type, content: str):
|
| 25 |
+
completion = self._client.beta.chat.completions.parse(
|
| 26 |
+
model=self._model,
|
| 27 |
+
messages=[
|
| 28 |
+
{"role": "system", "content": instruction},
|
| 29 |
+
{"role": "user", "content": content},
|
| 30 |
+
],
|
| 31 |
+
response_format=response_format,
|
| 32 |
+
)
|
| 33 |
+
return completion.choices[0].message.parsed
|
| 34 |
+
|
| 35 |
+
def _handle_required_action(self, tool_calls: list[dict], chat_history: list = []):
|
| 36 |
+
tool_calls_output = []
|
| 37 |
+
for tool in tool_calls:
|
| 38 |
+
if tool.type == "function":
|
| 39 |
+
function_to_call = self._tool_functions[tool.function.name]
|
| 40 |
+
function_arguments = (
|
| 41 |
+
json.loads(tool.function.arguments)
|
| 42 |
+
if tool.function.arguments
|
| 43 |
+
else {}
|
| 44 |
+
)
|
| 45 |
+
if chat_history:
|
| 46 |
+
function_arguments["chat_history"] = chat_history
|
| 47 |
+
try:
|
| 48 |
+
function_response = function_to_call(**function_arguments)
|
| 49 |
+
except Exception as e:
|
| 50 |
+
logger.error(e)
|
| 51 |
+
function_response = (
|
| 52 |
+
f"Error occurred while executing the function: {e}"
|
| 53 |
+
)
|
| 54 |
+
tool_calls_output.append(
|
| 55 |
+
{
|
| 56 |
+
"role": "tool",
|
| 57 |
+
"tool_call_id": tool.id,
|
| 58 |
+
"name": tool.function.name,
|
| 59 |
+
"content": (
|
| 60 |
+
str(function_response)
|
| 61 |
+
if function_response
|
| 62 |
+
else "No results found."
|
| 63 |
+
),
|
| 64 |
+
}
|
| 65 |
+
)
|
| 66 |
+
|
| 67 |
+
return (function_arguments, tool_calls_output)
|
| 68 |
+
|
| 69 |
+
def _parse_response(self, delta, tool_call_response):
|
| 70 |
+
if delta and delta.tool_calls:
|
| 71 |
+
tool_call_chunk_list = delta.tool_calls
|
| 72 |
+
for tool_call_chunk in tool_call_chunk_list:
|
| 73 |
+
tool_call = tool_call_response.tool_calls[tool_call_chunk.index]
|
| 74 |
+
if tool_call_chunk.function.arguments:
|
| 75 |
+
tool_call.function.arguments += tool_call_chunk.function.arguments
|
| 76 |
+
tool_call_response.tool_calls[tool_call_chunk.index] = tool_call
|
| 77 |
+
return tool_call_response
|
| 78 |
+
|
| 79 |
+
def query(self, instructions: str, messages: list[dict], model: str = "gpt-4o"):
|
| 80 |
+
messages_list = [
|
| 81 |
+
{
|
| 82 |
+
"role": "system",
|
| 83 |
+
"content": f"{instructions}",
|
| 84 |
+
}
|
| 85 |
+
]
|
| 86 |
+
messages_list.extend(messages)
|
| 87 |
+
response = self._client.chat.completions.create(
|
| 88 |
+
model=model,
|
| 89 |
+
messages=messages_list,
|
| 90 |
+
tools=[
|
| 91 |
+
{
|
| 92 |
+
"type": "function",
|
| 93 |
+
"function": {
|
| 94 |
+
"name": "searchWeb",
|
| 95 |
+
"description": "Searches the web for the given query and returns relevant results.",
|
| 96 |
+
"parameters": {
|
| 97 |
+
"type": "object",
|
| 98 |
+
"properties": {
|
| 99 |
+
"query": {
|
| 100 |
+
"type": "string",
|
| 101 |
+
"description": "The search query to find information on the web.",
|
| 102 |
+
},
|
| 103 |
+
"num": {
|
| 104 |
+
"type": "integer",
|
| 105 |
+
"description": "The number of search results to return, default is 10.",
|
| 106 |
+
},
|
| 107 |
+
"location": {
|
| 108 |
+
"type": "string",
|
| 109 |
+
"description": "The location to search from, default is 'United States'.",
|
| 110 |
+
},
|
| 111 |
+
},
|
| 112 |
+
"required": ["query"],
|
| 113 |
+
},
|
| 114 |
+
},
|
| 115 |
+
},
|
| 116 |
+
],
|
| 117 |
+
tool_choice="auto",
|
| 118 |
+
stream=True,
|
| 119 |
+
)
|
| 120 |
+
tool_call_response = None
|
| 121 |
+
for chunk in response:
|
| 122 |
+
delta = chunk.choices[0].delta
|
| 123 |
+
if delta and delta.content:
|
| 124 |
+
yield delta.content
|
| 125 |
+
elif delta:
|
| 126 |
+
if not tool_call_response:
|
| 127 |
+
tool_call_response = delta
|
| 128 |
+
if not tool_call_response.tool_calls and delta.tool_calls:
|
| 129 |
+
tool_call_response.tool_calls = delta.tool_calls
|
| 130 |
+
if (
|
| 131 |
+
tool_call_response
|
| 132 |
+
and delta.tool_calls
|
| 133 |
+
and len(tool_call_response.tool_calls)
|
| 134 |
+
< delta.tool_calls[0].index + 1
|
| 135 |
+
):
|
| 136 |
+
tool_call_response.tool_calls.append(delta.tool_calls[0])
|
| 137 |
+
tool_call_response = self._parse_response(
|
| 138 |
+
delta=delta, tool_call_response=tool_call_response
|
| 139 |
+
)
|
| 140 |
+
if tool_call_response and tool_call_response.tool_calls:
|
| 141 |
+
_, tool_calls_output = self._handle_required_action(
|
| 142 |
+
tool_calls=tool_call_response.tool_calls
|
| 143 |
+
)
|
| 144 |
+
messages.append(tool_call_response)
|
| 145 |
+
messages.extend(tool_calls_output)
|
| 146 |
+
for chunk in self.query(
|
| 147 |
+
instructions=instructions, model=model, messages=messages
|
| 148 |
+
):
|
| 149 |
+
yield chunk
|
utils/_web_search.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import json
|
| 2 |
+
import os
|
| 3 |
+
|
| 4 |
+
import requests
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
class SearchWeb:
|
| 8 |
+
def __init__(self, api_key=os.getenv("SERPER_API_KEY")):
|
| 9 |
+
self.url = "https://google.serper.dev/search"
|
| 10 |
+
self.api_key = api_key
|
| 11 |
+
|
| 12 |
+
def search(self, query, location="United States", num=10):
|
| 13 |
+
payload = json.dumps({"q": query, "location": location, "num": num})
|
| 14 |
+
headers = {
|
| 15 |
+
"X-API-KEY": self.api_key,
|
| 16 |
+
"Content-Type": "application/json",
|
| 17 |
+
}
|
| 18 |
+
response = requests.request("POST", self.url, headers=headers, data=payload)
|
| 19 |
+
return response.text
|