A Node.js application that provides enriched information about musical artists by combining data from web searches, Spotify API, and leveraging AI for verification and enhanced responses.
This tool allows users to:
- Input an artist's name
- Retrieve comprehensive information about the artist from multiple sources
- Get verified and accurate details through AI-powered identity verification
- Access a rich set of links and resources related to the artist
- Web search integration to find relevant artist information
- Web scraping to extract meaningful content
- Vector database storage for efficient information retrieval
- Spotify API integration for official artist data
- AI-powered identity verification to ensure accuracy
- Combined response generation using multiple data sources
- Node.js (v14 or higher)
- API keys for:
- Google Custom Search API
- OpenAI API (or alternative embedding provider)
- Spotify API
- OpenRouter API
- Clone the repository:
git clone https://github.com/yourusername/mnagentflow.git
cd mnagentflow
- Install dependencies:
npm install
- Set up environment variables:
Create a
.envfile in the root directory with the following variables:
GOOGLE_SEARCH_API_KEY=your_google_api_key
GOOGLE_SEARCH_ENGINE_ID=your_search_engine_id
OPENAI_API_KEY=your_openai_api_key
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
OPENROUTER_API_KEY=your_openrouter_api_key
VECTOR_DB_URI=your_vector_db_uri
Run the application in CLI mode:
npm start -- --artist "Artist Name"
Start the web server:
npm run server
Then access the API at http://localhost:3000/artist?name=Artist%20Name
mnagentflow/
├── config/ # Configuration files
├── src/
│ ├── api/ # API integrations (Google, Spotify, OpenAI, OpenRouter)
│ ├── db/ # Vector database integration
│ ├── scraper/ # Web scraping functionality
│ ├── services/ # Business logic services
│ ├── utils/ # Utility functions
│ ├── cli.js # CLI interface
│ └── server.js # Web server interface
├── .env # Environment variables (not tracked in git)
├── .gitignore # Git ignore file
├── package.json # Project metadata and dependencies
└── README.md # Project documentation
ISC