Skip to content

🤖 Sam-assistant is a personal assistant that is designed to understand your documents, search the internet, and in future versions, create and understand images, and communicate with you. It is built in Python, mainly using Langchain and implements most of Langchain

License

Notifications You must be signed in to change notification settings

Mj23978/sam-assistant

Repository files navigation

Sam-assistant

Note: This project is in its early stages, and the code may undergo drastic changes.

Note2: The Gpt Folder is My Custom Fork of GPT4Free you Could Clone the repo and put the content under gpt folder too it will work

Overview

Sam-assistant is a personal assistant that is designed to understand your documents, search the internet, and in future versions, create and understand images, and communicate with you. It is built in Python, mainly using Langchain and implements most of Langchain's capabilities.

How to Install & Run

  • run poetry install to install packages
  • run docker-compose up if you wanna store your embeddings in milvus or use serxng for searching the internet
  • run poetry run uvicorn sam.main:app --reload to run rest server (grpc still WIP)
  • Currently ( You, Useless, Cohere, OpenAI, Llama.Cpp ) are working LLM providers For Sam and All Embeddings are working (trying to add more LLM from GPT4Free)

Features

This section could list the key features of your personal assistant, including but not limited to:

  • Document understanding
  • Internet search
  • Image creation and understanding
  • Task creation and goal solving
  • Vector database management

Details

Sam-assistant includes 7 important classes:

  • LLMLoader: Loads 7 different LLMs for use in chains and other parts of the backend (llamacpp, cohere, OpenAI, Theb, Poe, OpenAIhosted, fake), with more coming soon.
  • EmbeddingsLoader: Loads 3 different embeddings to embed texts (for now, images will be added later) and store them in vector DBs (Llamacpp, OpenAI, Cohere).
  • Tools: Currently, we only have the SeraxNG tool to search the internet, with more tools and agents added soon.
  • Loaders: Currently, we only have a simple text loader, with more loaders, like Notion, to be added soon.
  • Memory: It contains ChatMessageHistory and Buffer History, with more memory functionalities to be added soon.
  • BabyAgi: (Not yet tested) It implements BabyAgi to create tasks and solve goals that it needs.
  • VectorStores: It implements Milvus and Chroma VectorStore to save your vectors to a DB and search them.

Running the Application

By running poetry run uvicorn sam.main:app --port 7860 --reload from the command line, you can easily interact with your assistant.

For now, you can run Serax and Milvus in Docker if you want to use them in APIs.

Tags

Some tags that could be added to this project are:

  • Personal assistant
  • Python
  • Langchain
  • Chatbot
  • Embeddings
  • SeraxNG
  • Milvus
  • Vector DB

Conclusion

Sam-assistant is an innovative personal assistant that utilizes the capabilities of Langchain to understand your documents, search the internet, and perform various other tasks. It is a work in progress, and more features will be added in the future.

About

🤖 Sam-assistant is a personal assistant that is designed to understand your documents, search the internet, and in future versions, create and understand images, and communicate with you. It is built in Python, mainly using Langchain and implements most of Langchain

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published