This is an AI-powered search application built with Svelte and the Vercel AI SDK, providing an efficient and customizable search experience. It uses Tavily, a powerful tool built for integrating Vercel AI SDK functionality, and is configured to work with Claude as the default AI model. The application is flexible and can also support other AI models with minimal adjustments.
This project delivers a fast, intelligent, and modern AI search solution that can be deployed on Vercel, leveraging scalable and serverless capabilities to handle various use cases.
Before setting up the project, ensure the following requirements are met:
git clone https://github.com/tguelcan/sengine
cd ai-search-app
After navigating to the project directory, install the required dependencies:
npm install
Duplicate the .env.example
file and rename it to .env
. Then configure your environment variables:
# Required API Key for Tavily
TVLY_API_KEY=<your-tavily-api-key>
# REDIS_URL is required for credit use if desired.
KV_URL=<your-redis-db-url>
# - AI MODELS
ANTHROPIC_API_KEY=<your-anthropic-key>
# OR
DEEPSEEK_API_KEY=<your-deepseek-key>
# OR other like openai...
Make sure to replace <your-tavily-api-key>
with your actual Tavily API key. Additional variables, if needed, are listed in the .env.example
file.
Start the development server locally:
npm run dev
The application will be available at: http://localhost:5173
To create a production-ready build of your application:
npm run build
You can preview the production build using:
npm run preview
The application uses environment variables to manage API keys and other sensitive information. Below is the required variable:
TVLY_API_KEY
: API key for accessing Tavily and the Vercel AI SDK.Ensure all required variables are properly configured in the .env
file before running or deploying the application.
Although Claude is the default model, this project supports other AI models via the Vercel AI SDK. To switch or add models, extend the integration in the src/lib
files as needed.
Contributions to the project are welcome! To contribute:
Fork the Repository on GitHub.
Create a feature branch:
git checkout -b feature/your-feature-name
Commit your changes and push to the branch.
Submit a pull request.
This project is licensed under the MIT License.
For any issues or inquiries, feel free to open an issue or contact the repository owner directly.