Qiumi provides AI-powered insights into the Indonesia–Australia economic landscape, covering policy, investment, and strategic decision-making. It is built using the Swift programming language (Hummingbird) and Svelte, powered by Llama 4 (Scout) on Vertex AI.
- AI-powered insights using Llama 4 (Scout) on Vertex AI
- Real-time analysis of Indonesia-Australia economic partnerships
- Industry sector collaboration insights
- Investment and policy analysis
- RESTful API endpoints
- CORS-enabled for web frontend integration
- Swift 6.2 or later
- macOS 14 or later
- Google Cloud account with Llama 4 API access
- gcloud CLI installed and authenticated
-
Clone the repository
git clone https://github.com/harmoniousmoss/qiumi.git cd qiumi -
Configure environment variables
Create a
.envfile in the project root:touch .env
Add your Google Cloud configuration to
.env:PROJECT_ID= REGION= ENDPOINT= LLAMA_MODEL=
Refer to Google Cloud Vertex AI Llama documentation for the appropriate values for your setup.
Note: The
.envfile is gitignored and will not be committed to the repository. -
Authenticate with Google Cloud
Make sure you have gcloud CLI installed and authenticated:
gcloud auth login gcloud config set project YOUR_PROJECT_IDThe application will automatically use your gcloud credentials to access the Llama 4 API.
Build and run the application:
swift build
swift runThe server will start on http://127.0.0.1:8080
You should see:
2025-11-06T16:52:02+0700 info Hummingbird: [HummingbirdCore] Server started and listening on 127.0.0.1:8080
Endpoint: POST /insights
Request Body:
{
"question": "How are Indonesia and Australia partnering in the mining industry sector?"
}Response:
{
"answer": "Indonesia and Australia have established significant partnerships in the mining sector..."
}Example using curl:
curl -X POST http://127.0.0.1:8080/insights -H "Content-Type: application/json" -d '{"question": "What are the key investment opportunities between Indonesia and Australia?"}'Important: Make sure the entire command is on one line, or if using line breaks with
\, ensure there are no line breaks inside the JSON string value.
- "How are Indonesia and Australia partnering in the mining industry sector?"
- "What are the main trade agreements between Indonesia and Australia?"
- "What investment opportunities exist in renewable energy between both countries?"
- "How do Indonesia and Australia collaborate on agricultural exports?"
- "What are the key strategic decisions affecting Indonesia-Australia economic relations?"
- Configuration: Environment variable loader for secure credential management
- LlamaService: HTTP client wrapper for Google Cloud Vertex AI Llama 4 API
- API Endpoints: RESTful endpoints with comprehensive error handling
- Logging: Detailed request/response logging for debugging
- Swift - Programming language
- Hummingbird - Web framework
- Llama 4 (Scout) - AI model via Google Cloud Vertex AI
- AsyncHTTPClient - HTTP client
- Svelte - Frontend framework (separate repository)
- The
.envfile containing sensitive credentials is excluded from version control - All API requests use OAuth 2.0 tokens via Google Cloud CLI
- Environment variables are loaded at runtime from
.envfile
When contributing, ensure:
- Never commit the
.envfile - Update
.env.examplewith any new configuration variables (without values) - Test API endpoints thoroughly before submitting changes
This project is built using the Hummingbird framework.