Giter Club home page Giter Club logo

mj23978 / sam-assistant Goto Github PK

View Code? Open in Web Editor NEW
47.0 2.0 8.0 444 KB

๐Ÿค– 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: Other

Python 99.35% Dockerfile 0.65%
ai chatbot chroma fastapi langchain llama llamacpp llm milvus python gpt4free

sam-assistant's Introduction

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.

sam-assistant's People

Contributors

jon-micke avatar mj23978 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

sam-assistant's Issues

Email generator no working

Traceback (most recent call last):
File "C:\Users\Beast\AppData\Local\Temp\tempCodeRunnerFile.python", line 96, in
main()
File "C:\Users\Beast\AppData\Local\Temp\tempCodeRunnerFile.python", line 87, in main
mail_client = Emailnator()
^^^^^^^^^^^^
File "C:\Users\Beast\AppData\Local\Temp\tempCodeRunnerFile.python", line 22, in init
"x-xsrf-token": self.client.cookies.get("XSRF-TOKEN")[:-3] + "=",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
TypeError: 'NoneType' object is not subscriptable

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.