Skip to content

Commit edd1df7

Browse files
committed
Merge branch 'develop' into 'fb-optic-1472'
Workflow run: https://github.com/HumanSignal/label-studio/actions/runs/12599903107
2 parents 077378a + 080884b commit edd1df7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+709
-1165
lines changed

.github/workflows/cicd_pipeline.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -199,21 +199,21 @@ jobs:
199199
steps:
200200
- uses: actions/github-script@v7
201201
env:
202-
DOCKER_IMAGE_VERSION: ${{ needs.build-docker.outputs.image_version }}
203-
APP_NAME: ${{ startsWith(github.ref_name, 'ls-release/') && 'ls-release' || 'ls-develop' }}
202+
DOCKER_IMAGE_VERSION: ${{ needs.build-docker.outputs.build_version }}
203+
RELEASE_NAME: ${{ startsWith(github.ref_name, 'ls-release/') && 'ls-release' || 'ls-develop' }}
204204
with:
205205
github-token: ${{ secrets.GIT_PAT }}
206206
script: |
207207
const docker_image_version = process.env.DOCKER_IMAGE_VERSION;
208-
const app_name = process.env.APP_NAME;
208+
const release_name = process.env.RELEASE_NAME;
209209
github.rest.actions.createWorkflowDispatch({
210210
owner: "HumanSignal",
211211
repo: "label-studio-enterprise",
212212
workflow_id: "argocd-deploy.yml",
213213
ref: "develop",
214214
inputs: {
215215
docker_image_version: docker_image_version,
216-
app_name: app_name,
216+
release_name: release_name,
217217
template_name: "lso",
218218
}
219219
});

.github/workflows/docker-build-ontop.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ jobs:
9191
cat "${DOCKERFILE_PATH}"
9292
9393
- name: Set up Docker Buildx
94-
uses: docker/setup-buildx-action@v3.7.1
94+
uses: docker/setup-buildx-action@v3.8.0
9595

9696
- name: Login to DockerHub
9797
uses: docker/[email protected]

