Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arjunrao87/askarjun
https://github.com/arjunrao87/askarjun
Last synced: about 6 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/arjunrao87/askarjun
- Owner: arjunrao87
- Created: 2024-02-25T21:31:00.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-04-21T12:04:53.000Z (7 months ago)
- Last Synced: 2024-05-21T08:18:16.949Z (6 months ago)
- Language: Python
- Size: 386 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# askarjun
## TODOs
- [x] Build a simple langchain hook to read URL link contents
- [x] Langchain crawling of arjunrao in notebook
- [x] Decide between manual vs langchain crawling
- [x] Crawl through pages
- [x] Store contents in vectordb
- [x] Init Ollama & LLM
- [x] Ask questions to be answered without memory using vectordb (RAG)
- [x] Simple chat interface with Chainlit
- [x] Add short term memory
- [x] Figure out how to run ollama in a container
- [x] Containerize chainlit
- [x] Run ollama with chainlit
- [ ] Add github action to build image + deploy to digital ocean
- [ ] Deploy chatbot to "cloud"
- [ ] Add black/isort
- [ ] Containerize data ingest
- [ ] Fix ollama reference in local vs container mode (ansible/terraform)
- [ ] Deploy data ingest process
- [ ] process to store chromadb to R2
- [ ] load chromadb up from R2 location
- [ ] Stream responses back instead of all together
- [ ] Add reasoning [Agent based retrieval]
- [ ] Add Streamlit Copilot at [arjunrao.co](https://docs.chainlit.io/deployment/copilot)## Running askarjun
### 1. Local virtualenv setup
```sh
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```### 2. Ingest blogs
```sh
python src/ingest.py
```### 3. Running chainlit
```sh
chainlit run src/chat.py
```### 4. Container stuff
```sh
docker build -t askarjun:latest
docker-compose up
```### 5. Pull down Ollama models
#### a. Local mode
```sh
ollama pull nomic-embed-text
ollama pull mistral
```#### b. In container mode
```sh
docker exec -it askarjun-ollama-container-1 ollama pull nomic-embed-text
docker exec -it askarjun-ollama-container-1 ollama pull mistral
```Models are stored in `./data/ollama` which are mapped into the container as a volume (see [docker-compose.yml](./docker-compose.yml))
### 6. Push chromadb to R2
```sh
python src/r2.py
```