Merge pull request #70 from Fosowl/dev

Fix : installation issues for linux system
This commit is contained in:
Martin 2025-03-22 14:45:23 +01:00 committed by GitHub
commit 7a3fd2150b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 65 additions and 11 deletions

26
Dockerfile Normal file
View File

@ -0,0 +1,26 @@
# Use official Python 3.11 image as the base
FROM python:3.11
# Set working directory
WORKDIR /app
# Install system dependencies
RUN apt-get update && apt-get install -y \
gcc \
g++ \
gfortran \
libportaudio2 \
portaudio19-dev \
ffmpeg \
libavcodec-dev \
libavformat-dev \
libavutil-dev \
chromium \
chromium-driver \
&& rm -rf /var/lib/apt/lists/*
RUN pip cache purge
COPY . .
RUN BLIS_ARCH=generic pip install --no-cache-dir -r requirements.txt

View File

@ -1,4 +1,6 @@
setuptools>=75.6.0
requests>=2.31.0
numpy>=1.24.4
colorama>=0.4.6
python-dotenv>=1.0.0
playsound>=1.3.0
@ -7,17 +9,15 @@ transformers>=4.46.3
torch>=2.4.1
python-dotenv>=1.0.0
ollama>=0.4.7
scipy>=1.15.1
scipy>=1.9.3
kokoro>=0.7.12
flask>=3.1.0
soundfile>=0.13.1
protobuf>=3.20.3
termcolor>=2.5.0
ipython>=8.34.0
gliclass>=0.1.8
termcolor>=2.4.0
ipython>=8.13.0
pyaudio>=0.2.14
librosa>=0.10.2.post1
selenium>=4.29.0
selenium>=4.27.1
markdownify>=1.1.0
text2emotion>=0.0.5
langid>=1.1.6

View File

@ -7,6 +7,17 @@ sudo apt-get update
pip install --upgrade pip
# install pyaudio
pip install pyaudio
# make sure essential tool are installed
sudo apt install python3-dev python3-pip python3-wheel build-essential
# install port audio
sudo apt-get install portaudio19-dev python-pyaudio python3-pyaudio
# install wheel
pip install --upgrade pip setuptools wheel
# install docker compose
sudo apt install docker-compose
# Install Python dependencies from requirements.txt
pip3 install -r requirements.txt

14
server/Dockerfile Normal file
View File

@ -0,0 +1,14 @@
FROM ubuntu:20.04
WORKDIR /app
RUN apt-get update && \
apt-get install -y python3 python3-pip && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
COPY requirements.txt .
RUN pip3 install --no-cache-dir -r requirements.txt
CMD ["python3", "--version"]

2
server/requirements.txt Normal file
View File

@ -0,0 +1,2 @@
flask>=2.3.0
ollama>=0.4.7

View File

@ -37,7 +37,10 @@ class GenerationState:
state = GenerationState()
def generate_response(history): # Only takes history as an argument
def generate_response_vllm(history):
pass
def generate_response_ollama(history): # Only takes history as an argument
global state
try:
with state.lock:

View File

@ -24,12 +24,11 @@ setup(
"transformers>=4.46.3",
"torch>=2.4.1",
"ollama>=0.4.7",
"scipy>=1.15.1",
"scipy>=1.9.3",
"kokoro>=0.7.12",
"flask>=3.1.0",
"protobuf>=3.20.3",
"termcolor>=2.5.0",
"gliclass>=0.1.8",
"ipython>=8.34.0",
"librosa>=0.10.2.post1",
"selenium>=4.29.0",

View File

@ -3,8 +3,8 @@ import queue
import threading
import numpy as np
import torch
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline
import time
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline
import librosa
import pyaudio
@ -16,7 +16,6 @@ class AudioRecorder:
AudioRecorder is a class that records audio from the microphone and adds it to the audio queue.
"""
def __init__(self, format: int = pyaudio.paInt16, channels: int = 1, rate: int = 4096, chunk: int = 8192, record_seconds: int = 5, verbose: bool = False):
import pyaudio
self.format = format
self.channels = channels
self.rate = rate