Welcome to the Spice AI take-home assessment! This assignment is designed for university candidates applying for full-time or intern positions. You'll build a simple Rust application leveraging Spice.ai Open Source Software (OSS). This is an opportunity to showcase your ability to learn and apply new concepts quickly.
Estimated Time to Complete: Less than 4 hours
Reward: Submissions that meet all criteria will receive a Spice AI swag pack!
Your task is to create a simple Rust application that utilizes Spice.ai OSS for data and AI-driven functionality. You'll use this GitHub template to start your project, and your final submission will be a GitHub repository based on this template containing all required components.
Your repository should include the following:
-
Rust Application
- A simple application built in Rust that demonstrates your ability to use Rust effectively.
- Incorporate Spice.ai OSS to enhance your application's functionality.
-
One or More
spicepod.yml
Files- Define your data connectors, embeddings, and models using
spicepod.yml
. - Ensure your Spicepods are well-structured and documented.
- Define your data connectors, embeddings, and models using
-
Documentation
- Provide clear documentation explaining:
- The purpose of your application.
- How to build and run it.
- Any dependencies or setup instructions.
- An explanation of your Spicepods.
- Any credentials required.
- Provide clear documentation explaining:
-
GitHub Issues for Project Management
- Use GitHub Issues to track your project's tasks and progress.
- Include meaningful commit messages linked to your issues.
-
Use this GitHub Template
- Use this repository template to create your repository.
-
Develop Your Application
- Implement your Rust application and Spicepods within the repository.
- Regularly commit your changes with descriptive messages.
-
Manage Your Project with GitHub Issues
- Create issues for tasks, features, and bugs.
- Close issues via commit messages (e.g.,
Fixes #1 - Implement data connector
).
-
Document Your Work
- Update the
README.md
in your repository with your application's documentation.
- Update the
-
Submit Your Repository
- Once complete, ensure your repository is public.
- Email the link to your recruiter or submit it as per the application instructions.
Your submission will be evaluated based on:
-
Use of Data Connectors, Embeddings, and Models
- Diversity and creativity in using Spice.ai features.
-
Code Quality
- Clean, efficient, and well-documented Rust code.
- Proper use of SQL if applicable.
-
Application Usefulness
- The practicality and originality of your application.
Boost your submission by:
-
Community Engagement
- Help others by answering questions in Discord.
-
Submitting High-Quality Bug Reports
- Report any issues you find to Spice.ai GitHub Issues with detailed information.
-
Spice.ai OSS Rust SDK
- Office SDK for Rust: github.com/spiceai/spice-rs
-
Spice.ai OSS Samples
- Explore example applications: spiceai/samples
-
Spice.ai OSS Quickstarts
- Get started quickly with these guides: spiceai/quickstarts
-
Spice.ai OSS Documentation
- Official docs: docs.spiceai.org
-
Rust Language Resources
- Rust documentation: doc.rust-lang.org
-
Discord Community
- Join our Discord server and ask and answer questions in the
#help
channel: Spice AI Discord
- Join our Discord server and ask and answer questions in the
Good luck!