Skip to content

blaxel-templates/template-langgraph-ts

Repository files navigation

Blaxel LangGraph Agent

Blaxel

License: MIT Node.js 18+ LangGraph TypeScript

A template implementation of a conversational agent using LangGraph TypeScript and GPT-4. This agent demonstrates the power of LangGraph for building sophisticated workflow-based AI agents with tool integration, state management, and graph-based execution patterns with full TypeScript type safety.

📑 Table of Contents

✨ Features

  • Interactive conversational interface with workflow orchestration
  • Graph-based agent execution with state management
  • Tool integration support with conditional logic
  • Streaming responses for real-time interaction
  • Built on LangGraph TypeScript for sophisticated agent workflows
  • TypeScript support with full type safety and IDE integration
  • Conditional routing and decision-making capabilities
  • Easy deployment and integration with Blaxel platform

🚀 Quick Start

For those who want to get up and running quickly:

# Clone the repository
git clone https://github.com/blaxel-ai/template-langgraph-ts.git

# Navigate to the project directory
cd template-langgraph-ts

# Install dependencies
npm install

# Start the server
bl serve --hotreload

# In another terminal, test the agent
bl chat --local blaxel-agent

📋 Prerequisites

  • Node.js: 18.0 or later
  • NPM: Node package manager
  • Blaxel Platform Setup: Complete Blaxel setup by following the quickstart guide
    • Blaxel CLI: Ensure you have the Blaxel CLI installed. If not, install it globally:
      curl -fsSL https://raw.githubusercontent.com/blaxel-ai/toolkit/main/install.sh | BINDIR=/usr/local/bin sudo -E sh
    • Blaxel login: Login to Blaxel platform
      bl login YOUR-WORKSPACE

💻 Installation

Clone the repository and install dependencies:

git clone https://github.com/blaxel-ai/template-langgraph-ts.git
cd template-langgraph-ts
npm install

🔧 Usage

Running the Server Locally

Start the development server with hot reloading:

bl serve --hotreload

Note: This command starts the server and enables hot reload so that changes to the source code are automatically reflected.

Testing your agent

You can test your agent using the chat interface:

bl chat --local blaxel-agent

Or run it directly with specific input:

bl run agent blaxel-agent --local --data '{"input": "Plan and execute a research task about renewable energy"}'

Deploying to Blaxel

When you are ready to deploy your application:

bl deploy

This command uses your code and the configuration files under the .blaxel directory to deploy your application.

📁 Project Structure

  • src/index.ts - Application entry point
  • src/agent.ts - Core agent implementation with LangGraph integration
  • src/graph/ - Graph definition and workflow nodes
    • nodes.ts - Individual graph node implementations
    • edges.ts - Edge conditions and routing logic
    • state.ts - State management and typing
  • src/tools/ - Tool implementations and integrations
  • src/types/ - TypeScript type definitions
  • package.json - Node.js package configuration
  • tsconfig.json - TypeScript configuration
  • blaxel.toml - Blaxel deployment configuration

❓ Troubleshooting

Common Issues

  1. Blaxel Platform Issues:

    • Ensure you're logged in to your workspace: bl login MY-WORKSPACE
    • Verify models are available: bl get models
    • Check that functions exist: bl get functions
  2. Node.js Version Issues:

    • Make sure you have Node.js 18+
    • Try node --version to check your version
    • Update Node.js if needed
  3. Graph Compilation Errors:

    • Check node and edge definitions
    • Verify state type consistency
    • Review conditional edge logic
  4. TypeScript Compilation Errors:

    • Run npx tsc --noEmit to check for type errors
    • Ensure all graph state types are properly defined
    • Check node function signatures
  5. Workflow Execution Issues:

    • Monitor graph execution logs
    • Check for infinite loops in conditional edges
    • Verify tool permissions and access through Blaxel

For more help, please submit an issue on GitHub.

👥 Contributing

Contributions are welcome! Here's how you can contribute:

  1. Fork the repository
  2. Create a feature branch:
    git checkout -b feature/amazing-feature
  3. Commit your changes:
    git commit -m 'Add amazing feature'
  4. Push to the branch:
    git push origin feature/amazing-feature
  5. Submit a Pull Request

Please make sure to update tests as appropriate and follow the TypeScript code style of the project.

🆘 Support

If you need help with this template:

📄 License

This project is licensed under the MIT License. See the LICENSE file for more details.

About

A production-ready TypeScript template for building AI agents using LangGraph in Blaxel.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors