temporal-ai-agent  by temporal-community

Demo of AI agent with multi-turn conversation inside Temporal workflow

created 7 months ago
422 stars

Top 70.8% on sourcepulse

GitHubView on GitHub
Project Summary

This project demonstrates a multi-turn conversational AI agent integrated within a Temporal workflow, designed to achieve specific goals by executing tools and gathering information. It targets developers and researchers interested in building reliable, stateful AI agents, offering a code-first approach with built-in observability and error handling.

How It Works

The agent operates on a core loop: LLM execution, tool execution, and external input elicitation, repeating until the goal is met. It leverages Temporal Workflows and Activities for durability and state management, ensuring reliable execution even through failures. The system supports tool calls requiring input and approval, and includes features like LLM-based input relevance checks and conversation history summarization for efficient prompt construction.

Quick Start & Requirements

  • Install: Follow the Setup guide.
  • Prerequisites: Temporal CLI, Temporal Server, and an LLM provider (e.g., OpenAI API key for ChatGPT 4o, or Ollama for local LLMs).
  • Demo Video: Multi-Agent Demo Video

Highlighted Details

  • Supports multiple LLMs: ChatGPT 4o, Claude, Gemini, Deepseek-V3, Grok, and local LLMs via Ollama.
  • Features a simple DSL for defining goals and tools.
  • Temporal's architecture provides reliability, state management, and observability.
  • Includes mechanisms for LLM input validation and conversation history summarization.

Maintenance & Community

This is a community project. Further details on community engagement or roadmap are not explicitly provided in the README.

Licensing & Compatibility

The README does not specify a license. Compatibility for commercial use or closed-source linking is not detailed.

Limitations & Caveats

The project is presented as a demo. For production, payload data storage (e.g., S3, noSQL) and garbage collection are recommended to manage workflow history limits. The current implementation uses a single workflow ID, limiting concurrent agent execution; using unique IDs is suggested for multiple agents. Tests are noted as desirable but not yet implemented.

Health Check
Last commit

3 days ago

Responsiveness

1 day

Pull Requests (30d)
3
Issues (30d)
1
Star History
156 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.