{"id":13491497,"url":"https://github.com/TaskingAI/TaskingAI","last_synced_at":"2025-03-28T08:33:18.240Z","repository":{"id":218669969,"uuid":"740338525","full_name":"TaskingAI/TaskingAI","owner":"TaskingAI","description":"The open source platform for AI-native application development.","archived":false,"fork":false,"pushed_at":"2024-11-18T23:01:43.000Z","size":16978,"stargazers_count":6224,"open_issues_count":46,"forks_count":318,"subscribers_count":65,"default_branch":"master","last_synced_at":"2024-11-26T09:08:50.554Z","etag":null,"topics":["agent","ai","ai-native","function-call","generative-ai","gpt","langchain","llm","rag","retrieval-augmented-generation","vector"],"latest_commit_sha":null,"homepage":"https://www.tasking.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/TaskingAI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","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":"2024-01-08T06:21:49.000Z","updated_at":"2024-11-25T20:25:25.000Z","dependencies_parsed_at":"2024-02-02T15:28:46.605Z","dependency_job_id":"f18bd214-68bb-4387-ab32-db9dbbba884a","html_url":"https://github.com/TaskingAI/TaskingAI","commit_stats":{"total_commits":412,"total_committers":19,"mean_commits":21.68421052631579,"dds":0.6310679611650485,"last_synced_commit":"f0092d6b2dd82e98e188e0b9849fdd4c7230dd98"},"previous_names":["taskingai/taskingai"],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TaskingAI%2FTaskingAI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TaskingAI%2FTaskingAI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TaskingAI%2FTaskingAI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TaskingAI%2FTaskingAI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TaskingAI","download_url":"https://codeload.github.com/TaskingAI/TaskingAI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245996757,"owners_count":20707311,"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":["agent","ai","ai-native","function-call","generative-ai","gpt","langchain","llm","rag","retrieval-augmented-generation","vector"],"created_at":"2024-07-31T19:00:57.554Z","updated_at":"2025-03-28T08:33:15.753Z","avatar_url":"https://github.com/TaskingAI.png","language":"Python","readme":"\u003cp\u003e\n\u003ca href=\"https://www.tasking.ai\"\u003e\u003cimg src=\"static/img/logo.png\" alt=\"https://www.tasking.ai\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# TaskingAI\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://hub.docker.com/u/taskingai\"\u003e\u003cimg alt=\"Docker Image Version (latest semver)\" src=\"https://img.shields.io/docker/v/taskingai/taskingai-server?label=docker\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/TaskingAI/TaskingAI/blob/master/LICENSE\"\u003e\u003cimg alt=\"GitHub License\" src=\"https://img.shields.io/github/license/taskingai/taskingai\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/taskingai\"\u003e\u003cimg alt=\"PyPI version\" src=\"https://img.shields.io/pypi/v/taskingai?color=blue\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://twitter.com/TaskingAI\"\u003e\u003cimg alt=\"X (formerly Twitter) URL\" src=\"https://img.shields.io/twitter/url?url=https%3A%2F%2Ftwitter.com%2FTaskingAI\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.youtube.com/@TaskingAI\"\u003e\u003cimg alt=\"YouTube Channel Subscribers\" src=\"https://img.shields.io/youtube/channel/subscribers/UCxUnOM-ZbZKmyR_Q5vAUSTA\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.gg/RqwcD3vG3k\"\u003e\u003cimg alt=\"Docs\" src=\"https://img.shields.io/badge/Discord-join-brightgreen\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"./README.md\"\u003e\u003cimg alt=\"Readme (English)\" src=\"https://img.shields.io/badge/English-2EA26A\"\u003e\u003c/a\u003e\n  \u003ca href=\"./i18n/README.de.md\"\u003e\u003cimg alt=\"Readme (Deutsch)\" src=\"https://img.shields.io/badge/Deutsch-2EA26A\"\u003e\u003c/a\u003e\n  \u003ca href=\"./i18n/README.fr.md\"\u003e\u003cimg alt=\"Readme (Français)\" src=\"https://img.shields.io/badge/Français-2EA26A\"\u003e\u003c/a\u003e\n  \u003ca href=\"./i18n/README.es.md\"\u003e\u003cimg alt=\"Readme (Español)\" src=\"https://img.shields.io/badge/Español-2EA26A\"\u003e\u003c/a\u003e\n  \u003ca href=\"./i18n/README.pt.md\"\u003e\u003cimg alt=\"Readme (Português)\" src=\"https://img.shields.io/badge/Português-2EA26A\"\u003e\u003c/a\u003e\n  \u003ca href=\"./i18n/README.zh-cn.md\"\u003e\u003cimg alt=\"Readme (简体中文)\" src=\"https://img.shields.io/badge/简体中文-2EA26A\"\u003e\u003c/a\u003e\n  \u003ca href=\"./i18n/README.zh-tw.md\"\u003e\u003cimg alt=\"Readme (繁體中文)\" src=\"https://img.shields.io/badge/繁體中文-2EA26A\"\u003e\u003c/a\u003e\n  \u003ca href=\"./i18n/README.jp.md\"\u003e\u003cimg alt=\"Readme (日本語)\" src=\"https://img.shields.io/badge/日本語-2EA26A\"\u003e\u003c/a\u003e\n  \u003ca href=\"./i18n/README.kr.md\"\u003e\u003cimg alt=\"Readme (한국어)\" src=\"https://img.shields.io/badge/한국어-2EA26A\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n[TaskingAI](https://www.tasking.ai) is a BaaS (Backend as a Service) platform for **LLM-based Agent Development and Deployment**. It unified the integration of hundreds of LLM models, and provides an intuitive user interface for managing your LLM application's functional modules, including tools, RAG systems, assistants, conversation history, and more.\n\n### Key Features\n\n1. **All-In-One LLM Platform**: Access hundreds of AI models with unified APIs.\n2. **Abundant enhancement**: Enhance LLM agent performance with hundreds of customizable built-in **tools** and advanced **Retrieval-Augmented Generation** (RAG) system\n3. **BaaS-Inspired Workflow**: Separate AI logic (server-side) from product development (client-side), offering a clear pathway from console-based prototyping to scalable solutions using RESTful APIs and client SDKs.\n4. **One-Click to Production**: Deploy your AI agents with a single click to production stage, and scale them with ease. Let TaskingAI handle the rest.\n5. **Asynchronous Efficiency**: Harness Python FastAPI's asynchronous features for high-performance, concurrent computation, enhancing the responsiveness and scalability of the applications.\n6. **Intuitive UI Console**: Simplifies project management and allows in-console workflow testing.\n\n\u003cp\u003e\n\u003cimg src=\"static/img/console.png\" alt=\"\"\u003e\n\u003c/p\u003e\n\n### Integrations\n\n**Models**: TaskingAI connects with hundreds of LLMs from various providers, including OpenAI, Anthropic, and more. We also allow users to integrate local host models through Ollama, LM Studio and Local AI.\n\n\u003cp\u003e\n\u003cimg src=\"./static/img/model_providers.png\" alt=\"\"\u003e\n\u003c/p\u003e\n\n**Plugins**: TaskingAI supports a wide range of built-in plugins to empower your AI agents, including Google search, website reader, stock market retrieval, and more. Users can also create custom tools to meet their specific needs.\n\n\u003cp\u003e\n\u003cimg src=\"./static/img/plugins.png\" alt=\"\"\u003e\n\u003c/p\u003e\n\n---\n\n## Why TaskingAI?\n\n### Problems with existing solutions 🙁\n\n**LangChain** is a tool framework for LLM application development, but it faces practical limitations:\n\n- **Statelessness**: Relies on client-side or external services for data management.\n- **Scalability Challenges**: Statelessness impacts consistent data handling across sessions.\n- **External Dependencies**: Depends on outside resources like model SDKs and vector storage.\n\n**OpenAI's Assistant API** excels in delivering GPTs-like functionalities but comes with its own constraints:\n\n- **Tied Functionalities**: Integrations like tools and retrievals are tied to each assistant, not suitable for multi-tenant applications.\n- **Proprietary Limitations**: Restricted to OpenAI models, unsuitable for diverse needs.\n- **Customization Limits**: Users cannot customize agent configuration such as memory and retrieval system.\n\n### How TaskingAI solves the problem 😃\n\n- **Supports both stateful and stateless usages**: Whether to keep track of and manage the message histories and agent conversation sessions, or just make stateless chat completion requests, TaskingAI has them both covered.\n- **Decoupled modular management**: Decoupled the management of tools, RAGs systems, language models from the agent. And allows free combination of these modules to build a powerful AI agent.\n- **Multi-tenant support**: TaskingAI supports fast deployment after development, and can be used in multi-tenant scenarios. No need to worry about the cloud services, just focus on the AI agent development.\n- **Unified API**: TaskingAI provides unified APIs for all the modules, including tools, RAGs systems, language models, and more. Super easy to manage and change the AI agent's configurations.\n\n## What Can You Build with TaskingAI?\n\n- [x] **Interactive Application Demos**\n- [x] **AI Agents for Enterprise Productivity**\n- [x] **Multi-Tenant AI-Native Applications for Business**\n\n---\n\nPlease give us a **FREE STAR 🌟** if you find it helpful 😇\n\n\u003cp\u003e\n\u003cimg src=\"static/img/star.gif\" alt=\"\"\u003e\n\u003c/p\u003e\n\n---\n\n## Quickstart with Docker\n\nA simple way to initiate self-hosted TaskingAI community edition is through [Docker](https://www.docker.com/).\n\n### Prerequisites\n\n- Docker and Docker Compose installed on your machine.\n- Git installed for cloning the repository.\n- Python environment (above Python 3.8) for running the client SDK.\n\n### Installation\n\nFirst, clone the TaskingAI (community edition) repository from GitHub.\n\n```bash\ngit clone https://github.com/taskingai/taskingai.git\ncd taskingai\n```\n\nInside the cloned repository, go to the docker directory.\n\n```bash\ncd docker\n```\n\n1. **Copy `.env.example` to `.env`**:\n\n   ```sh\n   cp .env.example .env\n   ```\n\n2. **Edit the `.env` file**:\n   Open the `.env` file in your favorite text editor and update the necessary configurations. Ensure all required environment variables are set correctly.\n\n3. **Start Docker Compose**:\n   Run the following command to start all services:\n   ```sh\n   docker-compose -p taskingai --env-file .env up -d\n   ```\n\nOnce the service is up, access the TaskingAI console through your browser with the URL http://localhost:8080. The default username and password are `admin` and `TaskingAI321`.\n\n### Upgrade\n\nIf you have already installed TaskingAI with a previous version and want to upgrade to the latest version, first update the repository.\n\n```bash\ngit pull origin master\n```\n\nThen stop the current docker service, upgrade to the latest version by pulling the latest image, and finally restart the service.\n\n```bash\ncd docker\ndocker-compose -p taskingai down\ndocker-compose -p taskingai pull\ndocker-compose -p taskingai --env-file .env up -d\n```\n\nDon't worry about data loss; your data will be automatically migrated to the latest version schema if needed.\n\n### TaskingAI UI Console\n\n[![TaskingAI Console Demo](https://img.youtube.com/vi/4A5uQoawETU/maxresdefault.jpg)](https://youtu.be/4A5uQoawETU)\n**_\u003cp style=\"text-align: center; font-size: small; \"\u003eClick the image above to view the TaskingAI Console Demo Video.\u003c/p\u003e_**\n\n### TaskingAI Client SDK\n\nOnce the console is up, you can programmatically interact with the TaskingAI server using the TaskingAI client SDK.\n\nEnsure you have Python 3.8 or above installed, and set up a virtual environment (optional but recommended).\nInstall the TaskingAI Python client SDK using pip.\n\n```bash\npip install taskingai\n```\n\nHere is a client code example:\n\n```python\nimport taskingai\n\ntaskingai.init(api_key='YOUR_API_KEY', host='http://localhost:8080')\n\n# Create a new assistant\nassistant = taskingai.assistant.create_assistant(\n    model_id=\"YOUR_MODEL_ID\",\n    memory=\"naive\",\n)\n\n# Create a new chat\nchat = taskingai.assistant.create_chat(\n    assistant_id=assistant.assistant_id,\n)\n\n# Send a user message\ntaskingai.assistant.create_message(\n    assistant_id=assistant.assistant_id,\n    chat_id=chat.chat_id,\n    text=\"Hello!\",\n)\n\n# generate assistant response\nassistant_message = taskingai.assistant.generate_message(\n    assistant_id=assistant.assistant_id,\n    chat_id=chat.chat_id,\n)\n\nprint(assistant_message)\n```\n\nNote that the `YOUR_API_KEY` and `YOUR_MODEL_ID` should be replaced with the actual API key and chat completion model ID you created in the console.\n\nYou can learn more in the [documentation](https://docs.tasking.ai/docs/guide/getting_started/self_hosting/overview).\n\n## Resources\n\n- [Documentation](https://docs.tasking.ai)\n- [API Reference](https://docs.tasking.ai/api)\n- [Contact Us](https://www.tasking.ai/contact-us)\n\n## Community and Contribution\n\nPlease see our [contribution guidelines](./CONTRIBUTING.md) for how to contribute to the project.\n\nAlso, we’re excited to announce that TaskingAI now has an official Discord community! 🎊\n\n[Join our Discord server](https://discord.gg/RqwcD3vG3k) to:\n\n    •\t💬 Engage in discussions about TaskingAI, share ideas, and provide feedback.\n    •\t📚 Get support, tips, and best practices from other users and our team.\n    •\t🚀 Stay updated on the latest news, updates, and feature releases.\n    •\t🤝 Network with like-minded individuals who are passionate about AI and task automation.\n\n## License and Code of Conduct\n\nTaskingAI is released under a specific [TaskingAI Open Source License](./LICENSE). By contributing to this project, you agree to abide by its terms.\n\n## Support and Contact\n\nFor support, please refer to our [documentation](https://docs.tasking.ai) or contact us at [support@tasking.ai](mailto:support@tasking.ai).\n","funding_links":[],"categories":["Python","AI Agent","A01_文本生成_文本对话","HarmonyOS","Learning","Agent Integration \u0026 Deployment Tools","ai","LLM Application / RAG","Repos"],"sub_categories":["Framework","大语言对话模型及数据","Windows Manager","Repositories","AI Agent Development"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTaskingAI%2FTaskingAI","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTaskingAI%2FTaskingAI","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTaskingAI%2FTaskingAI/lists"}