Txtai est une base de données intégrée tout-en-un pour la recherche sémantique, l'orchestration LLM et les workflows de modèle de langue.
En l'honneur de la récente étape de Txtai d'atteindre les 10k ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐’s on GitHub, cet article créera un graphique de connaissances astronomiques des étoiles, des planètes, des galaxies et d'autres entités astronomiques connues. Il montrera comment un recueil d'informations peut être construit à partir d'une source de connaissances publique telle que Wikipedia.
Alors que les agents et la récupération de la génération augmentée (RAG) peuvent faire de grandes choses, elles peuvent faire des choses encore plus grandes si elles sont fournies avec une aide des humains sous la forme de connaissances compilées. Ce n'est pas seulement une meilleure précision, c'est aussi plus rapide car nous n'avons pas besoin d'attendre qu'un agent comprenne ce que nous savons déjà.
Plongeons-nous.
Installertxtaiet toutes les dépendances.
PIP Install Txtai [graphique, pipeline-text] DataSets ensembles AutoAWQ AutoAWQ-KernelsLa première étape consiste à construire notre graphique de connaissances ou notre recueil d'informations. Nous utiliserons txtai-wikipedia et une autre source dérivée de Wikipedia avec des étoiles connues de Constellation.
Nous sélectionnerons des articles sur les planètes, les constellations, les galaxies et les étoiles. Nous extraire ensuite des entités à l'aide d'un pipeline Gliner. Enfin, nous rejoindrons ces entrées avec les données de constellation.
Pour avoir une idée de ce à quoi ressemblera ces données, ci-dessous est le schéma pour leconstellationensemble de données.
Ce qui suit est une description de chacun des champs de cet ensemble de données. Comme nous pouvons le voir, il y a beaucoup d'identifiants, mais il a également des données telles que l'emplacement, la luminosité et la distance de la Terre.
| Champ | Description |
|---|---|
| Constellation | Nom de la constellation L'étoile fait partie de |
| Nom | Nom propre |
| Bayer | Bayer désignant |
| Flamsteed | Désignation de Flamsteed |
| Étoile variable | Désignation d'étoile variable |
| Numéro Henry Draper | Numéro de désignation du catalogue Henry Draper |
| Numéro d'Hipparcos | Numéro de désignation du catalogue d'Hipparcos |
| Ascension droite | Ascension droite pour l'époque / Equinox J2000.0 |
| Déclinaison | Déclinaison pour l'époque / equinox J2000.0 |
| Magnitude visuelle | Magnitude visuelle (M ou MV), également connue sous le nom de magnitude apparente |
| Ampleur absolue | Maîtrie absolue (MV) |
| Distance | Distance des années-lumière de la Terre |
| Classe spectrale | Classe spectrale de l'étoile dans le système de classification stellaire |
| Notes | Nom (s) commun (s) ou noms alternatifs; commentaires; propriétés notables |
à partir de Txtai Import Embeddings Embeddings = Embeddings () embeddings.load (provider = "HuggingFace-Hub", contener = "Neuml / txtai-wikipedia")De TxTai.Pipeline Import Entity Entity = Entity ("Gliner-Community / Gliner_medium-V2.5")From DataSets Importer Load_dataset def parsefloat (valeur): essayez: return float (value.replace ("-", "-")) si la valeur else de valeur sauf ValueError: return Value Def parse (star): text = star ["name" ] Si star ["name"] else f'hd- {star ["Henry Draper Number"]} 'output = {"id": star ["name"], "type": "star", "text": Texte} pour le champ, valeur dans star.items (): field = field.lower (). Remplace ("", "_") sortie [champ] = parsefloat (valeur) return output # star by constellation dataSet stars = load_dataset ( "Neuml / Constellations", Split = "Train")Les sections ci-dessus sont chargéestxtai-wikipedia, leGainpipeline, et leconstellationsensemble de données. Il est maint...
[Courte citation de 8% de l'article original]