{"id":15427629,"url":"https://github.com/michaelhly/farglot","last_synced_at":"2025-08-18T04:08:36.834Z","repository":{"id":187673927,"uuid":"677346337","full_name":"michaelhly/FarGlot","owner":"michaelhly","description":"A Transformer-based SocialNLP toolkit for Farcaster","archived":false,"fork":false,"pushed_at":"2023-08-28T15:40:25.000Z","size":329,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-13T17:43:33.463Z","etag":null,"topics":["farcaster","nlp","transformers"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaelhly.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-11T10:44:42.000Z","updated_at":"2024-06-21T13:13:31.000Z","dependencies_parsed_at":"2024-10-01T18:01:03.378Z","dependency_job_id":"1b5fddf5-65c0-4c14-80f0-e6dd1794b584","html_url":"https://github.com/michaelhly/FarGlot","commit_stats":null,"previous_names":["michaelhly/farsentimiento","michaelhly/farsent","michaelhly/farglot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/michaelhly/FarGlot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelhly%2FFarGlot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelhly%2FFarGlot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelhly%2FFarGlot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelhly%2FFarGlot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaelhly","download_url":"https://codeload.github.com/michaelhly/FarGlot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelhly%2FFarGlot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270940900,"owners_count":24671734,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["farcaster","nlp","transformers"],"created_at":"2024-10-01T18:00:57.786Z","updated_at":"2025-08-18T04:08:36.807Z","avatar_url":"https://github.com/michaelhly.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FarGlot\n\nA Transformer-based SocialNLP toolkit for [Farcaster](https://www.farcaster.xyz/).\n\n## Installation\n\n```\npip install farglot\n```\n\n## Examples\n\n```python\nfrom farglot import CastAnalyzer\n\nsentiment_analyzer=CastAnalyzer.sequence_analzyer_from_model_name(\n    hub_address=\"nemes.farcaster.xyz:2283\",\n    model_name=\"pysentimiento/robertuito-sentiment-analysis\"\n)\n\nsentiment_analyzer.predict_cast(fid=2, hash_hex=\"0bcdcbf006ec22b79f37f2cf2a09c33413883937\")\n# {'NEG': 0.051998768001794815, 'NEU': 0.22470703721046448, 'POS': 0.7232941389083862}\nsentiment_analyzer.predict_casts_by_fid(fid=2)\n# {'NEG': 0.03734538331627846, 'NEU': 0.505352795124054, 'POS': 0.4573018550872803}\n```\n\n## Generate a Training Corpus from a [Hub](https://github.com/farcasterxyz/hub-monorepo/tree/main/apps/hubble)\n\n### Install the FarGlot CLI\n\n```\npip install \"farglot[cli]\"\n```\n\n### Define Training Set Classifier(s)\n\n```json\n{\n  \"name\": \"labels\",\n  \"default_value\": 1 // optional\n}\n```\n\nFor multi-label classfication:\n\n```json\n[\n  {\n    \"name\": \"class_one\",\n    \"default_value\": 1 // optional\n  },\n  {\n    \"name\": \"class_two\",\n    \"default_value\": 2 // optional\n  },\n  {\n    \"name\": \"class_three\",\n    \"default_value\": 3 // optional\n  }\n]\n```\n\n### Usage\n\n```sh\nfarglot init\nfarglot set-classifers-path /path/to/class_configs.json\nfarglot set-hub-db-path /path/to/.rocks/rocks.hub._default\nfarglot new-training-set --out ./data/training-set.csv\n```\n\n### Tuning\n\nTODO: Example of fine-tuning and uploading dataset and model to [Hugging Face](https://huggingface.co/)\n\n### Tuning Resources\n\nNot sure how to where to start? Check out the following blog posts on tuning an LLM:\n\n- [Datasets and Preprocessing](https://michaelhly.com/posts/tune-llm-one)\n- [Hyperparameters and Metrics](https://michaelhly.com/posts/tune-llm-two)\n\nThis largely is largely adapted off of [pysentimiento](https://github.com/pysentimiento/pysentimiento).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelhly%2Ffarglot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaelhly%2Ffarglot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelhly%2Ffarglot/lists"}