Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mj23978/sam-assistant
🤖 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
https://github.com/mj23978/sam-assistant
ai chatbot chroma fastapi gpt4free langchain llama llamacpp llm milvus python
Last synced: about 18 hours ago
JSON representation
🤖 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
- Host: GitHub
- URL: https://github.com/mj23978/sam-assistant
- Owner: Mj23978
- License: other
- Created: 2023-05-02T13:42:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-10T22:58:16.000Z (over 1 year ago)
- Last Synced: 2025-01-01T10:35:22.042Z (20 days ago)
- Topics: ai, chatbot, chroma, fastapi, gpt4free, langchain, llama, llamacpp, llm, milvus, python
- Language: Python
- Homepage:
- Size: 434 KB
- Stars: 46
- Watchers: 2
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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.