Skip to content

A Transformer-based SocialNLP toolkit for Farcaster

License

Notifications You must be signed in to change notification settings

michaelhly/FarGlot

Repository files navigation

FarGlot

A Transformer-based SocialNLP toolkit for Farcaster.

Installation

pip install farglot

Examples

from farglot import CastAnalyzer

sentiment_analyzer=CastAnalyzer.sequence_analzyer_from_model_name(
    hub_address="nemes.farcaster.xyz:2283",
    model_name="pysentimiento/robertuito-sentiment-analysis"
)

sentiment_analyzer.predict_cast(fid=2, hash_hex="0bcdcbf006ec22b79f37f2cf2a09c33413883937")
# {'NEG': 0.051998768001794815, 'NEU': 0.22470703721046448, 'POS': 0.7232941389083862}
sentiment_analyzer.predict_casts_by_fid(fid=2)
# {'NEG': 0.03734538331627846, 'NEU': 0.505352795124054, 'POS': 0.4573018550872803}

Generate a Training Corpus from a Hub

Install the FarGlot CLI

pip install "farglot[cli]"

Define Training Set Classifier(s)

{
  "name": "labels",
  "default_value": 1 // optional
}

For multi-label classfication:

[
  {
    "name": "class_one",
    "default_value": 1 // optional
  },
  {
    "name": "class_two",
    "default_value": 2 // optional
  },
  {
    "name": "class_three",
    "default_value": 3 // optional
  }
]

Usage

farglot init
farglot set-classifers-path /path/to/class_configs.json
farglot set-hub-db-path /path/to/.rocks/rocks.hub._default
farglot new-training-set --out ./data/training-set.csv

Tuning

TODO: Example of fine-tuning and uploading dataset and model to Hugging Face

Tuning Resources

Not sure how to where to start? Check out the following blog posts on tuning an LLM:

This largely is largely adapted off of pysentimiento.

About

A Transformer-based SocialNLP toolkit for Farcaster

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages