OpenAgriNet is part of Maharashtra's smart farming Digital Public Infrastructure (DPI) initiative. OAN powers MahaVistaar, an AI-driven agricultural assistant that brings expert farming knowledge to every farmer in simple language.
For more information about OpenAgriNet, visit: https://openagrinet.global/
- Location-based market prices for crops
- Current and upcoming weather information
- Nearest storage facility lookup
- Crop selection guidance by region
- Pest and disease management advice
- Best practices for specific crops
- Multi-language support (Marathi and English)
- 24/7 accessibility via mobile or computer
- Integration with trusted agricultural sources
- Location-specific personalized advice
- Continuous improvement based on farmer feedback
- Agricultural universities' Package of Practices (PoP)
- IMD (India Meteorological Department) weather data
- APMC (Agricultural Produce Market Committee) market prices
- Registered warehouse database
- Docker installed on your system
- Docker Compose installed on your system
Create a dedicated network:
docker network create oannetworkRun Redis Stack:
docker run -d --name redis-stack --network oannetwork \
-p 6379:6379 -p 8001:8001 redis/redis-stack:latestQuick setup:
For detailed setup instructions, system requirements, and troubleshooting, see docs/nominatim.md.
# Add Nominatim to your docker-compose.yml and start it
docker-compose up nominatim -d
# Monitor the import progress (takes 30-60+ minutes)
docker-compose logs -f nominatimRun Marqo search engine:
docker run --name marqo -p 8882:8882 \
-e MARQO_MAX_CONCURRENT_SEARCH=50 \
-e VESPA_POOL_SIZE=50 \
marqoai/marqo:latestStart the application:
docker compose up --build --force-recreate --detachStop the application:
docker compose down --remove-orphansView application logs:
docker logs -f oan_apphttp://localhost:8000
All endpoints require JWT authentication. Include the JWT token in the Authorization header:
Authorization: Bearer your_jwt_token
curl -X POST http://localhost:8000/transcribe \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_jwt_token" \
-d '{
"audio_content": "your_base64_encoded_audio",
"session_id": "optional_session_id"
}'curl -X POST http://localhost:8000/tts \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_jwt_token" \
-d '{
"text": "your text here",
"target_lang": "mr",
"session_id": "optional_session_id"
}'curl -X GET "http://localhost:8000/chat?query=your_question&session_id=optional_session_id&source_lang=mr&target_lang=mr&user_id=user123" \
-H "Authorization: Bearer your_jwt_token"curl -X GET "http://localhost:8000/suggestions?session_id=your_session_id&target_lang=mr" \
-H "Authorization: Bearer your_jwt_token"- Marathi (mr)
- English (en)
For detailed API documentation including request/response schemas, please see API_REFERENCE.md
Contribution guidelines will be added soon.