Wünschen Sie, Sie könnten Ihre Bilder oder Videos durchsuchen, ohne eine Codezeile zu schreiben? Möchten Sie Einblicke aus Ihren Daten extrahieren, indem Sie in einfachem Englisch fragen? Jetzt kannst du! ?
Voxelgpt ist ein Fiftyone -Plugin, das die Leistung von großsprachigen Modellen (LLMs) und großen multimodalen Modellen (LMMs) mit FiftyOne's Computer Vision Query -Sprache kombiniert, mit der Sie mithilfe von Natursprache Fragen zu Ihren Daten filtern, sortisch schneiden und stellen können. Es kann sogar Berechnungen in Ihrem Datensatz für Sie durchführen - natürlich mit Genehmigung!
Sie können Voxelgpt live unter gpt.fiftyone.ai probieren!
Voxelgpt kann die folgenden Arten von Abfragen umgehen:
Wenn Sie Voxelgpt eine Frage stellen, interpretiert sie Ihre Absicht und bestimmt, welche Art von Abfrage Sie gestellt haben. Wenn Voxelgpt nicht sicher ist, werden Sie aufgefordert, zu klären.
Voxelgpt kann die folgenden Arten von Abfragen zu Ihrem Datensatz verarbeiten:
Sie können Voxelgpt bitten, Ihre Datensätze für Sie zu durchsuchen. Hier sind einige Beispiele für Dinge, die Sie fragen können:
Unter der Haube interpretiert Voxelgpt Ihre Abfrage und übersetzt sie in die entsprechende Datensatzansicht. Voxelgpt versteht das Schema Ihres Datensatzes sowie Dinge wie Bewertungsläufe und Ähnlichkeitsindexes.
Es kann auch automatisch den Inhalt Ihres Datensatzes untersuchen, um bestimmte Entitäten abzurufen.
Voxelgpt kann Fragen zum Schema Ihres Datensatzes, Gehirnläufe, Bewertungsläufe und mehr beantworten. Hier sind einige Beispiele:
Wenn Ihr Datensatz ein oder mehrere fo.Detections
-Feld (en) enthält, kann Voxelgpt basierend auf der Größe (relativ und absolut) von Begrenzungsboxen und der Anzahl der Erkennungen filtern oder übereinstimmen.
Wenn Ihr Datensatz über ein GeoLocation
-Feld verfügt, können Sie geografische Abfragen in Ihrem Datensatz ausführen. Voxelgpt kann Geokodierung ausführen, um vom Standortnamen (oder Textbeschreibung) zu einem (lon, lat)
-Paar oder einer Liste von (lon, lat)
Punkten zu wechseln, die eine Grenzregion definieren. Hier sind einige Beispiele:
Wenn Ihr Datensatz über ein Date
oder DateTime
-Feld verfügt, kann Voxelgpt zeitliche Abfragen ausführen, wie z. B.:
event
-Feld, wenn Sie eine Tageszeit zwischen 20 Uhr und 23 Uhr lesen Voxelgpt hat Zugriff auf Aggregationsphasen in fünfzig Jahren, sodass Aggregationen wie count
, mean
, sum
, std
, min
, max
, values
und distinct
für ein Feld oder Ausdruck über den gesamten Datensatz oder eine Ansicht in den Datensatz ausgeprägt werden können. Hier sind einige Beispiele:
cat
?confidence
in meinen Vorhersagen?Voxelgpt kann Berechnungen in Ihrem Datensatz durchführen, z. B.:
Hier finden Sie einige Beispiele für Rechenfragen, die Sie Voxelgpt fragen können:
Wenn Sie nicht zulassen möchten, dass Voxelgpt Berechnungen ausführen, setzen Sie die Umgebungsvariable:
export VOXELGPT_ALLOW_COMPUTATIONS=false
Sie können auch die minimale Datensatzgröße festlegen, bei der Voxelgpt um Erlaubnis zum Ausführen von Berechnungen bitten muss:
export VOXELGPT_APPROVAL_THRESHOLD=1000
Der Standardwert beträgt 100 Proben.
Voxelgpt ist nicht nur ein Paarprogrammierer. Es ist auch ein Bildungsinstrument. Voxelgpt hat Zugriff auf die gesamten Fiftyone -Dokumente sowie alle Blog -Beiträge im Blog Voxel51 sowie Transkripte aus Videos auf dem Voxel51 -YouTube -Kanal. Es kann all diese Ressourcen verwenden, um fünfzigjährige Fragen zu beantworten.
Hier finden Sie einige Beispiele für Dokumentationsanfragen, die Sie Voxelgpt fragen können:
Voxelgpt bietet Links zu den hilfreichsten Ressourcen in den Dokumenten, dem Blog und dem YouTube -Kanal von Voxel51. Bei YouTube -Videos verweisen die Links direkt auf den relevantesten Zeitstempel!
Voxelgpt kann Fragen zu der Umgebung beantworten, in der Sie fünfzig Jahre betreiben, einschließlich:
Hier finden Sie einige Beispiele für Arbeitsbereiche, die Sie Voxelgpt fragen können:
Schließlich kann Voxelgpt allgemeine Fragen zu Computer Vision, maschinellem Lernen und Datenwissenschaft beantworten. Es kann Ihnen helfen, grundlegende Konzepte zu verstehen und zu lernen, wie Sie Probleme mit der Datenqualität überwinden können.
Hier finden Sie einige Beispiele für Abfragen für maschinelles Lernen, die Sie Voxelgpt fragen können:
Wenn Sie es noch nicht getan haben, installieren Sie Fiftyone:
pip install fiftyone
Sie müssen auch einen OpenAI -API -Schlüssel angeben (erstellen Sie einen):
export OPENAI_API_KEY=XXXXXXXX
Für die Verwendung mit Ihrem privaten Azure -Bereitstellungen finden Sie hier
Wenn Sie nur Voxelgpt in der FiftyOne -App verwenden möchten, können Sie es einfach als Plugin installieren:
fiftyone plugins download https://github.com/voxel51/voxelgpt
fiftyone plugins requirements @voxel51/voxelgpt --install
Wenn Sie das voxelgpt
-Modul direkt verwenden oder das Projekt lokal entwickeln möchten, möchten Sie das Repository klonen:
git clone https://github.com/voxel51/voxelgpt
cd voxelgpt
Installieren Sie die Anforderungen:
pip install -r requirements.txt
und machen Sie das Plugin für die Verwendung in der FiftyOne -App zur Verfügung, indem Sie es in Ihr Plugins -Verzeichnis symlinieren:
# Symlinks your clone of voxelgpt into your FiftyOne plugins directory
ln -s " $( pwd ) " " $( fiftyone config plugins_dir ) /voxelgpt "
Möchten Sie Voxelgpt zu Ihrem Fiftyone -Team -Einsatz hinzufügen? Du kannst! Anweisungen hier.
Sie können Voxelgpt mit Ihrer privaten Azure -Bereitstellung verwenden, indem Sie die folgenden Umgebungsvariablen festlegen:
export OPENAI_API_TYPE=azure
export AZURE_OPENAI_ENDPOINT= < azure_endpoint >
export AZURE_OPENAI_KEY= < azure_api_key >
export AZURE_OPENAI_GPT35_DEPLOYMENT_NAME= < gpt35-deployment-name >
export AZURE_OPENAI_GPT4O_DEPLOYMENT_NAME= < gpt4o-deployment-name >
export AZURE_OPENAI_TEXT_EMBEDDING_3_LARGE_DEPLOYMENT_NAME= < embedding-deployment-name >
Wenn eine der ersten drei Umgebungsvariablen nicht festgelegt ist, wird Voxelgpt standardmäßig die OpenAI -API verwendet. Bei den letzten drei Umgebungsvariablen wird Voxelgpt nicht festgestellt, dass eine von ihnen nicht festgelegte Ressourcen festgestellt wird.
Sie können Voxelgpt in der FiftyOne -App verwenden, indem Sie einen Datensatz laden:
import fiftyone as fo
import fiftyone . zoo as foz
dataset = foz . load_zoo_dataset ( "quickstart" )
session = fo . launch_app ( dataset )
Und dann entweder:
+
Symbols neben der Registerkarte Proben und Auswahl von VoxelgptVersuchen Sie beispielsweise die folgenden Fragen zu stellen:
Pro -Tipp: Verwenden Sie das Schlüsselwort now
um Ihre vorherigen Eingabeaufforderungen als Kontext für Ihre nächste Abfrage einzubeziehen!
Sie können auch Voxelgpt als Bediener ausführen, indem Sie die ~
Taste auf Ihrer Tastatur drücken und Ask VoxelGPT
aus der Liste auswählen. Dadurch wird ein kleines Modal geöffnet, in dem Sie Ihre Abfrage eingeben können.
Wenn Sie lokal installiert haben, können Sie auch direkt mit Voxelgpt über Python interagieren.
Sie können ask_voxelgpt_interactive()
verwenden, um eine interaktive Sitzung zu starten, in der Sie sich mit voxelgpt über input()
-Antrag unterhalten können. Navigieren Sie zum Verzeichnis, in dem sich Voxelgpt befindet und betreibt:
import fiftyone as fo
import fiftyone . zoo as foz
from voxelgpt import ask_voxelgpt_interactive
dataset = foz . load_zoo_dataset ( "quickstart" )
session = fo . launch_app ( dataset )
ask_voxelgpt_interactive ( dataset , session = session )
Pro -Tipp: Verwenden Sie das Schlüsselwort now
um Ihre vorherigen Eingabeaufforderungen als Kontext für Ihre nächste Abfrage einzubeziehen.
Wie üblich können Sie Voxelgpt mit einer beliebigen Kombination aus Datensatz-, Dokumentations- und allgemeinen Computer -Vision -Abfragen fordern. Zum Beispiel könnte ein Gespräch so aussehen:
You:
what is the difference between precision and recall?
VoxelGPT:
Precision and recall are two important metrics used to evaluate the
performance of a machine learning model in classification tasks. Precision
measures the proportion of true positive predictions among all positive
predictions made by the model. Recall, on the other hand, measures the
proportion of true positive predictions among all actual positive instances
in the dataset.
In other words, precision is the ability of the model to correctly identify
positive instances, while recall is the ability of the model to identify
all positive instances. A high precision means that the model is making
very few false positive predictions, while a high recall means that the
model is able to identify most of the positive instances in the dataset.
It is important to balance precision and recall when evaluating a model's
performance. A model with high precision but low recall may be missing
important positive instances, while a model with high recall but low
precision may be making too many false positive predictions.
In the context of the FiftyOne library, precision and recall can be
computed using the `fiftyone.utils.metrics` module, which provides
functions for computing various classification metrics. For example, the
`fiftyone.utils.metrics.binary_classification` function can be used to
compute precision and recall for binary classification tasks.
You:
does FiftyOne integrate with Label Studio?
VoxelGPT:
Yes, FiftyOne integrates with Label Studio. The integration allows you to
easily upload your data directly from FiftyOne to Label Studio for labeling.
You can get started with Label Studio through a simple pip install to get a
local server up and running. FiftyOne provides simple setup instructions
that you can use to specify the necessary account credentials and server
endpoint to use. FiftyOne provides an API to create projects, upload data,
define label schemas, and download annotations using Label Studio, all
programmatically in Python. All of the following label types are supported
for image datasets: Classification, Detections, Instance segmentations,
Polygons and polylines, Keypoints, Scalar fields, and Semantic segmentation.
Sources:
- https://docs.voxel51.com/integrations/index.html
- https://docs.voxel51.com/integrations/labelstudio.html
You:
show me predicted airplanes
VoxelGPT:
Identified potential algorithms: evaluation
No evaluation runs found.
Identified potential fields: predictions
Identified potential label classes: {'predictions': ['airplane']}
Identified potential view stages: ['match', 'filter_labels', 'match_labels', 'exclude_labels', 'filter_field']
Okay, I'm going to load dataset.filter_labels("predictions",F("label") == "airplane")
You:
now only show me the first 10 samples
VoxelGPT:
Identified potential algorithms: evaluation
No evaluation runs found.
Identified potential fields: predictions
Identified potential label classes: {'predictions': ['airplane']}
Identified potential view stages: ['match', 'limit', 'limit_labels', 'skip', 'sort_by']
Okay, I'm going to load dataset.match(F("predictions.detections.label").contains("airplane")).limit(10)
You: exit
Im interaktiven Modus lädt Voxelgpt automatisch alle in der App erstellten Ansichten, und Sie können auf sie über Ihr Sitzungsobjekt zugreifen:
print ( session . view . count ( "predictions.detections" ))
Sie können auch ask_voxelgpt()
verwenden, um Voxelgpt mit einzelnen Abfragen zu fordern:
from voxelgpt import ask_voxelgpt
ask_voxelgpt ( "Does FiftyOne integrate with CVAT?" )
Yes, FiftyOne integrates with CVAT, which is an open-source image and video
annotation tool. You can upload your data directly from FiftyOne to CVAT to add or
edit labels. You can use CVAT either through the hosted server at app.cvat.ai or
through a self-hosted server. In either case, FiftyOne provides simple setup
instructions that you can use to specify the necessary account credentials and
server endpoint to use. The tight integration between FiftyOne and CVAT allows
you to curate and explore datasets in FiftyOne and then send off samples or
existing labels for annotation in CVAT with just one line of code. To use CVAT,
you must create an account on a CVAT server. By default, FiftyOne uses app.cvat.ai.
If you haven’t already, go to app.cvat.ai and create an account now. Another option
is to set up CVAT locally and then configure FiftyOne to use your self-hosted server.
A primary benefit of setting up CVAT locally is that you are limited to 10 tasks and
500MB of data with app.cvat.ai.
Sources:
- https://docs.voxel51.com/integrations/cvat.html#examples
- https://docs.voxel51.com/tutorials/cvat_annotation.html#Annotating-Datasets-with-CVAT
- https://docs.voxel51.com/tutorials/cvat_annotation.html#Setup
- https://docs.voxel51.com/integrations/index.html#fiftyone-integrations
Wenn Voxelgpt eine Ansicht als Antwort auf Ihre Abfrage erstellt, wird sie zurückgegeben:
import fiftyone as fo
import fiftyone . zoo as foz
dataset = foz . load_zoo_dataset ( "quickstart" )
view = ask_voxelgpt ( "show me 10 random samples" , dataset )
Identified potential view stages: ['match', 'limit', 'skip', 'take', 'sort_by']
Okay, I'm going to load dataset.take(10)
Voxelgpt ist geschult, um bestimmte Schlüsselwörter zu erkennen, die es helfen, Ihre Absicht zu verstehen:
Stichwort | Bedeutung |
---|---|
show / display | Teilt Voxelgpt an, dass Sie Ihren Datensatz abfragen und die Ergebnisse anzeigen sollen |
docs / how / FiftyOne | Sagt Voxelgpt, dass Sie die fünfzig -Dokumenten abfragen sollen. |
now | Verwenden Sie Ihren Chat -Verlauf als Kontext, um Ihre nächste Abfrage zu interpretieren. Wenn Sie beispielsweise "Zeigen Sie mir Bilder mit Menschen anzeigen" fragen und dann "jetzt die 10 einzigartigsten" fragen, wird Voxelgpt verstehen, dass Sie die 10 einzigartigsten Bilder mit Menschen zeigen möchten |
help | Druckt eine Hilfenachricht mit Nutzungsanweisungen |
reset | Setzt die Gesprächsgeschichte zurück |
exit | Verlässt interaktive Python -Sitzungen |
Beiträge sind willkommen! Weitere Anweisungen finden Sie im Leitfaden für die Beiträge.
Voxelgpt verwendet:
Voxelgpt unterstützt nur begrenzte Unterstützung für Videos, gruppierte Datensätze und 3D -Medien. Grundlegende Filtern, Abfragen und Aggregationen funktionieren weiterhin, erwarten jedoch keine tiefen Einblicke in 3D -Daten.
Diese Implementierung basiert auf begrenzten Beispielen, sodass sie möglicherweise nicht gut auf alle Datensätze verallgemeinert wird. Je spezifischer Ihre Abfrage ist, desto besser werden die Ergebnisse sein. Wenn Sie feststellen, dass die Ergebnisse nicht das sind, was Sie erwarten, lassen Sie es uns bitte wissen!
Wenn Sie es so weit geschafft haben, würden wir uns sehr schätzen, wenn Sie sich einen Moment Zeit nehmen würden, um fünfzig Jahre zu besuchen und uns einen Stern zu geben!
Fiftyone ist eine Open-Source-Bibliothek zum Erstellen hochwertiger Datensätze und Computer-Vision-Modelle. Es ist der Motor, der dieses Projekt versorgt.
Danke fürs Besuch! ?
Wenn Sie sich einer schnell wachsenden Community von Ingenieuren, Forschern und Praktikern anschließen möchten, die visuelle KI lieben, schließen Sie sich der Fiftyone Slack-Community an!