quivr/core/requirements-dev.lock
Jacopo Chevallard 285fe5b960
feat: websearch, tool use, user intent, dynamic retrieval, multiple questions (#3424)
# Description

This PR includes far too many new features:

- detection of user intent (closes CORE-211)
- treating multiple questions in parallel (closes CORE-212)
- using the chat history when answering a question (closes CORE-213)
- filtering of retrieved chunks by relevance threshold (closes CORE-217)
- dynamic retrieval of chunks (closes CORE-218)
- enabling web search via Tavily (closes CORE-220)
- enabling agent / assistant to activate tools when relevant to complete
the user task (closes CORE-224)

Also closes CORE-205

## 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):

---------

Co-authored-by: Stan Girard <stan@quivr.app>
2024-10-31 17:57:54 +01:00

375 lines
7.4 KiB
Plaintext

# generated by rye
# use `rye lock` or `rye sync` to update this lockfile
#
# last locked with the following flags:
# pre: false
# features: []
# all-features: false
# with-sources: false
# generate-hashes: false
# universal: false
-e file:.
aiofiles==24.1.0
# via quivr-core
aiohappyeyeballs==2.4.3
# via aiohttp
aiohttp==3.10.10
# via langchain
# via langchain-community
aiosignal==1.3.1
# via aiohttp
annotated-types==0.7.0
# via pydantic
anthropic==0.36.1
# via langchain-anthropic
anyio==4.6.2.post1
# via anthropic
# via httpx
# via openai
appnope==0.1.4
# via ipykernel
asttokens==2.4.1
# via stack-data
attrs==24.2.0
# via aiohttp
black==24.10.0
# via flake8-black
certifi==2024.8.30
# via httpcore
# via httpx
# via requests
cfgv==3.4.0
# via pre-commit
charset-normalizer==3.4.0
# via requests
click==8.1.7
# via black
cohere==5.11.1
# via langchain-cohere
comm==0.2.2
# via ipykernel
dataclasses-json==0.6.7
# via langchain-community
debugpy==1.8.7
# via ipykernel
decorator==5.1.1
# via ipython
defusedxml==0.7.1
# via langchain-anthropic
distlib==0.3.9
# via virtualenv
distro==1.9.0
# via anthropic
# via openai
execnet==2.1.1
# via pytest-xdist
executing==2.1.0
# via stack-data
faiss-cpu==1.9.0
# via quivr-core
fastavro==1.9.7
# via cohere
filelock==3.16.1
# via huggingface-hub
# via transformers
# via virtualenv
flake8==7.1.1
# via flake8-black
flake8-black==0.3.6
frozenlist==1.4.1
# via aiohttp
# via aiosignal
fsspec==2024.9.0
# via huggingface-hub
h11==0.14.0
# via httpcore
httpcore==1.0.6
# via httpx
httpx==0.27.2
# via anthropic
# via cohere
# via langgraph-sdk
# via langsmith
# via openai
# via quivr-core
httpx-sse==0.4.0
# via cohere
# via langgraph-sdk
huggingface-hub==0.25.2
# via tokenizers
# via transformers
identify==2.6.1
# via pre-commit
idna==3.10
# via anyio
# via httpx
# via requests
# via yarl
iniconfig==2.0.0
# via pytest
ipykernel==6.29.5
ipython==8.28.0
# via ipykernel
jedi==0.19.1
# via ipython
jiter==0.6.1
# via anthropic
# via openai
jsonpatch==1.33
# via langchain-core
jsonpointer==3.0.0
# via jsonpatch
jupyter-client==8.6.3
# via ipykernel
jupyter-core==5.7.2
# via ipykernel
# via jupyter-client
langchain==0.2.16
# via langchain-community
# 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 quivr-core
langchain-core==0.2.41
# via langchain
# via langchain-anthropic
# via langchain-cohere
# via langchain-community
# via langchain-experimental
# via langchain-openai
# via langchain-text-splitters
# via langgraph
# via langgraph-checkpoint
# via quivr-core
langchain-experimental==0.0.65
# via langchain-cohere
langchain-openai==0.1.25
# via quivr-core
langchain-text-splitters==0.2.4
# via langchain
langgraph==0.2.38
# via quivr-core
langgraph-checkpoint==2.0.1
# via langgraph
langgraph-sdk==0.1.33
# via langgraph
langsmith==0.1.135
# via langchain
# via langchain-community
# via langchain-core
markdown-it-py==3.0.0
# via rich
marshmallow==3.22.0
# via dataclasses-json
matplotlib-inline==0.1.7
# via ipykernel
# via ipython
mccabe==0.7.0
# via flake8
mdurl==0.1.2
# via markdown-it-py
msgpack==1.1.0
# via langgraph-checkpoint
multidict==6.1.0
# via aiohttp
# via yarl
mypy==1.12.0
mypy-extensions==1.0.0
# via black
# via mypy
# via typing-inspect
nest-asyncio==1.6.0
# via ipykernel
nodeenv==1.9.1
# via pre-commit
numpy==1.26.4
# via faiss-cpu
# via langchain
# via langchain-community
# via pandas
# via transformers
openai==1.52.0
# via langchain-openai
orjson==3.10.7
# via langgraph-sdk
# via langsmith
packaging==24.1
# via black
# via faiss-cpu
# via huggingface-hub
# via ipykernel
# via langchain-core
# via marshmallow
# via pytest
# via transformers
pandas==2.2.3
# via langchain-cohere
parameterized==0.9.0
# via cohere
parso==0.8.4
# via jedi
pathspec==0.12.1
# via black
pexpect==4.9.0
# via ipython
platformdirs==4.3.6
# via black
# via jupyter-core
# via virtualenv
pluggy==1.5.0
# via pytest
pre-commit==4.0.1
prompt-toolkit==3.0.48
# via ipython
propcache==0.2.0
# via yarl
protobuf==5.28.2
# via transformers
psutil==6.0.0
# via ipykernel
ptyprocess==0.7.0
# via pexpect
pure-eval==0.2.3
# via stack-data
py-cpuinfo==9.0.0
# via pytest-benchmark
pycodestyle==2.12.1
# via flake8
pydantic==2.9.2
# via anthropic
# via cohere
# via langchain
# via langchain-core
# via langsmith
# via openai
# via quivr-core
pydantic-core==2.23.4
# via cohere
# via pydantic
pyflakes==3.2.0
# via flake8
pygments==2.18.0
# via ipython
# via rich
pytest==8.3.3
# via pytest-asyncio
# via pytest-benchmark
# via pytest-xdist
pytest-asyncio==0.24.0
pytest-benchmark==4.0.0
pytest-xdist==3.6.1
python-dateutil==2.8.2
# via jupyter-client
# via pandas
pytz==2024.2
# via pandas
pyyaml==6.0.2
# via huggingface-hub
# via langchain
# via langchain-community
# via langchain-core
# via pre-commit
# via transformers
pyzmq==26.2.0
# via ipykernel
# via jupyter-client
rapidfuzz==3.10.1
# via quivr-core
regex==2024.9.11
# via tiktoken
# via transformers
requests==2.32.3
# via cohere
# via huggingface-hub
# via langchain
# via langchain-community
# via langsmith
# via requests-toolbelt
# via tiktoken
# via transformers
requests-toolbelt==1.0.0
# via langsmith
rich==13.9.2
# via quivr-core
ruff==0.6.9
safetensors==0.4.5
# via transformers
sentencepiece==0.2.0
# via transformers
six==1.16.0
# via asttokens
# via python-dateutil
sniffio==1.3.1
# via anthropic
# via anyio
# via httpx
# via openai
sqlalchemy==2.0.36
# via langchain
# via langchain-community
stack-data==0.6.3
# via ipython
tabulate==0.9.0
# via langchain-cohere
tenacity==8.5.0
# via langchain
# via langchain-community
# via langchain-core
tiktoken==0.8.0
# via langchain-openai
# via quivr-core
tokenizers==0.20.1
# via anthropic
# via cohere
# via transformers
tornado==6.4.1
# via ipykernel
# via jupyter-client
tqdm==4.66.5
# via huggingface-hub
# via openai
# via transformers
traitlets==5.14.3
# via comm
# via ipykernel
# via ipython
# via jupyter-client
# via jupyter-core
# via matplotlib-inline
transformers==4.45.2
# via quivr-core
types-pyyaml==6.0.12.20240917
# via quivr-core
types-requests==2.32.0.20241016
# via cohere
typing-extensions==4.12.2
# via anthropic
# via cohere
# via huggingface-hub
# via ipython
# via langchain-core
# via mypy
# via openai
# via pydantic
# via pydantic-core
# via sqlalchemy
# via typing-inspect
typing-inspect==0.9.0
# via dataclasses-json
tzdata==2024.2
# via pandas
urllib3==2.2.3
# via requests
# via types-requests
virtualenv==20.26.6
# via pre-commit
wcwidth==0.2.13
# via prompt-toolkit
yarl==1.15.3
# via aiohttp