{"id":27552984,"url":"https://github.com/nicolay-r/bulk-chain-shell","last_synced_at":"2026-04-19T14:03:48.712Z","repository":{"id":286980125,"uuid":"963152079","full_name":"nicolay-r/bulk-chain-shell","owner":"nicolay-r","description":" Shell client 📺 for shema-based reasoning 🧠 over your data  via custom LLM provider 🌌","archived":false,"fork":false,"pushed_at":"2025-04-09T15:15:03.000Z","size":22,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-03T22:36:44.414Z","etag":null,"topics":["bulk","chain-of-thought","cot","declarative","gpt","inference","llm","pipeline","reasoning","shell","sqlite3","ui"],"latest_commit_sha":null,"homepage":"https://github.com/nicolay-r/bulk-chain","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/nicolay-r.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,"zenodo":null}},"created_at":"2025-04-09T08:33:33.000Z","updated_at":"2025-04-09T15:15:07.000Z","dependencies_parsed_at":"2025-07-03T22:42:41.859Z","dependency_job_id":null,"html_url":"https://github.com/nicolay-r/bulk-chain-shell","commit_stats":null,"previous_names":["nicolay-r/bulk-chain-shell"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nicolay-r/bulk-chain-shell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolay-r%2Fbulk-chain-shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolay-r%2Fbulk-chain-shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolay-r%2Fbulk-chain-shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolay-r%2Fbulk-chain-shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nicolay-r","download_url":"https://codeload.github.com/nicolay-r/bulk-chain-shell/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolay-r%2Fbulk-chain-shell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32009239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"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":["bulk","chain-of-thought","cot","declarative","gpt","inference","llm","pipeline","reasoning","shell","sqlite3","ui"],"created_at":"2025-04-19T11:41:33.923Z","updated_at":"2026-04-19T14:03:48.695Z","avatar_url":"https://github.com/nicolay-r.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bulk-chain-shell 0.25.0\n![](https://img.shields.io/badge/Python-3.9-brightgreen.svg)\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/nicolay-r/nlp-thirdgate?tab=readme-ov-file#llm\"\u003e\u003cb\u003eThird-party providers hosting\u003c/b\u003e↗️\u003c/a\u003e\n\u003c/p\u003e\n    \nThis project is a [bash-shell client](https://en.wikipedia.org/wiki/Bash_(Unix_shell)) for [bulk-chain](https://github.com/nicolay-r/bulk-chain) no-string framework for reasoning over your data using predefined [CoT prompt schema](https://github.com/nicolay-r/bulk-chain?tab=readme-ov-file#chain-of-thought-schema).\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/user-attachments/assets/0cc8fdcb-6ddb-44a3-8f05-d76250ae6423\" width=\"380\" height=\"auto\"/\u003e\n\u003c/p\u003e\n\n\u003e 📺 This video showcase application of the [↗️ Sentiment Analysis Schema](https://github.com/nicolay-r/bulk-chain/blob/master/test/schema/thor_cot_schema.json) towards [LLaMA-3-70B-Instruct](https://replicate.com/meta/meta-llama-3-70b-instruct) hosted by Replicate for reasoning over submitted texts\n\n### Extra Features\n* ✅ **Progress caching [for remote LLMs]**: withstanding exception during LLM calls by using `sqlite3` engine for caching LLM answers;\n\n# Installation\n\n```bash\npip install git+https://github.com/nicolay-r/bulk-chain-shell@master\n```\n\n# Usage\n\nTo interact with LLM via command line with LLM output streaming support.\nThe video below illustrates an example of application for sentiment analysis on author opinion extraction towards mentioned object in text.\n\n## Interactive Mode\n\nQuick start :\n1. ⬇️ Download [replicate](https://replicate.com/) provider for `bulk-chain`:\n2. 📜 Setup your reasoning `thor_cot_schema.json` according to the [following example ↗️](test/schema/thor_cot_schema.json)\n3. 🚀 Launch `demo.py` as follows:\n```bash\npython3 -m bulk_chain_shell.demo \\\n    --schema \"test/schema/thor_cot_schema.json\" \\\n    --adapter \"dynamic:replicate_104.py:Replicate\" \\\n    %%m \\\n    --model_name \"meta/meta-llama-3-70b-instruct\" \\\n    --api_token \"\u003cREPLICATE-API-TOKEN\u003e\" \\\n    --stream\n```\n\n## Inference Mode\n\n\u003e **NOTE:** You have to install `source-iter` and `tqdm` packages that actual [dependencies](dependencies.txt) of this project\n\n1. ⬇️ Download [replicate](https://replicate.com/) provider for `bulk-chain`:\n```bash\nwget https://raw.githubusercontent.com/nicolay-r/nlp-thirdgate/refs/heads/master/llm/replicate_104.py\n```\n2. 📜 Setup your reasoning `schema.json` according to the [following example ↗️](test/schema/default.json)\n3. 🚀 Launch inference using `DeepSeek-R1`:\n```bash\npython3 -m bulk_chain_shell.infer \\\n    --src \"\u003cPATH-TO-YOUR-CSV-or-JSONL\u003e\" \\\n    --schema \"test/schema/default.json\" \\\n    --adapter \"replicate_104.py:Replicate\" \\\n    %%m \\\n    --model_name \"deepseek-ai/deepseek-r1\" \\\n    --api_token \"\u003cREPLICATE-API-TOKEN\u003e\"\n```\n\n# Embed your LLM\n\nAll you have to do is to implement `BaseLM` class, that includes:\n* `__init__` -- for setting up *batching mode support* and (optional) *model name*;\n* `ask(prompt)` -- infer your model with the given `prompt`.\n\nSee examples with models [at nlp-thirdgate 🌌](https://github.com/nicolay-r/nlp-thirdgate?tab=readme-ov-file#llm).\n\n# References\n\n* bulk-chain no-string API: https://github.com/nicolay-r/bulk-chain\n* Third-party providers hosting: https://github.com/nicolay-r/nlp-thirdgate?tab=readme-ov-file#llm\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicolay-r%2Fbulk-chain-shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnicolay-r%2Fbulk-chain-shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicolay-r%2Fbulk-chain-shell/lists"}