this is an AI agent used for HR management it uses LangGraph and MongoDB for generating and managing AI agents and conversational application using agentic Approach
- Utilizes LangGraph for managing agentic conversational flows in TypeScript
- Integrates with MongoDB Atlas for storing and retrieving conversation data
- Implements a RESTful API using Express.js for chat interactions
- Uses OpenAI's GPT model and Anthropic's API for generating responses
- Includes a tool for employee lookup using MongoDB Atlas vector search
- Clone this repository:
git clone https://github.com/Timosdev99/Agent.git
cd Agent
- Install the required dependencies:
npm install
- Set up your environment variables:
-
Create a
.env
file in the root directory -
Add your API keys and MongoDB URI:
OpenAI_API_KEY=your_openai_api_key_here ANTHROPIC_API_KEY=your_anthropic_api_key_here MONGO_DB_URL=your_mongodb_atlas_uri_here
- Run the seed script to generate and seed the database:
npm run seed
- Start the server:
npm run dev
- Use the following API endpoints:
- Start a new conversation:
curl -X POST -H "Content-Type: application/json" -d '{"message": "Your message here"}' http://localhost:3003/chat
- Continue an existing conversation:
curl -X POST -H "Content-Type: application/json" -d '{"message": "Your follow-up message"}' http://localhost:3003/chat/{threadId}
index.ts
: Entry point of the application, sets up the Express server and API routesagent.ts
: Defines the LangGraph agent, tools, and conversation flowseed-db.ts
: Script for generating and seeding synthetic employee data into MongoDB
- The seed script in
seed-db.ts
generates synthetic employee data and populates the MongoDB database. - The LangGraph agent is defined in
agent.ts
, including the conversation graph structure and tools. - MongoDB operations are integrated directly into the agent for storing and retrieving conversation data.
- The Express server in
index.ts
provides API endpoints for starting and continuing conversations. - User inputs are processed through the LangGraph agent, generating appropriate responses and updating the conversation state.
- Conversation data is persisted in MongoDB Atlas, allowing for continuity across sessions.