{"id":28486596,"url":"https://github.com/vasilisp/lingograph","last_synced_at":"2025-07-01T07:33:02.303Z","repository":{"id":288157012,"uuid":"967023013","full_name":"vasilisp/lingograph","owner":"vasilisp","description":"Minimalistic low-boilerplate framework for LLM pipelines","archived":false,"fork":false,"pushed_at":"2025-06-19T20:43:20.000Z","size":58,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-19T21:32:32.470Z","etag":null,"topics":["agentic-ai","artificial-intelligence","golang","llm"],"latest_commit_sha":null,"homepage":"","language":"Go","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/vasilisp.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-15T20:04:54.000Z","updated_at":"2025-06-19T20:43:23.000Z","dependencies_parsed_at":"2025-05-27T15:39:20.952Z","dependency_job_id":"618dbadf-aa81-4149-8735-e87c75a0acb9","html_url":"https://github.com/vasilisp/lingograph","commit_stats":null,"previous_names":["vasilisp/lingograph"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/vasilisp/lingograph","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vasilisp%2Flingograph","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vasilisp%2Flingograph/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vasilisp%2Flingograph/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vasilisp%2Flingograph/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vasilisp","download_url":"https://codeload.github.com/vasilisp/lingograph/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vasilisp%2Flingograph/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260837615,"owners_count":23070558,"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","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":["agentic-ai","artificial-intelligence","golang","llm"],"created_at":"2025-06-08T01:35:16.647Z","updated_at":"2025-07-01T07:33:02.294Z","avatar_url":"https://github.com/vasilisp.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lingograph\n\n`lingograph` is a Go library for building LLM pipelines. It provides a\nflexible, composable way to create complex conversation flows using pipeline\ncombinators.\n\n## Core Concepts\n\n`lingograph` is built around the following concepts:\n\n### Actor\n\nAn **actor** is a component that processes conversation history and generates\nresponses. Actors can be:\n\n- OpenAI LLM invocations with system prompts\n- Custom implementations with specialized behavior\n\nOpenAI-based actors can seamlessly invoke Go functions. These functions receive\nstructured Go data directly—no need to manually parse JSON or other formats.\nThis is made possible through the OpenAI Functions API, combined with Go\nreflection to minimize boilerplate.\n\n### Pipeline\n\nA **pipeline** represents the overall structure for processing history and\ngenerating responses. Pipelines are built from actors and composed using\ncombinators:\n\n- **Chain**: executes a sequence of steps in order\n- **Parallel**: runs multiple pipelines concurrently\n- **While**: repeats a pipeline while a predicate over the store holds true\n- **If**: conditionally executes one of two pipelines based on a predicate over the store\n\n### Store\n\nThe **store** provides a way to maintain state between pipeline steps. It\nsupports type-safe variables that can be shared across different parts of the\npipeline. Store variables can be modified from within functions called by\nactors and are particularly useful with conditional pipelines, allowing\nyou to branch the execution flow based on runtime conditions.\n\n## Quick Start\n\nWith a working Go installation, run the following command in your project\ndirectory:\n\n```bash\ngo get github.com/vasilisp/lingograph\n```\n\nThen explore the [`examples`](https://github.com/vasilisp/lingograph/tree/main/examples) directory to see how the core concepts\nfit together.\n\n## Example Projects\n\nThe following projects demonstrate `lingograph`:\n\n- [velora](https://github.com/vasilisp/velora): An AI-powered command-line\n  workout tracker and coach. It uses `lingograph` to build complex pipelines for\n  analyzing workout data and producing training recommendations.\n\n- [wikai](https://github.com/vasilisp/wikai): A Git-powered note-taking app with\n  AI capabilities. It builds a RAG system utilizing `lingograph` pipelines with\n  heavy usage of the (OpenAI) function interface.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvasilisp%2Flingograph","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvasilisp%2Flingograph","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvasilisp%2Flingograph/lists"}