Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/v1.3: Refactor for efficiency and speed #64

Closed
wants to merge 47 commits into from
Closed

Conversation

parambharat
Copy link
Contributor

@parambharat parambharat commented Feb 16, 2024

This PR includes the following changes to improve the efficiency and speed of wandbot

  • Replaces llama-index with LECL and makes LLM calls parallel
  • Improves parsing of documents in the ingestion
  • Replaces FAISS with ChromaDB
  • Improves the query enhancer to be a single LLM call
  • Splits the RAG pipeline into query enhancement, retrieval, and response synthesis modules
  • Adds parent document retrieval in the retrieval module
  • Adds sub-query answering in the response synthesis
  • Splits the API into routers for retrieval, database and chat - @ Breaking change for API definitions

TODO: Need to change the eval modules to use LECL from llama-index - @ayulockin

parambharat and others added 30 commits February 1, 2024 09:08
# Conflicts:
#	pyproject.toml
#	src/wandbot/api/app.py
#	src/wandbot/api/routers/retrieve.py
#	src/wandbot/chat/chat.py
#	src/wandbot/ingestion/__main__.py
#	src/wandbot/ingestion/prepare_data.py
#	src/wandbot/ingestion/vectorstores.py
#	src/wandbot/retriever/base.py
#	src/wandbot/retriever/external.py
#	src/wandbot/retriever/fusion.py
#	src/wandbot/retriever/postprocessors.py
Copy link
Member

@morganmcg1 morganmcg1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, we should run evals on this before releasing it, given there are so maybe changes we should be fully aware of the impact of all these updates

src/wandbot/ingestion/config.py Outdated Show resolved Hide resolved
src/wandbot/ingestion/prepare_data.py Show resolved Hide resolved
src/wandbot/ingestion/prepare_data.py Show resolved Hide resolved
src/wandbot/ingestion/prepare_data.py Outdated Show resolved Hide resolved
src/wandbot/ingestion/prepare_data.py Show resolved Hide resolved
src/wandbot/rag/query_handler.py Show resolved Hide resolved
src/wandbot/rag/response_synthesis.py Outdated Show resolved Hide resolved
src/wandbot/rag/utils.py Outdated Show resolved Hide resolved
src/wandbot/rag/query_handler.py Outdated Show resolved Hide resolved
src/wandbot/rag/query_handler.py Show resolved Hide resolved
@morganmcg1
Copy link
Member

Oh also, can you add a Table in the README towards the top of with the history of the Answer Correctness score as we've moved through each release please

Copy link

New and removed dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
pypi/[email protected] None 0 57.1 kB Zac-HD, adriangb
pypi/[email protected] Transitive: environment, eval, filesystem, shell, unsafe +4 851 kB Andrew.Svetlov, hellysmile
pypi/[email protected] Transitive: shell +2 109 kB gxg
pypi/[email protected] filesystem Transitive: environment, eval, network, shell, unsafe +15454 344 GB victorm
pypi/[email protected] environment Transitive: filesystem +6 752 kB blink1073, jupyter-release-bot, zsailer
pypi/[email protected] environment, filesystem, network, shell Transitive: eval, unsafe +15454 344 GB krassowski
pypi/[email protected] environment, eval, filesystem, network, shell Transitive: unsafe +17307 359 GB hwchase17
pypi/[email protected] environment 0 49.3 kB blink1073, datalayer, jtp, ...2 more
pypi/[email protected] environment, filesystem 0 38.9 kB ickc, jgm
pypi/[email protected] environment Transitive: eval, filesystem, shell, unsafe +4 10.7 MB samuelcolvin
pypi/[email protected] environment, filesystem, unsafe Transitive: eval, network, shell +15454 344 GB TutteInstitute, lmcinnes
pypi/[email protected] environment 0 21.8 kB naimetti
pypi/[email protected] environment, filesystem, unsafe 0 5.98 MB Julian
pypi/[email protected] environment, filesystem, network Transitive: eval, shell, unsafe +14 280 MB arsenetar, hsoft
pypi/[email protected] None 0 944 kB ashvardanian
pypi/[email protected] environment, eval, filesystem, network 0 122 kB blink1073, darian, jasongrout, ...2 more
pypi/[email protected] filesystem Transitive: environment, eval, network, shell, unsafe +15475 344 GB plinss

🚮 Removed packages: pypi/[email protected], pypi/[email protected], pypi/[email protected], pypi/[email protected]

View full report↗︎

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants