From e71e46bcdfbab0d583aef015604278343fd46c6f Mon Sep 17 00:00:00 2001 From: Stan Girard Date: Mon, 21 Oct 2024 17:30:34 +0200 Subject: [PATCH] feat(ask): non-streaming now calls streaming (#3409) # Description Please include a summary of the changes and the related issue. Please also include relevant motivation and context. ## Checklist before requesting a review Please delete options that are not relevant. - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my code - [ ] I have commented hard-to-understand areas - [ ] I have ideally added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged ## Screenshots (if appropriate): --- core/quivr_core/brain/brain.py | 43 +- core/quivr_core/config.py | 4 +- core/quivr_core/utils.py | 2 +- core/tests/rag_config.yaml | 2 +- core/tests/rag_config_workflow.yaml | 2 +- core/tests/test_config.py | 2 +- examples/chatbot/requirements-dev.lock | 385 +----------------- examples/chatbot/requirements.lock | 385 +----------------- .../simple_question/requirements-dev.lock | 20 +- examples/simple_question/requirements.lock | 20 +- examples/simple_question/simple_question.py | 2 +- 11 files changed, 52 insertions(+), 815 deletions(-) diff --git a/core/quivr_core/brain/brain.py b/core/quivr_core/brain/brain.py index 53eb6c6d7142..228814cde8f4 100644 --- a/core/quivr_core/brain/brain.py +++ b/core/quivr_core/brain/brain.py @@ -545,34 +545,28 @@ def ask( print(answer.answer) ``` """ - llm = self.llm - - # If you passed a different llm model we'll override the brain one - if retrieval_config: - if retrieval_config.llm_config != self.llm.get_config(): - llm = LLMEndpoint.from_config(config=retrieval_config.llm_config) - else: - retrieval_config = RetrievalConfig(llm_config=self.llm.get_config()) - - if rag_pipeline is None: - rag_pipeline = QuivrQARAGLangGraph - - rag_instance = rag_pipeline( - retrieval_config=retrieval_config, llm=llm, vector_store=self.vector_db - ) + async def collect_streamed_response(): + full_answer = "" + async for response in self.ask_streaming( + question=question, + retrieval_config=retrieval_config, + rag_pipeline=rag_pipeline, + list_files=list_files, + chat_history=chat_history + ): + full_answer += response.answer + return full_answer + + # Run the async function in the event loop + loop = asyncio.get_event_loop() + full_answer = loop.run_until_complete(collect_streamed_response()) chat_history = self.default_chat if chat_history is None else chat_history - list_files = [] if list_files is None else list_files - - parsed_response = rag_instance.answer( - question=question, history=chat_history, list_files=list_files - ) - chat_history.append(HumanMessage(content=question)) - chat_history.append(AIMessage(content=parsed_response.answer)) + chat_history.append(AIMessage(content=full_answer)) - # Save answer to the chat history - return parsed_response + # Return the final response + return ParsedRAGResponse(answer=full_answer) async def ask_streaming( self, @@ -635,3 +629,4 @@ async def ask_streaming( chat_history.append(HumanMessage(content=question)) chat_history.append(AIMessage(content=full_answer)) yield response + diff --git a/core/quivr_core/config.py b/core/quivr_core/config.py index 3cadbc9fcd1c..47b7f9ecd2b4 100644 --- a/core/quivr_core/config.py +++ b/core/quivr_core/config.py @@ -233,7 +233,7 @@ class LLMEndpointConfig(QuivrBaseConfig): Attributes: supplier (DefaultModelSuppliers): The LLM provider (default: OPENAI). - model (str): The specific model to use (default: "gpt-3.5-turbo-0125"). + model (str): The specific model to use (default: "gpt-4o"). context_length (int | None): The maximum context length for the model. tokenizer_hub (str | None): The tokenizer to use for this model. llm_base_url (str | None): Base URL for the LLM API. @@ -247,7 +247,7 @@ class LLMEndpointConfig(QuivrBaseConfig): """ supplier: DefaultModelSuppliers = DefaultModelSuppliers.OPENAI - model: str = "gpt-3.5-turbo-0125" + model: str = "gpt-4o" context_length: int | None = None tokenizer_hub: str | None = None llm_base_url: str | None = None diff --git a/core/quivr_core/utils.py b/core/quivr_core/utils.py index 0ff992ec4589..3239db10456a 100644 --- a/core/quivr_core/utils.py +++ b/core/quivr_core/utils.py @@ -26,7 +26,7 @@ def model_supports_function_calling(model_name: str): "gpt-4", "gpt-4-1106-preview", "gpt-4-0613", - "gpt-3.5-turbo-0125", + "gpt-4o", "gpt-3.5-turbo-1106", "gpt-3.5-turbo-0613", "gpt-4-0125-preview", diff --git a/core/tests/rag_config.yaml b/core/tests/rag_config.yaml index 3a4a5214ca27..3c43d0cba099 100644 --- a/core/tests/rag_config.yaml +++ b/core/tests/rag_config.yaml @@ -27,7 +27,7 @@ retrieval_config: supplier: "openai" # The model to use for the LLM for the given supplier - model: "gpt-3.5-turbo-0125" + model: "gpt-4o" max_input_tokens: 2000 diff --git a/core/tests/rag_config_workflow.yaml b/core/tests/rag_config_workflow.yaml index a1750cf61554..f566299cb0a3 100644 --- a/core/tests/rag_config_workflow.yaml +++ b/core/tests/rag_config_workflow.yaml @@ -40,7 +40,7 @@ retrieval_config: supplier: "openai" # The model to use for the LLM for the given supplier - model: "gpt-3.5-turbo-0125" + model: "gpt-4o" max_input_tokens: 2000 diff --git a/core/tests/test_config.py b/core/tests/test_config.py index 1cf06dc5228d..c7d2320cbd9d 100644 --- a/core/tests/test_config.py +++ b/core/tests/test_config.py @@ -5,7 +5,7 @@ def test_default_llm_config(): config = LLMEndpointConfig() assert config.model_dump(exclude={"llm_api_key"}) == LLMEndpointConfig( - model="gpt-3.5-turbo-0125", + model="gpt-4o", llm_base_url=None, llm_api_key=None, max_input_tokens=2000, diff --git a/examples/chatbot/requirements-dev.lock b/examples/chatbot/requirements-dev.lock index 8a856b6ccbed..69268a3f99f7 100644 --- a/examples/chatbot/requirements-dev.lock +++ b/examples/chatbot/requirements-dev.lock @@ -17,8 +17,6 @@ aiohappyeyeballs==2.4.3 aiohttp==3.10.10 # via langchain # via langchain-community - # via llama-index-core - # via llama-index-legacy aiosignal==1.3.1 # via aiohttp alembic==1.13.3 @@ -29,8 +27,6 @@ annotated-types==0.7.0 # via pydantic anthropic==0.36.1 # via langchain-anthropic -antlr4-python3-runtime==4.9.3 - # via omegaconf anyio==4.6.2.post1 # via anthropic # via asyncer @@ -45,11 +41,6 @@ attrs==23.2.0 # via jsonschema # via referencing # via sagemaker -backoff==2.2.1 - # via unstructured -beautifulsoup4==4.12.3 - # via llama-index-readers-file - # via unstructured bidict==0.23.1 # via python-socketio blinker==1.8.2 @@ -69,38 +60,23 @@ certifi==2024.8.30 # via httpcore # via httpx # via requests -cffi==1.17.1 - # via cryptography chainlit==1.2.0 -chardet==5.2.0 - # via unstructured charset-normalizer==3.4.0 - # via pdfminer-six # via requests chevron==0.14.0 # via literalai click==8.1.7 # via chainlit # via flask - # via llama-parse # via mlflow-skinny - # via nltk - # via python-oxmsg # via uvicorn cloudpickle==2.2.1 # via mlflow-skinny # via sagemaker -cobble==0.1.4 - # via mammoth cohere==5.11.0 # via langchain-cohere -coloredlogs==15.0.1 - # via onnxruntime contourpy==1.3.0 # via matplotlib -cryptography==43.0.1 - # via pdfminer-six - # via unstructured-client cycler==0.12.1 # via matplotlib databricks-sdk==0.34.0 @@ -108,41 +84,22 @@ databricks-sdk==0.34.0 dataclasses-json==0.6.7 # via chainlit # via langchain-community - # via llama-index-core - # via llama-index-legacy - # via unstructured defusedxml==0.7.1 # via langchain-anthropic deprecated==1.2.14 - # via llama-index-core - # via llama-index-legacy # via opentelemetry-api # via opentelemetry-exporter-otlp-proto-grpc # via opentelemetry-exporter-otlp-proto-http # via opentelemetry-semantic-conventions - # via pikepdf dill==0.3.9 # via multiprocess # via pathos -dirtyjson==1.0.8 - # via llama-index-core - # via llama-index-legacy distro==1.9.0 # via anthropic # via openai docker==7.1.0 # via mlflow # via sagemaker -docx2txt==0.8 - # via quivr-core -effdet==0.4.1 - # via unstructured -emoji==2.14.0 - # via unstructured -et-xmlfile==1.1.0 - # via openpyxl -eval-type-backport==0.2.0 - # via unstructured-client faiss-cpu==1.9.0 # via quivr-core fastapi==0.112.4 @@ -151,46 +108,27 @@ fastavro==1.9.7 # via cohere filelock==3.16.1 # via huggingface-hub - # via torch # via transformers - # via triton filetype==1.2.0 # via chainlit - # via unstructured -fire==0.7.0 - # via pdf2docx flask==3.0.3 # via mlflow -flatbuffers==24.3.25 - # via onnxruntime fonttools==4.54.1 # via matplotlib - # via pdf2docx frozenlist==1.4.1 # via aiohttp # via aiosignal fsspec==2024.9.0 # via huggingface-hub - # via llama-index-core - # via llama-index-legacy - # via torch gitdb==4.0.11 # via gitpython gitpython==3.1.43 # via mlflow-skinny -google-api-core==2.21.0 - # via google-cloud-vision google-auth==2.35.0 # via databricks-sdk - # via google-api-core - # via google-cloud-vision -google-cloud-vision==3.7.4 - # via unstructured google-pasta==0.2.0 # via sagemaker googleapis-common-protos==1.65.0 - # via google-api-core - # via grpcio-status # via opentelemetry-exporter-otlp-proto-grpc # via opentelemetry-exporter-otlp-proto-http graphene==3.3 @@ -203,11 +141,7 @@ graphql-relay==3.2.0 greenlet==3.1.1 # via sqlalchemy grpcio==1.67.0 - # via google-api-core - # via grpcio-status # via opentelemetry-exporter-otlp-proto-grpc -grpcio-status==1.62.3 - # via google-api-core gunicorn==23.0.0 # via mlflow h11==0.14.0 @@ -223,22 +157,14 @@ httpx==0.27.2 # via langgraph-sdk # via langsmith # via literalai - # via llama-cloud - # via llama-index-core - # via llama-index-legacy # via openai # via quivr-core - # via unstructured-client httpx-sse==0.4.0 # via cohere # via langgraph-sdk huggingface-hub==0.25.2 - # via timm # via tokenizers # via transformers - # via unstructured-inference -humanfriendly==10.0 - # via coloredlogs idna==3.10 # via anyio # via httpx @@ -249,14 +175,11 @@ importlib-metadata==6.11.0 # via opentelemetry-api # via sagemaker # via sagemaker-core -iopath==0.1.10 - # via layoutparser itsdangerous==2.2.0 # via flask jinja2==3.1.4 # via flask # via mlflow - # via torch jiter==0.6.1 # via anthropic # via openai @@ -264,12 +187,9 @@ jmespath==1.0.1 # via boto3 # via botocore joblib==1.4.2 - # via nltk # via scikit-learn jsonpatch==1.33 # via langchain-core -jsonpath-python==1.0.6 - # via unstructured-client jsonpointer==3.0.0 # via jsonpatch jsonschema==4.23.0 @@ -281,14 +201,13 @@ kiwisolver==1.4.7 # via matplotlib langchain==0.2.16 # via langchain-community - # via megaparse # via quivr-core langchain-anthropic==0.1.23 # via quivr-core langchain-cohere==0.2.4 + # via quivr-core langchain-community==0.2.17 # via langchain-experimental - # via megaparse # via quivr-core langchain-core==0.2.41 # via langchain @@ -300,16 +219,13 @@ langchain-core==0.2.41 # via langchain-text-splitters # via langgraph # via langgraph-checkpoint - # via megaparse # via quivr-core langchain-experimental==0.0.65 # via langchain-cohere langchain-openai==0.1.25 - # via megaparse + # via quivr-core langchain-text-splitters==0.2.4 # via langchain -langdetect==1.0.9 - # via unstructured langgraph==0.2.38 # via quivr-core langgraph-checkpoint==2.0.1 @@ -320,74 +236,14 @@ langsmith==0.1.135 # via langchain # via langchain-community # via langchain-core -layoutparser==0.3.4 - # via unstructured-inference lazify==0.4.0 # via chainlit literalai==0.0.607 # via chainlit -llama-cloud==0.1.2 - # via llama-index-indices-managed-llama-cloud -llama-index==0.11.18 - # via megaparse -llama-index-agent-openai==0.3.4 - # via llama-index - # via llama-index-program-openai -llama-index-cli==0.3.1 - # via llama-index -llama-index-core==0.11.18 - # via llama-index - # via llama-index-agent-openai - # via llama-index-cli - # via llama-index-embeddings-openai - # via llama-index-indices-managed-llama-cloud - # via llama-index-llms-openai - # via llama-index-multi-modal-llms-openai - # via llama-index-program-openai - # via llama-index-question-gen-openai - # via llama-index-readers-file - # via llama-index-readers-llama-parse - # via llama-parse -llama-index-embeddings-openai==0.2.5 - # via llama-index - # via llama-index-cli -llama-index-indices-managed-llama-cloud==0.4.0 - # via llama-index -llama-index-legacy==0.9.48.post3 - # via llama-index -llama-index-llms-openai==0.2.15 - # via llama-index - # via llama-index-agent-openai - # via llama-index-cli - # via llama-index-multi-modal-llms-openai - # via llama-index-program-openai - # via llama-index-question-gen-openai -llama-index-multi-modal-llms-openai==0.2.2 - # via llama-index -llama-index-program-openai==0.2.0 - # via llama-index - # via llama-index-question-gen-openai -llama-index-question-gen-openai==0.2.0 - # via llama-index -llama-index-readers-file==0.2.2 - # via llama-index -llama-index-readers-llama-parse==0.3.0 - # via llama-index -llama-parse==0.5.9 - # via llama-index-readers-llama-parse - # via megaparse -lxml==5.3.0 - # via pikepdf - # via python-docx - # via python-pptx - # via unstructured mako==1.3.5 # via alembic -mammoth==1.8.0 - # via megaparse markdown==3.7 # via mlflow - # via unstructured markdown-it-py==3.0.0 # via rich markupsafe==3.0.1 @@ -398,20 +254,14 @@ marshmallow==3.22.0 # via dataclasses-json matplotlib==3.9.2 # via mlflow - # via pycocotools - # via unstructured-inference mdurl==0.1.2 # via markdown-it-py -megaparse==0.0.31 - # via quivr-core mlflow==2.17.0 # via sagemaker-mlflow mlflow-skinny==2.17.0 # via mlflow mock==4.0.3 # via sagemaker-core -mpmath==1.3.0 - # via sympy msgpack==1.1.0 # via langgraph-checkpoint multidict==6.1.0 @@ -423,94 +273,22 @@ mypy-extensions==1.0.0 # via typing-inspect nest-asyncio==1.6.0 # via chainlit - # via llama-index-core - # via llama-index-legacy - # via unstructured-client -networkx==3.4.1 - # via llama-index-core - # via llama-index-legacy - # via torch - # via unstructured -nltk==3.9.1 - # via llama-index - # via llama-index-core - # via llama-index-legacy - # via unstructured numpy==1.26.4 # via chainlit # via contourpy # via faiss-cpu # via langchain # via langchain-community - # via layoutparser - # via llama-index-core - # via llama-index-legacy # via matplotlib # via mlflow - # via onnx - # via onnxruntime - # via opencv-python - # via opencv-python-headless # via pandas - # via pdf2docx # via pyarrow - # via pycocotools # via sagemaker # via scikit-learn # via scipy - # via torchvision # via transformers - # via unstructured -nvidia-cublas-cu12==12.1.3.1 - # via nvidia-cudnn-cu12 - # via nvidia-cusolver-cu12 - # via torch -nvidia-cuda-cupti-cu12==12.1.105 - # via torch -nvidia-cuda-nvrtc-cu12==12.1.105 - # via torch -nvidia-cuda-runtime-cu12==12.1.105 - # via torch -nvidia-cudnn-cu12==9.1.0.70 - # via torch -nvidia-cufft-cu12==11.0.2.54 - # via torch -nvidia-curand-cu12==10.3.2.106 - # via torch -nvidia-cusolver-cu12==11.4.5.107 - # via torch -nvidia-cusparse-cu12==12.1.0.106 - # via nvidia-cusolver-cu12 - # via torch -nvidia-nccl-cu12==2.20.5 - # via torch -nvidia-nvjitlink-cu12==12.6.77 - # via nvidia-cusolver-cu12 - # via nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via torch -olefile==0.47 - # via python-oxmsg -omegaconf==2.3.0 - # via effdet -onnx==1.17.0 - # via unstructured - # via unstructured-inference -onnxruntime==1.19.2 - # via unstructured-inference openai==1.51.2 # via langchain-openai - # via llama-index-agent-openai - # via llama-index-embeddings-openai - # via llama-index-legacy - # via llama-index-llms-openai -opencv-python==4.10.0.84 - # via layoutparser - # via unstructured-inference -opencv-python-headless==4.10.0.84 - # via pdf2docx -openpyxl==3.1.5 - # via unstructured opentelemetry-api==1.27.0 # via mlflow-skinny # via opentelemetry-exporter-otlp-proto-grpc @@ -554,78 +332,35 @@ packaging==23.2 # via marshmallow # via matplotlib # via mlflow-skinny - # via onnxruntime - # via pikepdf # via sagemaker # via transformers - # via unstructured-pytesseract pandas==2.2.3 # via langchain-cohere - # via layoutparser - # via llama-index-legacy - # via llama-index-readers-file # via mlflow # via sagemaker - # via unstructured parameterized==0.9.0 # via cohere pathos==0.3.3 # via sagemaker -pdf2docx==0.5.8 - # via megaparse -pdf2image==1.17.0 - # via layoutparser - # via unstructured -pdfminer-six==20231228 - # via pdfplumber - # via unstructured -pdfplumber==0.11.4 - # via layoutparser - # via megaparse -pi-heif==0.18.0 - # via unstructured -pikepdf==9.3.0 - # via unstructured pillow==11.0.0 - # via layoutparser - # via llama-index-core # via matplotlib - # via pdf2image - # via pdfplumber - # via pi-heif - # via pikepdf - # via python-pptx - # via torchvision - # via unstructured-pytesseract platformdirs==4.3.6 # via sagemaker # via sagemaker-core -portalocker==2.10.1 - # via iopath pox==0.3.5 # via pathos ppft==1.7.6.9 # via pathos propcache==0.2.0 # via yarl -proto-plus==1.24.0 - # via google-api-core - # via google-cloud-vision protobuf==4.25.5 - # via google-api-core - # via google-cloud-vision # via googleapis-common-protos - # via grpcio-status # via mlflow-skinny - # via onnx - # via onnxruntime # via opentelemetry-proto - # via proto-plus # via sagemaker # via transformers psutil==6.0.0 # via sagemaker - # via unstructured pyarrow==17.0.0 # via mlflow pyasn1==0.6.1 @@ -633,12 +368,6 @@ pyasn1==0.6.1 # via rsa pyasn1-modules==0.4.1 # via google-auth -pycocotools==2.0.8 - # via effdet -pycparser==2.22 - # via cffi -pycryptodome==3.21.0 - # via megaparse pydantic==2.9.2 # via anthropic # via chainlit @@ -648,13 +377,9 @@ pydantic==2.9.2 # via langchain-core # via langsmith # via literalai - # via llama-cloud - # via llama-index-core # via openai # via quivr-core # via sagemaker-core - # via sqlmodel - # via unstructured-client pydantic-core==2.23.4 # via cohere # via pydantic @@ -662,44 +387,18 @@ pygments==2.18.0 # via rich pyjwt==2.9.0 # via chainlit -pymupdf==1.24.11 - # via pdf2docx -pypandoc==1.14 - # via unstructured pyparsing==3.2.0 # via matplotlib -pypdf==4.3.1 - # via llama-index-readers-file - # via unstructured - # via unstructured-client -pypdfium2==4.30.0 - # via pdfplumber python-dateutil==2.8.2 # via botocore # via matplotlib # via pandas - # via unstructured-client -python-docx==1.1.2 - # via megaparse - # via pdf2docx - # via unstructured python-dotenv==1.0.1 # via chainlit - # via megaparse python-engineio==4.10.1 # via python-socketio -python-iso639==2024.4.27 - # via unstructured -python-magic==0.4.27 - # via unstructured python-multipart==0.0.9 # via chainlit - # via unstructured-inference -python-oxmsg==0.0.1 - # via unstructured -python-pptx==1.0.2 - # via megaparse - # via unstructured python-socketio==5.11.4 # via chainlit pytz==2024.2 @@ -709,46 +408,33 @@ pyyaml==6.0.2 # via langchain # via langchain-community # via langchain-core - # via layoutparser - # via llama-index-core # via mlflow-skinny - # via omegaconf # via sagemaker # via sagemaker-core - # via timm # via transformers -quivr-core==0.0.18 -rapidfuzz==3.10.0 - # via unstructured - # via unstructured-inference +quivr-core @ file:///${PROJECT_ROOT}/../../core referencing==0.35.1 # via jsonschema # via jsonschema-specifications regex==2024.9.11 - # via nltk # via tiktoken # via transformers requests==2.32.3 # via cohere # via databricks-sdk # via docker - # via google-api-core # via huggingface-hub # via langchain # via langchain-community # via langsmith - # via llama-index-core - # via llama-index-legacy # via mlflow-skinny # via opentelemetry-exporter-otlp-proto-http # via requests-toolbelt # via sagemaker # via tiktoken # via transformers - # via unstructured requests-toolbelt==1.0.0 # via langsmith - # via unstructured-client rich==13.9.2 # via quivr-core # via sagemaker-core @@ -760,7 +446,6 @@ rsa==4.9 s3transfer==0.10.3 # via boto3 safetensors==0.4.5 - # via timm # via transformers sagemaker==2.232.2 # via cohere @@ -773,7 +458,6 @@ schema==0.7.7 scikit-learn==1.5.2 # via mlflow scipy==1.14.1 - # via layoutparser # via mlflow # via scikit-learn sentencepiece==0.2.0 @@ -784,7 +468,6 @@ simple-websocket==1.1.0 # via python-engineio six==1.16.0 # via google-pasta - # via langdetect # via python-dateutil smdebug-rulesconfig==1.0.1 # via sagemaker @@ -795,80 +478,44 @@ sniffio==1.3.1 # via anyio # via httpx # via openai -soupsieve==2.6 - # via beautifulsoup4 sqlalchemy==2.0.36 # via alembic # via langchain # via langchain-community - # via llama-index-core - # via llama-index-legacy # via mlflow - # via sqlmodel -sqlmodel==0.0.22 sqlparse==0.5.1 # via mlflow-skinny starlette==0.37.2 # via chainlit # via fastapi -striprtf==0.0.26 - # via llama-index-readers-file -sympy==1.13.3 - # via onnxruntime - # via torch syncer==2.0.3 # via chainlit tabulate==0.9.0 # via langchain-cohere - # via unstructured tblib==3.0.0 # via sagemaker tenacity==8.5.0 # via langchain # via langchain-community # via langchain-core - # via llama-index-core - # via llama-index-legacy -termcolor==2.5.0 - # via fire threadpoolctl==3.5.0 # via scikit-learn tiktoken==0.8.0 # via langchain-openai - # via llama-index-core - # via llama-index-legacy # via quivr-core -timm==1.0.11 - # via effdet - # via unstructured-inference tokenizers==0.20.1 # via anthropic # via cohere # via transformers tomli==2.0.2 # via chainlit -torch==2.4.1 - # via effdet - # via timm - # via torchvision - # via unstructured-inference -torchvision==0.19.1 - # via effdet - # via timm tqdm==4.66.5 # via huggingface-hub - # via iopath - # via llama-index-core - # via nltk # via openai # via sagemaker # via transformers - # via unstructured transformers==4.45.2 # via quivr-core - # via unstructured-inference -triton==3.0.0 - # via torch types-pyyaml==6.0.12.20240917 # via quivr-core types-requests==2.32.0.20241016 @@ -879,37 +526,17 @@ typing-extensions==4.12.2 # via cohere # via fastapi # via huggingface-hub - # via iopath # via langchain-core - # via llama-index-core - # via llama-index-legacy # via openai # via opentelemetry-sdk # via pydantic # via pydantic-core - # via python-docx - # via python-oxmsg - # via python-pptx # via sqlalchemy - # via torch # via typing-inspect - # via unstructured typing-inspect==0.9.0 # via dataclasses-json - # via llama-index-core - # via llama-index-legacy - # via unstructured-client tzdata==2024.2 # via pandas -unstructured==0.15.14 - # via megaparse - # via quivr-core -unstructured-client==0.26.1 - # via unstructured -unstructured-inference==0.7.36 - # via unstructured -unstructured-pytesseract==0.3.13 - # via unstructured uptrace==1.27.0 # via chainlit urllib3==2.2.3 @@ -926,15 +553,9 @@ werkzeug==3.0.4 # via flask wrapt==1.16.0 # via deprecated - # via llama-index-core # via opentelemetry-instrumentation - # via unstructured wsproto==1.2.0 # via simple-websocket -xlrd==2.0.1 - # via unstructured -xlsxwriter==3.2.0 - # via python-pptx yarl==1.15.4 # via aiohttp zipp==3.20.2 diff --git a/examples/chatbot/requirements.lock b/examples/chatbot/requirements.lock index 8a856b6ccbed..69268a3f99f7 100644 --- a/examples/chatbot/requirements.lock +++ b/examples/chatbot/requirements.lock @@ -17,8 +17,6 @@ aiohappyeyeballs==2.4.3 aiohttp==3.10.10 # via langchain # via langchain-community - # via llama-index-core - # via llama-index-legacy aiosignal==1.3.1 # via aiohttp alembic==1.13.3 @@ -29,8 +27,6 @@ annotated-types==0.7.0 # via pydantic anthropic==0.36.1 # via langchain-anthropic -antlr4-python3-runtime==4.9.3 - # via omegaconf anyio==4.6.2.post1 # via anthropic # via asyncer @@ -45,11 +41,6 @@ attrs==23.2.0 # via jsonschema # via referencing # via sagemaker -backoff==2.2.1 - # via unstructured -beautifulsoup4==4.12.3 - # via llama-index-readers-file - # via unstructured bidict==0.23.1 # via python-socketio blinker==1.8.2 @@ -69,38 +60,23 @@ certifi==2024.8.30 # via httpcore # via httpx # via requests -cffi==1.17.1 - # via cryptography chainlit==1.2.0 -chardet==5.2.0 - # via unstructured charset-normalizer==3.4.0 - # via pdfminer-six # via requests chevron==0.14.0 # via literalai click==8.1.7 # via chainlit # via flask - # via llama-parse # via mlflow-skinny - # via nltk - # via python-oxmsg # via uvicorn cloudpickle==2.2.1 # via mlflow-skinny # via sagemaker -cobble==0.1.4 - # via mammoth cohere==5.11.0 # via langchain-cohere -coloredlogs==15.0.1 - # via onnxruntime contourpy==1.3.0 # via matplotlib -cryptography==43.0.1 - # via pdfminer-six - # via unstructured-client cycler==0.12.1 # via matplotlib databricks-sdk==0.34.0 @@ -108,41 +84,22 @@ databricks-sdk==0.34.0 dataclasses-json==0.6.7 # via chainlit # via langchain-community - # via llama-index-core - # via llama-index-legacy - # via unstructured defusedxml==0.7.1 # via langchain-anthropic deprecated==1.2.14 - # via llama-index-core - # via llama-index-legacy # via opentelemetry-api # via opentelemetry-exporter-otlp-proto-grpc # via opentelemetry-exporter-otlp-proto-http # via opentelemetry-semantic-conventions - # via pikepdf dill==0.3.9 # via multiprocess # via pathos -dirtyjson==1.0.8 - # via llama-index-core - # via llama-index-legacy distro==1.9.0 # via anthropic # via openai docker==7.1.0 # via mlflow # via sagemaker -docx2txt==0.8 - # via quivr-core -effdet==0.4.1 - # via unstructured -emoji==2.14.0 - # via unstructured -et-xmlfile==1.1.0 - # via openpyxl -eval-type-backport==0.2.0 - # via unstructured-client faiss-cpu==1.9.0 # via quivr-core fastapi==0.112.4 @@ -151,46 +108,27 @@ fastavro==1.9.7 # via cohere filelock==3.16.1 # via huggingface-hub - # via torch # via transformers - # via triton filetype==1.2.0 # via chainlit - # via unstructured -fire==0.7.0 - # via pdf2docx flask==3.0.3 # via mlflow -flatbuffers==24.3.25 - # via onnxruntime fonttools==4.54.1 # via matplotlib - # via pdf2docx frozenlist==1.4.1 # via aiohttp # via aiosignal fsspec==2024.9.0 # via huggingface-hub - # via llama-index-core - # via llama-index-legacy - # via torch gitdb==4.0.11 # via gitpython gitpython==3.1.43 # via mlflow-skinny -google-api-core==2.21.0 - # via google-cloud-vision google-auth==2.35.0 # via databricks-sdk - # via google-api-core - # via google-cloud-vision -google-cloud-vision==3.7.4 - # via unstructured google-pasta==0.2.0 # via sagemaker googleapis-common-protos==1.65.0 - # via google-api-core - # via grpcio-status # via opentelemetry-exporter-otlp-proto-grpc # via opentelemetry-exporter-otlp-proto-http graphene==3.3 @@ -203,11 +141,7 @@ graphql-relay==3.2.0 greenlet==3.1.1 # via sqlalchemy grpcio==1.67.0 - # via google-api-core - # via grpcio-status # via opentelemetry-exporter-otlp-proto-grpc -grpcio-status==1.62.3 - # via google-api-core gunicorn==23.0.0 # via mlflow h11==0.14.0 @@ -223,22 +157,14 @@ httpx==0.27.2 # via langgraph-sdk # via langsmith # via literalai - # via llama-cloud - # via llama-index-core - # via llama-index-legacy # via openai # via quivr-core - # via unstructured-client httpx-sse==0.4.0 # via cohere # via langgraph-sdk huggingface-hub==0.25.2 - # via timm # via tokenizers # via transformers - # via unstructured-inference -humanfriendly==10.0 - # via coloredlogs idna==3.10 # via anyio # via httpx @@ -249,14 +175,11 @@ importlib-metadata==6.11.0 # via opentelemetry-api # via sagemaker # via sagemaker-core -iopath==0.1.10 - # via layoutparser itsdangerous==2.2.0 # via flask jinja2==3.1.4 # via flask # via mlflow - # via torch jiter==0.6.1 # via anthropic # via openai @@ -264,12 +187,9 @@ jmespath==1.0.1 # via boto3 # via botocore joblib==1.4.2 - # via nltk # via scikit-learn jsonpatch==1.33 # via langchain-core -jsonpath-python==1.0.6 - # via unstructured-client jsonpointer==3.0.0 # via jsonpatch jsonschema==4.23.0 @@ -281,14 +201,13 @@ kiwisolver==1.4.7 # via matplotlib langchain==0.2.16 # via langchain-community - # via megaparse # via quivr-core langchain-anthropic==0.1.23 # via quivr-core langchain-cohere==0.2.4 + # via quivr-core langchain-community==0.2.17 # via langchain-experimental - # via megaparse # via quivr-core langchain-core==0.2.41 # via langchain @@ -300,16 +219,13 @@ langchain-core==0.2.41 # via langchain-text-splitters # via langgraph # via langgraph-checkpoint - # via megaparse # via quivr-core langchain-experimental==0.0.65 # via langchain-cohere langchain-openai==0.1.25 - # via megaparse + # via quivr-core langchain-text-splitters==0.2.4 # via langchain -langdetect==1.0.9 - # via unstructured langgraph==0.2.38 # via quivr-core langgraph-checkpoint==2.0.1 @@ -320,74 +236,14 @@ langsmith==0.1.135 # via langchain # via langchain-community # via langchain-core -layoutparser==0.3.4 - # via unstructured-inference lazify==0.4.0 # via chainlit literalai==0.0.607 # via chainlit -llama-cloud==0.1.2 - # via llama-index-indices-managed-llama-cloud -llama-index==0.11.18 - # via megaparse -llama-index-agent-openai==0.3.4 - # via llama-index - # via llama-index-program-openai -llama-index-cli==0.3.1 - # via llama-index -llama-index-core==0.11.18 - # via llama-index - # via llama-index-agent-openai - # via llama-index-cli - # via llama-index-embeddings-openai - # via llama-index-indices-managed-llama-cloud - # via llama-index-llms-openai - # via llama-index-multi-modal-llms-openai - # via llama-index-program-openai - # via llama-index-question-gen-openai - # via llama-index-readers-file - # via llama-index-readers-llama-parse - # via llama-parse -llama-index-embeddings-openai==0.2.5 - # via llama-index - # via llama-index-cli -llama-index-indices-managed-llama-cloud==0.4.0 - # via llama-index -llama-index-legacy==0.9.48.post3 - # via llama-index -llama-index-llms-openai==0.2.15 - # via llama-index - # via llama-index-agent-openai - # via llama-index-cli - # via llama-index-multi-modal-llms-openai - # via llama-index-program-openai - # via llama-index-question-gen-openai -llama-index-multi-modal-llms-openai==0.2.2 - # via llama-index -llama-index-program-openai==0.2.0 - # via llama-index - # via llama-index-question-gen-openai -llama-index-question-gen-openai==0.2.0 - # via llama-index -llama-index-readers-file==0.2.2 - # via llama-index -llama-index-readers-llama-parse==0.3.0 - # via llama-index -llama-parse==0.5.9 - # via llama-index-readers-llama-parse - # via megaparse -lxml==5.3.0 - # via pikepdf - # via python-docx - # via python-pptx - # via unstructured mako==1.3.5 # via alembic -mammoth==1.8.0 - # via megaparse markdown==3.7 # via mlflow - # via unstructured markdown-it-py==3.0.0 # via rich markupsafe==3.0.1 @@ -398,20 +254,14 @@ marshmallow==3.22.0 # via dataclasses-json matplotlib==3.9.2 # via mlflow - # via pycocotools - # via unstructured-inference mdurl==0.1.2 # via markdown-it-py -megaparse==0.0.31 - # via quivr-core mlflow==2.17.0 # via sagemaker-mlflow mlflow-skinny==2.17.0 # via mlflow mock==4.0.3 # via sagemaker-core -mpmath==1.3.0 - # via sympy msgpack==1.1.0 # via langgraph-checkpoint multidict==6.1.0 @@ -423,94 +273,22 @@ mypy-extensions==1.0.0 # via typing-inspect nest-asyncio==1.6.0 # via chainlit - # via llama-index-core - # via llama-index-legacy - # via unstructured-client -networkx==3.4.1 - # via llama-index-core - # via llama-index-legacy - # via torch - # via unstructured -nltk==3.9.1 - # via llama-index - # via llama-index-core - # via llama-index-legacy - # via unstructured numpy==1.26.4 # via chainlit # via contourpy # via faiss-cpu # via langchain # via langchain-community - # via layoutparser - # via llama-index-core - # via llama-index-legacy # via matplotlib # via mlflow - # via onnx - # via onnxruntime - # via opencv-python - # via opencv-python-headless # via pandas - # via pdf2docx # via pyarrow - # via pycocotools # via sagemaker # via scikit-learn # via scipy - # via torchvision # via transformers - # via unstructured -nvidia-cublas-cu12==12.1.3.1 - # via nvidia-cudnn-cu12 - # via nvidia-cusolver-cu12 - # via torch -nvidia-cuda-cupti-cu12==12.1.105 - # via torch -nvidia-cuda-nvrtc-cu12==12.1.105 - # via torch -nvidia-cuda-runtime-cu12==12.1.105 - # via torch -nvidia-cudnn-cu12==9.1.0.70 - # via torch -nvidia-cufft-cu12==11.0.2.54 - # via torch -nvidia-curand-cu12==10.3.2.106 - # via torch -nvidia-cusolver-cu12==11.4.5.107 - # via torch -nvidia-cusparse-cu12==12.1.0.106 - # via nvidia-cusolver-cu12 - # via torch -nvidia-nccl-cu12==2.20.5 - # via torch -nvidia-nvjitlink-cu12==12.6.77 - # via nvidia-cusolver-cu12 - # via nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via torch -olefile==0.47 - # via python-oxmsg -omegaconf==2.3.0 - # via effdet -onnx==1.17.0 - # via unstructured - # via unstructured-inference -onnxruntime==1.19.2 - # via unstructured-inference openai==1.51.2 # via langchain-openai - # via llama-index-agent-openai - # via llama-index-embeddings-openai - # via llama-index-legacy - # via llama-index-llms-openai -opencv-python==4.10.0.84 - # via layoutparser - # via unstructured-inference -opencv-python-headless==4.10.0.84 - # via pdf2docx -openpyxl==3.1.5 - # via unstructured opentelemetry-api==1.27.0 # via mlflow-skinny # via opentelemetry-exporter-otlp-proto-grpc @@ -554,78 +332,35 @@ packaging==23.2 # via marshmallow # via matplotlib # via mlflow-skinny - # via onnxruntime - # via pikepdf # via sagemaker # via transformers - # via unstructured-pytesseract pandas==2.2.3 # via langchain-cohere - # via layoutparser - # via llama-index-legacy - # via llama-index-readers-file # via mlflow # via sagemaker - # via unstructured parameterized==0.9.0 # via cohere pathos==0.3.3 # via sagemaker -pdf2docx==0.5.8 - # via megaparse -pdf2image==1.17.0 - # via layoutparser - # via unstructured -pdfminer-six==20231228 - # via pdfplumber - # via unstructured -pdfplumber==0.11.4 - # via layoutparser - # via megaparse -pi-heif==0.18.0 - # via unstructured -pikepdf==9.3.0 - # via unstructured pillow==11.0.0 - # via layoutparser - # via llama-index-core # via matplotlib - # via pdf2image - # via pdfplumber - # via pi-heif - # via pikepdf - # via python-pptx - # via torchvision - # via unstructured-pytesseract platformdirs==4.3.6 # via sagemaker # via sagemaker-core -portalocker==2.10.1 - # via iopath pox==0.3.5 # via pathos ppft==1.7.6.9 # via pathos propcache==0.2.0 # via yarl -proto-plus==1.24.0 - # via google-api-core - # via google-cloud-vision protobuf==4.25.5 - # via google-api-core - # via google-cloud-vision # via googleapis-common-protos - # via grpcio-status # via mlflow-skinny - # via onnx - # via onnxruntime # via opentelemetry-proto - # via proto-plus # via sagemaker # via transformers psutil==6.0.0 # via sagemaker - # via unstructured pyarrow==17.0.0 # via mlflow pyasn1==0.6.1 @@ -633,12 +368,6 @@ pyasn1==0.6.1 # via rsa pyasn1-modules==0.4.1 # via google-auth -pycocotools==2.0.8 - # via effdet -pycparser==2.22 - # via cffi -pycryptodome==3.21.0 - # via megaparse pydantic==2.9.2 # via anthropic # via chainlit @@ -648,13 +377,9 @@ pydantic==2.9.2 # via langchain-core # via langsmith # via literalai - # via llama-cloud - # via llama-index-core # via openai # via quivr-core # via sagemaker-core - # via sqlmodel - # via unstructured-client pydantic-core==2.23.4 # via cohere # via pydantic @@ -662,44 +387,18 @@ pygments==2.18.0 # via rich pyjwt==2.9.0 # via chainlit -pymupdf==1.24.11 - # via pdf2docx -pypandoc==1.14 - # via unstructured pyparsing==3.2.0 # via matplotlib -pypdf==4.3.1 - # via llama-index-readers-file - # via unstructured - # via unstructured-client -pypdfium2==4.30.0 - # via pdfplumber python-dateutil==2.8.2 # via botocore # via matplotlib # via pandas - # via unstructured-client -python-docx==1.1.2 - # via megaparse - # via pdf2docx - # via unstructured python-dotenv==1.0.1 # via chainlit - # via megaparse python-engineio==4.10.1 # via python-socketio -python-iso639==2024.4.27 - # via unstructured -python-magic==0.4.27 - # via unstructured python-multipart==0.0.9 # via chainlit - # via unstructured-inference -python-oxmsg==0.0.1 - # via unstructured -python-pptx==1.0.2 - # via megaparse - # via unstructured python-socketio==5.11.4 # via chainlit pytz==2024.2 @@ -709,46 +408,33 @@ pyyaml==6.0.2 # via langchain # via langchain-community # via langchain-core - # via layoutparser - # via llama-index-core # via mlflow-skinny - # via omegaconf # via sagemaker # via sagemaker-core - # via timm # via transformers -quivr-core==0.0.18 -rapidfuzz==3.10.0 - # via unstructured - # via unstructured-inference +quivr-core @ file:///${PROJECT_ROOT}/../../core referencing==0.35.1 # via jsonschema # via jsonschema-specifications regex==2024.9.11 - # via nltk # via tiktoken # via transformers requests==2.32.3 # via cohere # via databricks-sdk # via docker - # via google-api-core # via huggingface-hub # via langchain # via langchain-community # via langsmith - # via llama-index-core - # via llama-index-legacy # via mlflow-skinny # via opentelemetry-exporter-otlp-proto-http # via requests-toolbelt # via sagemaker # via tiktoken # via transformers - # via unstructured requests-toolbelt==1.0.0 # via langsmith - # via unstructured-client rich==13.9.2 # via quivr-core # via sagemaker-core @@ -760,7 +446,6 @@ rsa==4.9 s3transfer==0.10.3 # via boto3 safetensors==0.4.5 - # via timm # via transformers sagemaker==2.232.2 # via cohere @@ -773,7 +458,6 @@ schema==0.7.7 scikit-learn==1.5.2 # via mlflow scipy==1.14.1 - # via layoutparser # via mlflow # via scikit-learn sentencepiece==0.2.0 @@ -784,7 +468,6 @@ simple-websocket==1.1.0 # via python-engineio six==1.16.0 # via google-pasta - # via langdetect # via python-dateutil smdebug-rulesconfig==1.0.1 # via sagemaker @@ -795,80 +478,44 @@ sniffio==1.3.1 # via anyio # via httpx # via openai -soupsieve==2.6 - # via beautifulsoup4 sqlalchemy==2.0.36 # via alembic # via langchain # via langchain-community - # via llama-index-core - # via llama-index-legacy # via mlflow - # via sqlmodel -sqlmodel==0.0.22 sqlparse==0.5.1 # via mlflow-skinny starlette==0.37.2 # via chainlit # via fastapi -striprtf==0.0.26 - # via llama-index-readers-file -sympy==1.13.3 - # via onnxruntime - # via torch syncer==2.0.3 # via chainlit tabulate==0.9.0 # via langchain-cohere - # via unstructured tblib==3.0.0 # via sagemaker tenacity==8.5.0 # via langchain # via langchain-community # via langchain-core - # via llama-index-core - # via llama-index-legacy -termcolor==2.5.0 - # via fire threadpoolctl==3.5.0 # via scikit-learn tiktoken==0.8.0 # via langchain-openai - # via llama-index-core - # via llama-index-legacy # via quivr-core -timm==1.0.11 - # via effdet - # via unstructured-inference tokenizers==0.20.1 # via anthropic # via cohere # via transformers tomli==2.0.2 # via chainlit -torch==2.4.1 - # via effdet - # via timm - # via torchvision - # via unstructured-inference -torchvision==0.19.1 - # via effdet - # via timm tqdm==4.66.5 # via huggingface-hub - # via iopath - # via llama-index-core - # via nltk # via openai # via sagemaker # via transformers - # via unstructured transformers==4.45.2 # via quivr-core - # via unstructured-inference -triton==3.0.0 - # via torch types-pyyaml==6.0.12.20240917 # via quivr-core types-requests==2.32.0.20241016 @@ -879,37 +526,17 @@ typing-extensions==4.12.2 # via cohere # via fastapi # via huggingface-hub - # via iopath # via langchain-core - # via llama-index-core - # via llama-index-legacy # via openai # via opentelemetry-sdk # via pydantic # via pydantic-core - # via python-docx - # via python-oxmsg - # via python-pptx # via sqlalchemy - # via torch # via typing-inspect - # via unstructured typing-inspect==0.9.0 # via dataclasses-json - # via llama-index-core - # via llama-index-legacy - # via unstructured-client tzdata==2024.2 # via pandas -unstructured==0.15.14 - # via megaparse - # via quivr-core -unstructured-client==0.26.1 - # via unstructured -unstructured-inference==0.7.36 - # via unstructured -unstructured-pytesseract==0.3.13 - # via unstructured uptrace==1.27.0 # via chainlit urllib3==2.2.3 @@ -926,15 +553,9 @@ werkzeug==3.0.4 # via flask wrapt==1.16.0 # via deprecated - # via llama-index-core # via opentelemetry-instrumentation - # via unstructured wsproto==1.2.0 # via simple-websocket -xlrd==2.0.1 - # via unstructured -xlsxwriter==3.2.0 - # via python-pptx yarl==1.15.4 # via aiohttp zipp==3.20.2 diff --git a/examples/simple_question/requirements-dev.lock b/examples/simple_question/requirements-dev.lock index dc66f67d6b68..2083a1da619b 100644 --- a/examples/simple_question/requirements-dev.lock +++ b/examples/simple_question/requirements-dev.lock @@ -20,13 +20,13 @@ aiosignal==1.3.1 # via aiohttp annotated-types==0.7.0 # via pydantic -anthropic==0.36.1 +anthropic==0.36.2 # via langchain-anthropic anyio==4.6.2.post1 # via anthropic # via httpx # via openai -attrs==23.2.0 +attrs==24.2.0 # via aiohttp certifi==2024.8.30 # via httpcore @@ -53,7 +53,7 @@ filelock==3.16.1 frozenlist==1.4.1 # via aiohttp # via aiosignal -fsspec==2024.9.0 +fsspec==2024.10.0 # via huggingface-hub greenlet==3.1.1 # via sqlalchemy @@ -71,7 +71,7 @@ httpx==0.27.2 httpx-sse==0.4.0 # via cohere # via langgraph-sdk -huggingface-hub==0.25.2 +huggingface-hub==0.26.1 # via tokenizers # via transformers idna==3.10 @@ -113,19 +113,19 @@ langchain-openai==0.1.25 # via quivr-core langchain-text-splitters==0.2.4 # via langchain -langgraph==0.2.38 +langgraph==0.2.39 # via quivr-core langgraph-checkpoint==2.0.1 # via langgraph langgraph-sdk==0.1.33 # via langgraph -langsmith==0.1.135 +langsmith==0.1.136 # via langchain # via langchain-community # via langchain-core markdown-it-py==3.0.0 # via rich -marshmallow==3.22.0 +marshmallow==3.23.0 # via dataclasses-json mdurl==0.1.2 # via markdown-it-py @@ -144,7 +144,7 @@ numpy==1.26.4 # via transformers openai==1.52.0 # via langchain-openai -orjson==3.10.7 +orjson==3.10.9 # via langgraph-sdk # via langsmith packaging==24.1 @@ -159,7 +159,7 @@ parameterized==0.9.0 # via cohere propcache==0.2.0 # via yarl -protobuf==4.25.5 +protobuf==5.28.2 # via transformers pydantic==2.9.2 # via anthropic @@ -255,5 +255,5 @@ tzdata==2024.2 urllib3==2.2.3 # via requests # via types-requests -yarl==1.15.4 +yarl==1.15.5 # via aiohttp diff --git a/examples/simple_question/requirements.lock b/examples/simple_question/requirements.lock index dc66f67d6b68..2083a1da619b 100644 --- a/examples/simple_question/requirements.lock +++ b/examples/simple_question/requirements.lock @@ -20,13 +20,13 @@ aiosignal==1.3.1 # via aiohttp annotated-types==0.7.0 # via pydantic -anthropic==0.36.1 +anthropic==0.36.2 # via langchain-anthropic anyio==4.6.2.post1 # via anthropic # via httpx # via openai -attrs==23.2.0 +attrs==24.2.0 # via aiohttp certifi==2024.8.30 # via httpcore @@ -53,7 +53,7 @@ filelock==3.16.1 frozenlist==1.4.1 # via aiohttp # via aiosignal -fsspec==2024.9.0 +fsspec==2024.10.0 # via huggingface-hub greenlet==3.1.1 # via sqlalchemy @@ -71,7 +71,7 @@ httpx==0.27.2 httpx-sse==0.4.0 # via cohere # via langgraph-sdk -huggingface-hub==0.25.2 +huggingface-hub==0.26.1 # via tokenizers # via transformers idna==3.10 @@ -113,19 +113,19 @@ langchain-openai==0.1.25 # via quivr-core langchain-text-splitters==0.2.4 # via langchain -langgraph==0.2.38 +langgraph==0.2.39 # via quivr-core langgraph-checkpoint==2.0.1 # via langgraph langgraph-sdk==0.1.33 # via langgraph -langsmith==0.1.135 +langsmith==0.1.136 # via langchain # via langchain-community # via langchain-core markdown-it-py==3.0.0 # via rich -marshmallow==3.22.0 +marshmallow==3.23.0 # via dataclasses-json mdurl==0.1.2 # via markdown-it-py @@ -144,7 +144,7 @@ numpy==1.26.4 # via transformers openai==1.52.0 # via langchain-openai -orjson==3.10.7 +orjson==3.10.9 # via langgraph-sdk # via langsmith packaging==24.1 @@ -159,7 +159,7 @@ parameterized==0.9.0 # via cohere propcache==0.2.0 # via yarl -protobuf==4.25.5 +protobuf==5.28.2 # via transformers pydantic==2.9.2 # via anthropic @@ -255,5 +255,5 @@ tzdata==2024.2 urllib3==2.2.3 # via requests # via types-requests -yarl==1.15.4 +yarl==1.15.5 # via aiohttp diff --git a/examples/simple_question/simple_question.py b/examples/simple_question/simple_question.py index 33537d45121d..4067635e9722 100644 --- a/examples/simple_question/simple_question.py +++ b/examples/simple_question/simple_question.py @@ -15,4 +15,4 @@ answer = brain.ask( "what is gold? asnwer in french" ) - print("answer QuivrQARAGLangGraph :", answer) + print("answer QuivrQARAGLangGraph :", answer.answer)