{"id":13564193,"url":"https://github.com/griptape-ai/griptape","last_synced_at":"2026-02-19T22:05:50.183Z","repository":{"id":65249910,"uuid":"588992876","full_name":"griptape-ai/griptape","owner":"griptape-ai","description":"Modular Python framework for AI agents and workflows with chain-of-thought reasoning, tools, and memory. ","archived":false,"fork":false,"pushed_at":"2026-02-15T00:04:40.000Z","size":21346,"stargazers_count":2466,"open_issues_count":76,"forks_count":212,"subscribers_count":28,"default_branch":"main","last_synced_at":"2026-02-15T07:49:59.912Z","etag":null,"topics":["ai","anthropic","claude","gpt","huggingface","llm","openai","python"],"latest_commit_sha":null,"homepage":"https://www.griptape.ai","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/griptape-ai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-01-14T18:02:16.000Z","updated_at":"2026-02-15T00:03:50.000Z","dependencies_parsed_at":"2024-02-20T23:24:25.819Z","dependency_job_id":"3f9da1c4-c523-4087-8bf2-e016f255357e","html_url":"https://github.com/griptape-ai/griptape","commit_stats":null,"previous_names":["griptape-ai/skatepark","usewarpspeed/warpspeed"],"tags_count":167,"template":false,"template_full_name":null,"purl":"pkg:github/griptape-ai/griptape","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griptape-ai%2Fgriptape","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griptape-ai%2Fgriptape/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griptape-ai%2Fgriptape/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griptape-ai%2Fgriptape/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/griptape-ai","download_url":"https://codeload.github.com/griptape-ai/griptape/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griptape-ai%2Fgriptape/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29634728,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T18:02:07.722Z","status":"ssl_error","status_checked_at":"2026-02-19T18:01:46.144Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ai","anthropic","claude","gpt","huggingface","llm","openai","python"],"created_at":"2024-08-01T13:01:27.825Z","updated_at":"2026-02-19T22:05:50.178Z","avatar_url":"https://github.com/griptape-ai.png","language":"Python","funding_links":[],"categories":["Agent Development Frameworks","Python","A01_文本生成_文本对话","NLP","其他LLM框架","4. Agentic AI \u0026 Multi-Agent Systems","Tools \u0026 Extensions","Other LLM Frameworks","2. Libraries \u0026 Frameworks","AI Agent Frameworks","Agent"],"sub_categories":["大语言对话模型及数据","文章","Videos Playlists","Python"],"readme":"![Griptape](docs/assets/img/GRIPTAPE_from_Foundry_rgb_black.svg)\n\n[![PyPI Version](https://img.shields.io/pypi/v/griptape.svg)](https://pypi.python.org/pypi/griptape)\n[![Tests](https://github.com/griptape-ai/griptape/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/griptape-ai/griptape/actions/workflows/unit-tests.yml)\n[![Docs](https://readthedocs.org/projects/griptape/badge/)](https://griptape.readthedocs.io/)\n[![Checked with pyright](https://microsoft.github.io/pyright/img/pyright_badge.svg)](https://microsoft.github.io/pyright/)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n[![codecov](https://codecov.io/github/griptape-ai/griptape/graph/badge.svg?token=HUBqUpl3NB)](https://codecov.io/github/griptape-ai/griptape)\n[![Griptape Discord](https://dcbadge.vercel.app/api/server/gnWRz88eym?compact=true\u0026style=flat)](https://discord.gg/griptape)\n\nGriptape is a Python framework designed to simplify the development of generative AI (genAI) applications.\nIt offers a set of straightforward, flexible abstractions for working with areas such as Large Language Models (LLMs), Retrieval-Augmented Generation (RAG), and much more.\n\n## 🛠️ Core Components\n\n### 🏗️ Structures\n\n- 🤖 **Agents** consist of a single Task, configured for Agent-specific behavior.\n- 🔄 **Pipelines** organize a sequence of Tasks so that the output from one Task may flow into the next.\n- 🌐 **Workflows** configure Tasks to operate in parallel.\n\n### 📝 Tasks\n\nTasks are the core building blocks within Structures, enabling interaction with Engines, Tools, and other Griptape components.\n\n### 🧠 Memory\n\n- 💬 **Conversation Memory** enables LLMs to retain and retrieve information across interactions.\n- 🗃️ **Task Memory** keeps large or sensitive Task outputs off the prompt that is sent to the LLM.\n- 📊 **Meta Memory** enables passing in additional metadata to the LLM, enhancing the context and relevance of the interaction.\n\n### 🚗 Drivers\n\nDrivers facilitate interactions with external resources and services in Griptape. \nThey allow you to swap out functionality and providers with minimal changes to your business logic.\n\n#### LLM \u0026 Orchestration\n- 🗣️ **Prompt Drivers**: Manage textual and image interactions with LLMs.\n- 🤖 **Assistant Drivers**: Enable interactions with various “assistant” services.\n- 📜 **Ruleset Drivers**: Load and apply rulesets from external sources.\n- 🧠 **Conversation Memory Drivers**: Store and retrieve conversational data.\n- 📡 **Event Listener Drivers**: Forward framework events to external services.\n- 🏗️ **Structure Run Drivers**: Execute structures locally or in the cloud.\n\n#### Retrieval \u0026 Storage\n- 🔢 **Embedding Drivers**: Generate vector embeddings from textual inputs.\n- 🔀 **Rerank Drivers**: Rerank search results for improved relevance.\n- 💾 **Vector Store Drivers**: Manage the storage and retrieval of embeddings.\n- 🗂️ **File Manager Drivers**: Handle file operations on local and remote storage.\n- 💼 **SQL Drivers**: Interact with SQL databases.\n\n#### Multimodal\n- 🎨 **Image Generation Drivers**: Create images from text descriptions.\n- 🗣️ **Text to Speech Drivers**: Convert text to speech.\n- 🎙️ **Audio Transcription Drivers**: Convert audio to text.\n\n#### Web\n- 🔍 **Web Search Drivers**: Search the web for information.\n- 🌐 **Web Scraper Drivers**: Extract data from web pages.\n\n#### Observability\n- 📈 **Observability Drivers**: Send trace and event data to observability platforms.\n\n### 🔧 Tools\n\nTools provide capabilities for LLMs to interact with data and services.\nGriptape includes a variety of [built-in Tools](https://docs.griptape.ai/stable/griptape-framework/tools/official-tools/), and makes it easy to create [custom Tools](https://docs.griptape.ai/stable/griptape-framework/tools/custom-tools/).\n\n### 🚂 Engines\n\nEngines wrap Drivers and provide use-case-specific functionality:\n\n- 📊 **RAG Engine** is an abstraction for implementing modular Retrieval Augmented Generation (RAG) pipelines.\n- 🛠️ **Extraction Engine** extracts JSON or CSV data from unstructured text.\n- 📝 **Summary Engine** generates summaries from textual content.\n- ✅ **Eval Engine** evaluates and scores the quality of generated text.\n\n### 📦 Additional Components\n\n- 📐 **Rulesets** steer LLM behavior with minimal prompt engineering.\n- 🔄 **Loaders** load data from various sources.\n- 🏺 **Artifacts** allow for passing data of different types between Griptape components.\n- ✂️ **Chunkers** segment texts into manageable pieces for diverse text types.\n- 🔢 **Tokenizers** count the number of tokens in a text to not exceed LLM token limits.\n\n## Documentation\n\nPlease visit the [docs](https://docs.griptape.ai/) for information on installation and usage.\n\nCheck out [Griptape Trade School](https://learn.griptape.ai/) for free online courses.\n\n## Hello World Example\n\nHere's a minimal example of griptape:\n\n\n```python\nfrom griptape.drivers.prompt.openai import OpenAiChatPromptDriver\nfrom griptape.rules import Rule\nfrom griptape.tasks import PromptTask\n\ntask = PromptTask(\n    prompt_driver=OpenAiChatPromptDriver(model=\"gpt-4.1\"),\n    rules=[Rule(\"Keep your answer to a few sentences.\")],\n)\n\nresult = task.run(\"How do I do a kickflip?\")\n\nprint(result.value)\n```\n\n```text\nTo do a kickflip, start by positioning your front foot slightly angled near the middle of the board and your back foot on the tail.\nPop the tail down with your back foot while flicking the edge of the board with your front foot to make it spin.\nJump and keep your body centered over the board, then catch it with your feet and land smoothly. Practice and patience are key!\n```\n\n\n## Task and Workflow Example\n\nHere is a concise example using griptape to research open source projects:\n\n```python\nfrom griptape.drivers.prompt.openai_chat_prompt_driver import OpenAiChatPromptDriver\nfrom griptape.drivers.web_search.duck_duck_go import DuckDuckGoWebSearchDriver\nfrom griptape.rules import Rule, Ruleset\nfrom griptape.structures import Workflow\nfrom griptape.tasks import PromptTask, TextSummaryTask\nfrom griptape.tools import WebScraperTool, WebSearchTool\nfrom griptape.utils import StructureVisualizer\nfrom pydantic import BaseModel\n\n\nclass Feature(BaseModel):\n    name: str\n    description: str\n    emoji: str\n\n\nclass Output(BaseModel):\n    answer: str\n    key_features: list[Feature]\n\n\nprojects = [\"griptape\", \"langchain\", \"crew-ai\", \"pydantic-ai\"]\n\nprompt_driver = OpenAiChatPromptDriver(model=\"gpt-4.1\")\nworkflow = Workflow(\n    tasks=[\n        [\n            PromptTask(\n                id=f\"project-{project}\",\n                input=\"Tell me about the open source project: {{ project }}.\",\n                prompt_driver=prompt_driver,\n                context={\"project\": projects},\n                output_schema=Output,\n                tools=[\n                    WebSearchTool(\n                        web_search_driver=DuckDuckGoWebSearchDriver(),\n                    ),\n                    WebScraperTool(),\n                ],\n                child_ids=[\"summary\"],\n            )\n            for project in projects\n        ],\n        TextSummaryTask(\n            input=\"{{ parents_output_text }}\",\n            id=\"summary\",\n            rulesets=[\n                Ruleset(\n                    name=\"Format\", rules=[Rule(\"Be detailed.\"), Rule(\"Include emojis.\")]\n                )\n            ],\n        ),\n    ]\n)\n\nworkflow.run()\n\nprint(StructureVisualizer(workflow).to_url())\n```\n\n```text\n Output: Here's a detailed summary of the open-source projects mentioned:\n\n 1. **Griptape** 🛠️:                                                                                                            \n    - Griptape is a modular Python framework designed for creating AI-powered applications. It focuses on securely connecting to\n enterprise data and APIs. The framework provides structured components like Agents, Pipelines, and Workflows, allowing for both\n parallel and sequential operations. It includes built-in tools and supports custom tool creation for data and service\n interaction.\n\n 2. **LangChain** 🔗:\n    - LangChain is a framework for building applications powered by Large Language Models (LLMs). It offers a standard interface\n for models, embeddings, and vector stores, facilitating real-time data augmentation and model interoperability. LangChain\n integrates with various data sources and external systems, making it adaptable to evolving technologies.\n\n 3. **CrewAI** 🤖:\n    - CrewAI is a standalone Python framework for orchestrating multi-agent AI systems. It allows developers to create and\n manage AI agents that collaborate on complex tasks. CrewAI emphasizes ease of use and scalability, providing tools and\n documentation to help developers build AI-powered solutions.\n\n 4. **Pydantic-AI** 🧩:\n    - Pydantic-AI is a Python agent framework that simplifies the development of production-grade applications with Generative\n AI. Built on Pydantic, it supports various AI models and provides features like type-safe design, structured response\n validation, and dependency injection. Pydantic-AI aims to bring the ease of FastAPI development to AI applications.\n\n These projects offer diverse tools and frameworks for developing AI applications, each with unique features and capabilities\n tailored to different aspects of AI development.\n```\n\n```mermaid\n    graph TD;\n    griptape--\u003esummary;\n    langchain--\u003esummary;\n    pydantic-ai--\u003esummary;\n    crew-ai--\u003esummary;\n```\n\n## Versioning\n\nGriptape uses [Semantic Versioning](https://semver.org/).\n\n## Contributing\n\nThank you for considering contributing to Griptape! Before you start, please review our [Contributing Guidelines](https://github.com/griptape-ai/griptape/blob/main/CONTRIBUTING.md).\n\n## License\n\nGriptape is available under the Apache 2.0 License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgriptape-ai%2Fgriptape","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgriptape-ai%2Fgriptape","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgriptape-ai%2Fgriptape/lists"}