Skip to content
This repository was archived by the owner on Apr 12, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
FreeStream | Free AI tools for everyday people
Copyright (C) 2024 Daethyra (Daemon Carino)

FreeStream is licensed under the terms of the GNU Affero General Public License, however the included code of the Real-ESRGAN respository at https://github.com/xinntao/Real-ESRGAN is licensed under the terms of its own BSD 3-Clause license, https://github.com/xinntao/Real-ESRGAN/blob/master/LICENSE.

This program is free software:
you can redistribute it and/or modify it under the terms of the
GNU Affero General Public License as published by the Free Software
Expand Down
43 changes: 16 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# FreeStream

Providing AI solutions for everyday people
Try out different AI tools.

***TLDR***:
- Offers AI tooling like a general-purpose chatbot assistant
- Provides free access to generative AI models
- Accepts unlimited file uploads (per user session; deletes data upon exit)
- Leverages state-of-the-art RAG techniques for accurate, helpful responses without requiring complex prompt engineering
- Protects privacy – no AI model training on your data, no sign-up needed
- Free
- General purpose AI chatbots with the ability to read files
- Leverages retrieval techniques to improve response quality
- Your data is deleted upon exit
- No sign-up necessary

## Table of Contents

Expand Down Expand Up @@ -54,6 +54,7 @@ Make a copy of "template.secrets.toml" and rename it to "secrets.toml" in the ro
| OpenAI | https://platform.openai.com/api-keys |
| Langchain | https://smith.langchain.com/ |
| Google | https://aistudio.google.com/app/apikey |
| Claude | https://console.anthropic.com/ |

You can then start the development server with hot reloading by running:

Expand All @@ -70,13 +71,13 @@ I originally created this project as a chatbot for law and medical professionals

| **Vocab** | **Definition** |
| ---- | ---------- |
| RAG | Retrieval Augmented Generation |
| C-RAG | Corrective-Retrieval Augmented Generation |
| Self-RAG | Self-reflective Retrieval Augmented Generation |
| [RAG](https://arxiv.org/abs/2005.11401 "Arxiv: 2005.11401") | Retrieval Augmented Generation |
| [C-RAG](https://arxiv.org/abs/2401.15884 "Arxiv: 2401.15884") | Corrective-Retrieval Augmented Generation |
| [Self-RAG](https://arxiv.org/abs/2310.11511 "Arxiv: 2310.11511") | Self-reflective Retrieval Augmented Generation |

### What can FreeStream do for me, currently?

FreeStream functions as a chatbot powered by GPT-3.5-Turbo or Gemini-Pro. Upload a file (or files) and take advantage of advanced prompt engineering for the most helpful results based on your uploaded content.
FreeStream functions as a chatbot powered by GPT-3.5-Turbo or Gemini-Pro. Upload a file (or files) and take advantage of advanced prompt engineering for the most helpful results based on your uploaded content. It additionally has an image upscaler that can upscale to arbitrary ratios.

**Note**:
* The implemented RAG logic strictly adheres to the uploaded context. This limits meaningful interaction with the chat history.
Expand All @@ -86,15 +87,8 @@ FreeStream functions as a chatbot powered by GPT-3.5-Turbo or Gemini-Pro. Upload
The application **MUST**...
1. Provide a user interface for chatbot interactions and optional file uploads.
2. Allow users to upscale images (PDF, JPEG, PNG, ~~BMP~~, ~~SVG~~) without limits.
3. ~~Enable users to remove objects from uploaded images. This requires:~~
* ~~Object detection~~
* ~~Object removal~~
* ~~Inpainting~~
* ~~[HuggingFace Resource](https://huggingface.co/docs/diffusers/en/using-diffusers/inpaint)~~
* ~~[HF Mask Maker (Space)](https://huggingface.co/spaces/daethyra/inpaint-mask-maker)~~
4. Let users generate tasks based on their speech
5. Include a privacy policy that clearly outlines data usage when interacting with GPT-3.5 or Gemini-Pro
6. ~~Provide a "Submit Report/Request" form~~
3. Let users generate tasks based on their speech
4. Include a privacy policy that clearly outlines data usage when interacting with GPT-3.5 or Gemini-Pro

## "Non-Functional Requirements

Expand All @@ -103,8 +97,6 @@ The application **SHOULD**...
2. Use a multipage Streamlit application structure.
3. Prioritize ease of navigation
4. Feature a visually appealing design.
5. Position itself as a toolbox for niche professional workflows.
6. Offer multiple chat models

# Roadmap

Expand All @@ -115,15 +107,13 @@ I'm focusing on overhauling the retrieval prompting logic. I'll remove `Conversa

- [x] Create an RAG chatbot
- [x] Add Gemini-Pro to the model list
- [ ] ~~Integrate [`StreamlitCallbackHandler`](https://api.python.langchain.com/en/latest/callbacks/langchain_community.callbacks.streamlit.streamlit_callback_handler.StreamlitCallbackHandler.html "Python API Documentation")~~
- [x] Add Anthropic's Claude 3 model family
- [ ] Add AI decision making
- [ ] Implement Corrective-RAG OR Reflective-RAG
- [x] Turn into a Multi-Page Application (MPA)
- [x] (Homepage) Add a welcome screen with...
- [x] a description of the project
- [ ] ~~table of contents~~
- [x] privacy policy
- [ ] ~~"Report/Request" form~~
- [x] (Page) Migrate RAG SPA code
- [x] Add "Temperature" slider
- [ ] (Page) Add a "Task Transcriber"
Expand All @@ -136,7 +126,6 @@ I'm focusing on overhauling the retrieval prompting logic. I'll remove `Conversa
- [x] File type detection
- [ ] (Page) Add "Object Removal" from images
- [x] Review HuggingFace Spaces's as a potential solution
- [ ] Add "Contributing" section or file

---

Expand All @@ -146,6 +135,6 @@ I'm focusing on overhauling the retrieval prompting logic. I'll remove `Conversa
A conglomerate privacy policy governing FreeStream is planned. For the time being, please refer to the privacy policies of the underlying foundational AI model providers.

- [OpenAI Privacy Policy](https://openai.com/policies/privacy-policy)
- [Google AI Studio](https://transparency.google/our-policies/privacy-policy-terms-of-service/)
- I couldn't find a privacy policy specific to Google AI Studio.
- [Google](https://transparency.google/our-policies/privacy-policy-terms-of-service/ "Was unable to find a privacy policy specific to Google AI Studio.")
- [Anthropic](https://support.anthropic.com/en/articles/7996866-how-long-do-you-store-personal-data "Support forum response that may suddenly be obsoleted.")
- [Streamlit](https://streamlit.io/privacy-policy/)
20 changes: 10 additions & 10 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.