From dbd558b3cd117a5edc779e584a80a7c6736ea2a3 Mon Sep 17 00:00:00 2001 From: jianjiang Date: Fri, 21 Apr 2023 18:06:39 +0800 Subject: [PATCH] ok --- .gitea/workflows/build.yaml | 48 +++++++++++++++++++++++++++++++ Dockerfile | 11 ++++++++ app.py | 56 +++++++++++++++++++++++++++++++++++++ 3 files changed, 115 insertions(+) create mode 100644 .gitea/workflows/build.yaml create mode 100644 Dockerfile create mode 100644 app.py diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml new file mode 100644 index 0000000..1ed1ca9 --- /dev/null +++ b/.gitea/workflows/build.yaml @@ -0,0 +1,48 @@ +name: Build +run-name: ${{ github.actor }} is upgrade release 🚀 +on: [push] +env: + REPOSITORY: ${{ github.repository }} + COMMIT_ID: ${{ github.sha }} +jobs: + Build-Deploy-Actions: + runs-on: ubuntu-latest + steps: + - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." + - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!" + - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." + - name: Check out repository code + uses: actions/checkout@v3 + - + name: Setup Git LFS + run: | + git lfs install + git lfs fetch + git lfs checkout + - name: List files in the repository + run: | + ls ${{ github.workspace }} + - + name: Docker Image Info + id: image-info + run: | + echo "::set-output name=image_name::$(echo $REPOSITORY | tr '[:upper:]' '[:lower:]')" + echo "::set-output name=image_tag::${COMMIT_ID:0:10}" + - + name: Login to Docker Hub + uses: docker/login-action@v2 + with: + registry: artifacts.iflytek.com + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - + name: Build and push + run: | + docker version + docker buildx build -t artifacts.iflytek.com/docker-private/atp/${{ steps.image-info.outputs.image_name }}:${{ steps.image-info.outputs.image_tag }} . --file ${{ github.workspace }}/Dockerfile --load + docker push artifacts.iflytek.com/docker-private/atp/${{ steps.image-info.outputs.image_name }}:${{ steps.image-info.outputs.image_tag }} + docker rmi artifacts.iflytek.com/docker-private/atp/${{ steps.image-info.outputs.image_name }}:${{ steps.image-info.outputs.image_tag }} + - run: echo "🍏 This job's status is ${{ job.status }}." + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e6f7bb5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +#FROM python:3.8.13 +FROM artifacts.iflytek.com/docker-private/atp/base_image_for_ailab:0.0.1 + +WORKDIR /app + +COPY . /app + +RUN pip config set global.index-url https://pypi.mirrors.ustc.edu.cn/simple +#RUN pip install -r requirements.txt + +CMD ["python", "app.py"] diff --git a/app.py b/app.py new file mode 100644 index 0000000..3b3f504 --- /dev/null +++ b/app.py @@ -0,0 +1,56 @@ +import gradio as gr +from transformers import pipeline +import torch + +from gradio.themes.utils import sizes + + +theme = gr.themes.Default(radius_size=sizes.radius_none).set( + block_label_text_color = '#4D63FF', + block_title_text_color = '#4D63FF', + button_primary_text_color = '#4D63FF', + button_primary_background_fill='#FFFFFF', + button_primary_border_color='#4D63FF', + button_primary_background_fill_hover='#EDEFFF', +) + +model_name = 'google/pegasus-cnn_dailymail' +summarization_model = pipeline('summarization', model=model_name, tokenizer=model_name, device=0 if torch.cuda.is_available() else -1) + +def generate_abstractive_summary(text, type, min_len=120, max_len=512, **kwargs): + text = text.strip().replace("\n", " ") + if type == "top_p": + text = summarization_model(text, min_length=min_len, + max_length=max_len, + top_k=50, top_p=0.95, clean_up_tokenization_spaces=True, truncation=True, **kwargs) + elif type == "greedy": + text = summarization_model(text, min_length=min_len, + max_length=max_len, clean_up_tokenization_spaces=True, truncation=True, **kwargs) + elif type == "top_k": + text = summarization_model(text, min_length=min_len, max_length=max_len, top_k=50, + clean_up_tokenization_spaces=True, truncation=True, **kwargs) + elif type == "beam": + text = summarization_model(text, min_length=min_len, + max_length=max_len, + clean_up_tokenization_spaces=True, truncation=True, **kwargs) + summary = text[0]['summary_text'].replace("", " ") + + return summary + +def sentiment_analysis(text): + summary_content = generate_abstractive_summary(text, type="beam", do_sample=True, num_beams=15,no_repeat_ngram_size=4) + + return summary_content + +demo = gr.Interface(fn=sentiment_analysis, + inputs='text', + outputs='text', + examples=[['The tower is 324 metres (1,063 ft) tall, about the same height as an 81-storey building, and the tallest structure in Paris. Its base is square, measuring 125 metres (410 ft) on each side. During its construction, the Eiffel Tower surpassed the Washington Monument to become the tallest man-made structure in the world, a title it held for 41 years until the Chrysler Building in New York City was finished in 1930. It was the first structure to reach a height of 300 metres. Due to the addition of a broadcasting aerial at the top of the tower in 1957, it is now taller than the Chrysler Building by 5.2 metres (17 ft). Excluding transmitters, the Eiffel Tower is the second tallest free-standing structure in France after the Millau Viaduct.']], + theme = theme, + title = "摘要" + ) + + +if __name__ == "__main__": + demo.queue(concurrency_count=10) + demo.launch(server_name = "0.0.0.0")