.github/workflows/docker-build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ jobs:
6666
sha="$(git rev-parse HEAD)"
6767
echo "sha=$sha" >> $GITHUB_OUTPUT
6868
69-
pretty_branch_name="$(echo -n "${BRANCH_NAME#refs/heads/}" | sed 's#/#-#g' | sed 's#_#-#g'| sed 's#\.#-#g' | tr '[:upper:]' '[:lower:]')"
70-
echo "pretty_branch_name=$pretty_branch_name" >> $GITHUB_OUTPUT
69+
pretty_branch_name="$(echo -n "${BRANCH_NAME#refs/heads/}" | sed -E 's#[/_\.-]+#-#g' | tr '[:upper:]' '[:lower:]' | cut -c1-25 | sed -E 's#-$##g')"
70+
echo "pretty_branch_name=${pretty_branch_name}" >> "${GITHUB_OUTPUT}"
7171
7272
regexp='^ls-release\/(.*)$';
7373
if [[ "$BRANCH_NAME" =~ $regexp ]]; then
@@ -89,7 +89,7 @@ jobs:
8989
echo "build_version=$version" >> $GITHUB_OUTPUT
9090
9191
- name: Set up Docker Buildx
92-
uses: docker/setup-buildx-action@v3.7.1
92+
uses: docker/setup-buildx-action@v3.8.0
9393

9494
- name: Login to DockerHub
9595
uses: docker/[email protected]

.github/workflows/docker-release-promote.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ jobs:
154154
fi
155155
156156
- name: Set up Docker Buildx
157-
uses: docker/setup-buildx-action@v3.7.1
157+
uses: docker/setup-buildx-action@v3.8.0
158158

159159
- name: Login to DockerHub
160160
uses: docker/[email protected]

.github/workflows/follow-merge-upstream-repo-sync.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,14 @@ jobs:
128128
This PR was automaticaly generated via Follow Merge.
129129
Please ensure that all linked upstream Pull Requests are merged before proceeding with this one.
130130
131-
- name: Add PR Reviewers
132-
uses: ./.github/actions-hub/actions/github-add-pull-request-reviewers
131+
- name: Add PR Assignees
132+
if: steps.fm.outputs.assignees
133+
uses: ./.github/actions-hub/actions/github-add-pull-request-assignees
133134
continue-on-error: true
134135
with:
135136
github_token: ${{ secrets.GIT_PAT }}
136137
pullrequest_number: "${{ steps.get-pr.outputs.number }}"
137-
reviewers: "${{ steps.fm.outputs.actor }}"
138+
assignees: "${{ steps.fm.outputs.assignees }}"
138139

139140
- name: Link PR
140141
uses: ./.github/actions-hub/actions/github-link-upstream-pull-request

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ jobs:
163163

164164
- name: Upload coverage to Codecov
165165
if: ${{ github.event.pull_request.head.repo.fork == false && github.event.pull_request.user.login != 'dependabot[bot]' }}
166-
uses: codecov/[email protected].1
166+
uses: codecov/[email protected].2
167167
with:
168168
name: codecov-python-${{ matrix.python-version }}
169169
flags: pytests

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,8 @@ You can use Label Studio as an independent part of your machine learning workflo
236236

237237
## Citation
238238

239+
Include a citation for Label Studio in the **References** section of your articles:
240+
239241
```tex
240242
@misc{Label Studio,
241243
title={{Label Studio}: Data labeling software},

docs/source/guide/label_studio_compare.md

Lines changed: 194 additions & 131 deletions
Large diffs are not rendered by default.

docs/source/guide/prompts_create.md

Lines changed: 1 addition & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -114,49 +114,7 @@ From the Prompts page, click **Create Prompt** in the upper right and then compl
114114

115115
!!! note Eligible projects
116116
Target projects must meet the following criteria:
117-
* The project must include text data. While it can include other data types such as images or video, it must include `<Text>`.
118117
* You must have access to the project. If you are in the Manager role, you need to be added to the project to have access.
119118
* The project cannot be located in your Personal Sandbox workspace.
120119
* While projects connected to an ML backend will still appear in the list of eligible projects, we do not recommend using Prompts with an ML backend as this can interfere with how accuracy and score are calculated when evaluating the prompt.
121-
122-
## Example project types
123-
124-
### Text classification
125-
126-
Text classification is the process of assigning predefined categories or labels to segments of text based on their content. This involves analyzing the text and determining which category or label best describes its subject, sentiment, or purpose. The goal is to organize and categorize textual data in a way that makes it easier to analyze, search, and utilize.
127-
128-
Text classification labeling tasks are fundamental in many applications, enabling efficient data organization, improving searchability, and providing valuable insights through data analysis. Some examples include:
129-
130-
* **Spam Detection**: Classifying emails as "spam" or "ham" (not spam).
131-
* **Sentiment Analysis**: Categorizing user reviews as "positive," "negative," or "neutral."
132-
* **Topic Categorization**: Assigning articles to categories like "politics," "sports," "technology," etc.
133-
* **Support Ticket Classification**: Labeling customer support tickets based on the issue type, such as "billing," "technical support," or "account management."
134-
* **Content Moderation**: Identifying and labeling inappropriate content on social media platforms, such as "offensive language," "hate speech," or "harassment."
135-
136-
### Named entity recognition (NER)
137-
138-
A Named Entity Recognition (NER) labeling task involves identifying and classifying named entities within text. For example, people, organizations, locations, dates, and other proper nouns. The goal is to label these entities with predefined categories that make the text easier to analyze and understand. NER is commonly used in tasks like information extraction, text summarization, and content classification.
139-
140-
For example, in the sentence "Heidi Opossum goes grocery shopping at Aldi in Miami" the NER task would involve identifying "Aldi" as a place or organization, "Heidi Opossum" as a person (even though, to be precise, she is an iconic opossum), and "Miami" as a location. Once labeled, this structured data can be used for various purposes such as improving search functionality, organizing information, or training machine learning models for more complex natural language processing tasks.
141-
142-
NER labeling is crucial for industries such as finance, healthcare, and legal services, where accurate entity identification helps in extracting key information from large amounts of text, improving decision-making, and automating workflows.
143-
144-
Some examples include:
145-
146-
* **News and Media Monitoring**: Media organizations use NER to automatically tag and categorize entities such as people, organizations, and locations in news articles. This helps in organizing news content, enabling efficient search and retrieval, and generating summaries or reports.
147-
* **Intelligence and Risk Analysis**: By extracting entities such as personal names, organizations, IP addresses, and financial transactions from suspicious activity reports or communications, organizations can better assess risks and detect fraud or criminal activity.
148-
* **Specialized Document Review**: Once trained, NER can help extract industry-specific key entities for better document review, searching, and classification.
149-
* **Customer Feedback and Product Review**: Extract named entities like product names, companies, or services from customer feedback or reviews. This allows businesses to categorize and analyze feedback based on specific products, people, or regions, helping them make data-driven improvements.
150-
151-
### Text summarization
152-
153-
Text summarization involves condensing large amounts of information into concise, meaningful summaries.
154-
155-
Models can be trained or fine-tuned to recognize essential information within a document and generate summaries that retain the core ideas while omitting less critical details. This capability is especially valuable in today’s information-heavy landscape, where professionals across various fields are often overwhelmed by the sheer volume of text data.
156-
157-
Some examples include:
158-
159-
* **Customer Support and Feedback Analysis**: Companies receive vast volumes of customer support tickets, reviews, and feedback that are often repetitive or lengthy. Auto-labeling can help summarize these inputs, focusing on core issues or themes, such as “billing issues” or “technical support.”
160-
* **News Aggregation and Media Monitoring**: News organizations and media monitoring platforms need to process and distribute news stories efficiently. Auto-labeling can summarize articles while tagging them with labels like “politics,” “economy,” or “health,” making it easier for users to find relevant stories.
161-
* **Document Summarization**: Professionals often need to quickly understand the key points in lengthy contracts, research papers, and files.
162-
* **Educational Content Summarization**: EEducators and e-learning platforms need to distill complex material into accessible summaries for students. Auto-labeling can summarize key topics and categorize them under labels like “concept,” “example,” or “important fact.”
120+

docs/source/guide/prompts_draft.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,15 @@ The cost to run the prompt based on the number of tokens required.
166166
</tr>
167167
</table>
168168

169+
### Classification reports
170+
171+
Click **Expand** to view classification reports for the Prompt. Thee reports tell you how many times each class was identified. This is available for the following tags:
172+
173+
`Choices`
174+
`Labels`
175+
`Pairwise`
176+
`Rating`
177+
169178
## Enhance prompt
170179

171180
You can use **Enhance Prompt** to help you construct and auto-refine your prompts.

0 commit comments

Comments
 (0)