Lui3ui3ui commited on
Commit
0e1cfc3
·
verified ·
1 Parent(s): 3232f5e

Upload 5 files

Browse files
Files changed (5) hide show
  1. .gitattributes +35 -35
  2. Dockerfile +30 -0
  3. README.md +6 -8
  4. requirements.txt +6 -8
  5. start.sh +31 -0
.gitattributes CHANGED
@@ -1,35 +1,35 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
Dockerfile ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM ollama/ollama:latest
2
+
3
+ # Install curl, Python, and pip
4
+ RUN apt-get update && apt-get install -y curl python3 python3-pip && rm -rf /var/lib/apt/lists/*
5
+
6
+ # Install your Python dependencies
7
+ COPY requirements.txt /tmp/requirements.txt
8
+ RUN pip install -r /tmp/requirements.txt
9
+
10
+ # Create ollama user and directories
11
+ RUN useradd -m -u 1000 ollama
12
+ RUN mkdir -p /home/ollama/.ollama && chown -R ollama:ollama /home/ollama/.ollama
13
+
14
+ # Copy your app code
15
+ COPY --chown=ollama:ollama . /home/ollama/
16
+
17
+ # Switch to ollama user
18
+ USER ollama
19
+ WORKDIR /home/ollama
20
+
21
+ # Set environment variables
22
+ ENV OLLAMA_HOST=0.0.0.0:7860
23
+ ENV HOME=/home/ollama
24
+
25
+ # Expose ports
26
+ EXPOSE 7860 7861 # Add another port if your app serves an API/web UI
27
+
28
+ # Start Ollama + your app
29
+ ENTRYPOINT []
30
+ CMD ["/bin/bash", "/home/ollama/start.sh"]
README.md CHANGED
@@ -1,15 +1,13 @@
1
  ---
2
- title: BookRecommender
3
- emoji: 🌖
4
- colorFrom: pink
5
  colorTo: pink
6
- sdk: gradio
7
- sdk_version: 5.29.1
8
- app_file: app.py
9
- pinned: false
10
- license: apache-2.0
11
  ---
12
 
 
13
  A simple book recommendation agent.
14
  Utilises ollama/llama3 and web search via DuckDuckGo.
15
  Usage is pretty self explanatory.
 
1
  ---
2
+ title: Book Recommendation Agent
3
+ emoji: 📚
4
+ colorFrom: yellow
5
  colorTo: pink
6
+ sdk: docker
7
+ app_port: 7861 # whatever port your app serves on
 
 
 
8
  ---
9
 
10
+
11
  A simple book recommendation agent.
12
  Utilises ollama/llama3 and web search via DuckDuckGo.
13
  Usage is pretty self explanatory.
requirements.txt CHANGED
@@ -1,8 +1,6 @@
1
- langgraph
2
- gradio
3
- httpx
4
- selectolax
5
- aiohttp
6
- huggingface_hub
7
- transformers
8
- torch
 
1
+ langgraph
2
+ ollama
3
+ gradio
4
+ httpx
5
+ selectolax
6
+ duckduckgo-search
 
 
start.sh ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ echo "Starting Ollama server..."
4
+ OLLAMA_HOST=0.0.0.0:7860 ollama serve &
5
+
6
+ # Wait for Ollama to be ready
7
+ echo "Waiting for Ollama server to start..."
8
+ sleep 15
9
+
10
+ wait_for_ollama() {
11
+ while ! curl -s http://localhost:7860/api/tags > /dev/null; do
12
+ echo "Waiting for Ollama to be ready..."
13
+ sleep 5
14
+ done
15
+ echo "Ollama is ready!"
16
+ }
17
+
18
+ wait_for_ollama
19
+
20
+ echo "Pulling llama3.2:1b model..."
21
+ ollama pull llama3.2:1b
22
+
23
+ echo "Pulling mxbai-embed-large model..."
24
+ ollama pull mxbai-embed-large
25
+
26
+ echo "All models pulled successfully!"
27
+ echo "Ollama is running on http://0.0.0.0:7860"
28
+
29
+ # Start your app (replace app.py with your actual script name)
30
+ echo "Starting your app..."
31
+ python3 app.py