mirror of
https://git.mirrors.martin98.com/https://github.com/infiniflow/ragflow.git
synced 2025-08-11 18:58:59 +08:00
Print version when RAGFlow server startup (#3393)
### What problem does this PR solve? Print version when RAGFlow server startup ### Type of change - [x] New Feature (non-breaking change which adds functionality) --------- Signed-off-by: jinhai <haijin.chn@gmail.com> Co-authored-by: Kevin Hu <kevinhu.sh@gmail.com>
This commit is contained in:
parent
95d21e5d9f
commit
201bbef7c0
4
.github/workflows/tests.yml
vendored
4
.github/workflows/tests.yml
vendored
@ -50,11 +50,11 @@ jobs:
|
||||
RUNNER_WORKSPACE_PREFIX=${RUNNER_WORKSPACE_PREFIX:-$HOME}
|
||||
cp -r ${RUNNER_WORKSPACE_PREFIX}/huggingface.co ${RUNNER_WORKSPACE_PREFIX}/nltk_data ${RUNNER_WORKSPACE_PREFIX}/libssl*.deb ${RUNNER_WORKSPACE_PREFIX}/tika-server*.jar* .
|
||||
sudo docker pull ubuntu:24.04
|
||||
sudo docker build -f Dockerfile.slim -t infiniflow/ragflow:dev-slim .
|
||||
sudo ./build_docker_image.sh slim
|
||||
|
||||
- name: Build ragflow:dev
|
||||
run: |
|
||||
sudo docker build -f Dockerfile -t infiniflow/ragflow:dev .
|
||||
sudo ./build_docker_image.sh full
|
||||
|
||||
- name: Start ragflow:dev-slim
|
||||
run: |
|
||||
|
@ -274,7 +274,7 @@ git clone https://github.com/infiniflow/ragflow.git
|
||||
cd ragflow/
|
||||
pip3 install huggingface-hub nltk
|
||||
python3 download_deps.py
|
||||
docker build -f Dockerfile.slim -t infiniflow/ragflow:dev-slim .
|
||||
build_docker_image.sh slim
|
||||
```
|
||||
|
||||
## 🔧 Build a Docker image including embedding models
|
||||
@ -286,7 +286,7 @@ git clone https://github.com/infiniflow/ragflow.git
|
||||
cd ragflow/
|
||||
pip3 install huggingface-hub nltk
|
||||
python3 download_deps.py
|
||||
docker build -f Dockerfile -t infiniflow/ragflow:dev .
|
||||
build_docker_image.sh full
|
||||
```
|
||||
|
||||
## 🔨 Launch service from source for development
|
||||
|
@ -35,7 +35,7 @@ from api.utils.log_utils import logger
|
||||
|
||||
from api.db.db_models import init_database_tables as init_web_db
|
||||
from api.db.init_data import init_web_data
|
||||
from api.versions import get_versions
|
||||
from api.versions import get_versions, RAGFLOW_VERSION_INFO
|
||||
|
||||
|
||||
def update_progress():
|
||||
@ -56,6 +56,9 @@ if __name__ == '__main__':
|
||||
/_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/
|
||||
|
||||
""")
|
||||
logger.info(
|
||||
f'RAGFlow version: {RAGFLOW_VERSION_INFO}'
|
||||
)
|
||||
logger.info(
|
||||
f'project base: {utils.file_utils.get_project_base_directory()}'
|
||||
)
|
||||
|
@ -15,6 +15,7 @@
|
||||
#
|
||||
import dotenv
|
||||
import typing
|
||||
import subprocess
|
||||
|
||||
|
||||
def get_versions() -> typing.Mapping[str, typing.Any]:
|
||||
@ -23,4 +24,29 @@ def get_versions() -> typing.Mapping[str, typing.Any]:
|
||||
|
||||
|
||||
def get_rag_version() -> typing.Optional[str]:
|
||||
return get_versions().get("RAGFLOW_IMAGE", "infiniflow/ragflow:dev").split(":")[-1]
|
||||
return get_versions().get("RAGFLOW_IMAGE", "infiniflow/ragflow:dev").split(":")[-1]
|
||||
|
||||
|
||||
RAGFLOW_VERSION_INFO = "dev"
|
||||
|
||||
|
||||
def get_closest_tag_and_count():
|
||||
# Get the current commit hash
|
||||
commit_id = subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).strip().decode('utf-8')
|
||||
# Get the closest tag
|
||||
closest_tag = subprocess.check_output(['git', 'describe', '--tags', '--abbrev=0']).strip().decode('utf-8')
|
||||
# Get the commit hash of the closest tag
|
||||
closest_tag_commit = subprocess.check_output(['git', 'rev-list', '-n', '1', closest_tag]).strip().decode('utf-8')
|
||||
# Get the commit count since the closest tag
|
||||
process = subprocess.Popen(['git', 'rev-list', '--count', f'{closest_tag}..HEAD'], stdout=subprocess.PIPE)
|
||||
commits_count, _ = process.communicate()
|
||||
commits_count = int(commits_count.strip())
|
||||
|
||||
if commits_count == 0:
|
||||
return closest_tag
|
||||
else:
|
||||
return f"{commit_id}({closest_tag}~{commits_count})"
|
||||
|
||||
|
||||
if RAGFLOW_VERSION_INFO == 'dev':
|
||||
RAGFLOW_VERSION_INFO = get_closest_tag_and_count()
|
||||
|
46
build_docker_image.sh
Executable file
46
build_docker_image.sh
Executable file
@ -0,0 +1,46 @@
|
||||
#!/bin/bash
|
||||
|
||||
print_help() {
|
||||
echo "Usage: $0 <option>"
|
||||
echo " full, build full image"
|
||||
echo " slim, build slim image"
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
print_help
|
||||
fi
|
||||
|
||||
docker_version="full"
|
||||
if [ "$1" == "full" ]; then
|
||||
docker_version="full"
|
||||
elif [ "$1" == "slim" ]; then
|
||||
docker_version="slim"
|
||||
else
|
||||
print_help
|
||||
fi
|
||||
|
||||
# update RAGFlow version
|
||||
# Get the latest tag
|
||||
last_tag=$(git describe --tags --abbrev=0)
|
||||
# Get the number of commits from the last tag
|
||||
commit_count=$(git rev-list --count "$last_tag..HEAD")
|
||||
# Get the short commit id
|
||||
last_commit=$(git rev-parse --short HEAD)
|
||||
|
||||
version_info=""
|
||||
if [ "$commit_count" -eq 0 ]; then
|
||||
version_info=$last_tag
|
||||
else
|
||||
printf -v version_info "%s(%s~%d)" "$last_commit" "$last_tag" $commit_count
|
||||
fi
|
||||
# Replace the version in the versions.py file
|
||||
sed -i "s/\"dev\"/\"$version_info\"/" api/versions.py
|
||||
|
||||
if [ "$docker_version" == "full" ]; then
|
||||
docker build -f Dockerfile -t infiniflow/ragflow:dev .
|
||||
else
|
||||
docker build -f Dockerfile.slim -t infiniflow/ragflow:dev-slim .
|
||||
fi
|
||||
|
||||
git restore api/versions.py
|
16
docker/update_version.sh
Normal file
16
docker/update_version.sh
Normal file
@ -0,0 +1,16 @@
|
||||
# update RAGFlow version
|
||||
# Get the latest tag
|
||||
last_tag=$(git describe --tags --abbrev=0)
|
||||
# Get the number of commits from the last tag
|
||||
commit_count=$(git rev-list --count "$last_tag..HEAD")
|
||||
# Get the short commit id
|
||||
last_commit=$(git rev-parse --short HEAD)
|
||||
|
||||
version_info=""
|
||||
if [ "$commit_count" -eq 0 ]; then
|
||||
version_info=$last_tag
|
||||
else
|
||||
printf -v version_info "%s(%s~%d)" "$last_commit" "$last_tag" $commit_count
|
||||
fi
|
||||
# Replace the version in the versions.py file
|
||||
sed -i "s/\"dev\"/\"$version_info\"/" api/versions.py
|
Loading…
x
Reference in New Issue
Block a user